...

Source file src/github.com/aliyun/credentials-go/credentials/env_provider_test.go

Documentation: github.com/aliyun/credentials-go/credentials

     1  package credentials
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/alibabacloud-go/tea/tea"
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestEnvresolve(t *testing.T) {
    12  	p := newEnvProvider()
    13  	assert.Equal(t, &envProvider{}, p)
    14  	originAccessKeyIdNew := os.Getenv(EnvVarAccessKeyIdNew)
    15  	originAccessKeyId := os.Getenv(EnvVarAccessKeyId)
    16  	originAccessKeySecret := os.Getenv(EnvVarAccessKeySecret)
    17  	os.Setenv(EnvVarAccessKeyId, "")
    18  	os.Setenv(EnvVarAccessKeyIdNew, "")
    19  	os.Setenv(EnvVarAccessKeySecret, "")
    20  	defer func() {
    21  		os.Setenv(EnvVarAccessKeyIdNew, originAccessKeyIdNew)
    22  		os.Setenv(EnvVarAccessKeyId, originAccessKeyId)
    23  		os.Setenv(EnvVarAccessKeySecret, originAccessKeySecret)
    24  	}()
    25  	c, err := p.resolve()
    26  	assert.Nil(t, c)
    27  	assert.EqualError(t, err, "ALIBABA_CLOUD_ACCESS_KEY_ID or ALIBABA_CLOUD_ACCESS_KEY_Id cannot be empty")
    28  
    29  	os.Setenv(EnvVarAccessKeyIdNew, "")
    30  	os.Setenv(EnvVarAccessKeyId, "")
    31  	c, err = p.resolve()
    32  	assert.Nil(t, c)
    33  	assert.EqualError(t, err, "ALIBABA_CLOUD_ACCESS_KEY_ID or ALIBABA_CLOUD_ACCESS_KEY_Id cannot be empty")
    34  
    35  	os.Setenv(EnvVarAccessKeyIdNew, "")
    36  	os.Setenv(EnvVarAccessKeyId, "AccessKeyId")
    37  	c, err = p.resolve()
    38  	assert.Nil(t, c)
    39  	assert.EqualError(t, err, "ALIBABA_CLOUD_ACCESS_KEY_SECRET cannot be empty")
    40  	os.Setenv(EnvVarAccessKeySecret, "AccessKeySecret")
    41  	c, err = p.resolve()
    42  	assert.Nil(t, err)
    43  	assert.Equal(t, "access_key", tea.StringValue(c.Type))
    44  	assert.Equal(t, "AccessKeyId", tea.StringValue(c.AccessKeyId))
    45  	assert.Equal(t, "AccessKeySecret", tea.StringValue(c.AccessKeySecret))
    46  
    47  	os.Setenv(EnvVarAccessKeyId, "AccessKeyId")
    48  	os.Setenv(EnvVarAccessKeyIdNew, "AccessKeyIdNew")
    49  	os.Setenv(EnvVarAccessKeySecret, "AccessKeySecret")
    50  	c, err = p.resolve()
    51  	assert.Nil(t, err)
    52  	assert.Equal(t, "access_key", tea.StringValue(c.Type))
    53  	assert.Equal(t, "AccessKeyIdNew", tea.StringValue(c.AccessKeyId))
    54  	assert.Equal(t, "AccessKeySecret", tea.StringValue(c.AccessKeySecret))
    55  }
    56  

View as plain text