...

Source file src/edge-infra.dev/pkg/lib/gcp/iam/credentials_test.go

Documentation: edge-infra.dev/pkg/lib/gcp/iam

     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  	// Create Gcloud directory
    28  	err = os.MkdirAll(filepath.Join(testdir, ".config/gcloud"), 0755)
    29  	assert.NoError(t, err)
    30  	// Touch empty file so GetGoogleAppCreds finds it
    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  	// test
    36  	result, err := iam.ResolveGoogleAppCreds()
    37  	assert.NoError(t, err)
    38  	assert.Equal(t, defaultAppCredsPath, result)
    39  }
    40  

View as plain text