github.com/aliyun/credentials-go@v1.4.7/credentials/providers/static_ak_test.go (about) 1 package providers 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestStaticAKCredentialsProvider(t *testing.T) { 11 _, err := NewStaticAKCredentialsProviderBuilder(). 12 Build() 13 assert.EqualError(t, err, "the access key id is empty") 14 15 _, err = NewStaticAKCredentialsProviderBuilder(). 16 WithAccessKeyId("akid"). 17 Build() 18 assert.EqualError(t, err, "the access key secret is empty") 19 20 provider, err := NewStaticAKCredentialsProviderBuilder(). 21 WithAccessKeyId("accessKeyId"). 22 WithAccessKeySecret("accessKeySecret"). 23 Build() 24 assert.Nil(t, err) 25 assert.Equal(t, "static_ak", provider.GetProviderName()) 26 27 cred, err := provider.GetCredentials() 28 assert.Nil(t, err) 29 assert.Equal(t, "accessKeyId", cred.AccessKeyId) 30 assert.Equal(t, "accessKeySecret", cred.AccessKeySecret) 31 assert.Equal(t, "", cred.SecurityToken) 32 assert.Equal(t, "static_ak", cred.ProviderName) 33 } 34 35 func TestStaticAKCredentialsProviderWithEnv(t *testing.T) { 36 originAKID := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID") 37 originAKSecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET") 38 defer func() { 39 os.Setenv("ALIBABA_CLOUD_ACCESS_KEY_ID", originAKID) 40 os.Setenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET", originAKSecret) 41 }() 42 43 os.Setenv("ALIBABA_CLOUD_ACCESS_KEY_ID", "akid_from_env") 44 os.Setenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET", "aksecret_from_env") 45 provider, err := NewStaticAKCredentialsProviderBuilder(). 46 Build() 47 assert.Nil(t, err) 48 assert.Equal(t, "static_ak", provider.GetProviderName()) 49 50 cred, err := provider.GetCredentials() 51 assert.Nil(t, err) 52 assert.Equal(t, "akid_from_env", cred.AccessKeyId) 53 assert.Equal(t, "aksecret_from_env", cred.AccessKeySecret) 54 assert.Equal(t, "", cred.SecurityToken) 55 assert.Equal(t, "static_ak", cred.ProviderName) 56 }