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  }