...
1 package iam_test
2
3 import (
4 "os"
5 "path/filepath"
6 "testing"
7
8 "github.com/stretchr/testify/assert"
9
10 "edge-infra.dev/pkg/lib/build/bazel"
11 "edge-infra.dev/pkg/lib/gcp/iam"
12 )
13
14 func TestResolveGoogleAppCreds_Environment(t *testing.T) {
15 t.Setenv(iam.GoogleAppCredsEnvVar, "/not/a/real/dir")
16 result, err := iam.ResolveGoogleAppCreds()
17 assert.NoError(t, err)
18 assert.Equal(t, "/not/a/real/dir", result)
19 }
20
21 func TestResolveGoogleAppCreds_Homedir(t *testing.T) {
22 testdir, err := bazel.NewTestTmpDir("edge-infra-iam-test-*")
23 defer os.RemoveAll(testdir)
24 assert.NoError(t, err)
25
26 t.Setenv("HOME", testdir)
27
28 err = os.MkdirAll(filepath.Join(testdir, ".config/gcloud"), 0755)
29 assert.NoError(t, err)
30
31 defaultAppCredsPath := filepath.Join(testdir, ".config/gcloud/application_default_credentials.json")
32 _, err = os.Create(defaultAppCredsPath)
33 defer os.Remove(defaultAppCredsPath)
34 assert.NoError(t, err)
35
36 result, err := iam.ResolveGoogleAppCreds()
37 assert.NoError(t, err)
38 assert.Equal(t, defaultAppCredsPath, result)
39 }
40
View as plain text