func Setup(t *testing.T) *storage.Client { if testProject == "" || testBucket == "" { t.Skip("TESTPROJECT, and TESTBUCKET EnvVars must be set to perform integration test") } gcsctx := &cloudstorage.CloudStoreContext{ LogggingContext: "testing-config", TokenSource: cloudstorage.GCEDefaultOAuthToken, Project: testProject, Bucket: testBucket, } // Create http client with Google context auth googleClient, err := cloudstorage.NewGoogleClient(gcsctx) if err != nil { t.Errorf("Failed to create Google Client: %v\n", err) } gsc, err := storage.NewClient(context.Background(), option.WithHTTPClient(googleClient.Client())) if err != nil { t.Errorf("Error creating Google cloud storage client. project:%s gs://%s/ err:%v\n", gcsctx.Project, gcsctx.Bucket, err) } if gsc == nil { t.Errorf("storage Client returned is nil!") } return gsc }
func GCS(projectid string) cloudstorage.GoogleOAuthClient { onGce := metadata.OnGCE() gcsctx := &cloudstorage.CloudStoreContext{ LogggingContext: "secure-config", TokenSource: cloudstorage.GCEDefaultOAuthToken, Project: projectid, Bucket: "neh", } if onGce { gcsctx.TokenSource = cloudstorage.GCEMetaKeySource } // Create http client with Google context auth googleClient, err := cloudstorage.NewGoogleClient(gcsctx) if err != nil { log.Errorf("failed to create google storage Client: %v", err) os.Exit(1) } return googleClient }