env_test.go 893 B

123456789101112131415161718192021222324252627282930
  1. package provider_test
  2. import (
  3. "os"
  4. "testing"
  5. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
  6. "github.com/stretchr/testify/assert"
  7. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
  8. )
  9. func TestEnvResolve(t *testing.T) {
  10. p := provider.NewEnvProvider()
  11. assert.Equal(t, &provider.EnvProvider{}, p)
  12. c, err := p.Resolve()
  13. assert.Nil(t, c)
  14. assert.Nil(t, err)
  15. os.Setenv(provider.ENVAccessKeyID, "")
  16. os.Setenv(provider.ENVAccessKeySecret, "")
  17. c, err = p.Resolve()
  18. assert.Nil(t, c)
  19. assert.EqualError(t, err, "Environmental variable (ALIBABACLOUD_ACCESS_KEY_ID or ALIBABACLOUD_ACCESS_KEY_SECRET) is empty")
  20. os.Setenv(provider.ENVAccessKeyID, "AccessKeyId")
  21. os.Setenv(provider.ENVAccessKeySecret, "AccessKeySecret")
  22. c, err = p.Resolve()
  23. assert.Nil(t, err)
  24. assert.Equal(t, &credentials.AccessKeyCredential{"AccessKeyId", "AccessKeySecret"}, c)
  25. }