| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package provider_test
- import (
- "os"
- "testing"
- "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
- "github.com/stretchr/testify/assert"
- "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
- )
- var inistr = `
- [default]
- enable = true
- type = access_key
- access_key_id = foo
- access_key_secret = bar
-
- [client1]
- type = ecs_ram_role
- role_name = EcsRamRoleTest
- [client2]
- type = ram_role_arn
- access_key_id = foo
- access_key_secret = bar
- role_arn = role_arn
- role_session_name = session_name
- [client3]
- type = bearer_token
- bearer_token = bearer_token
- [client4]
- type = rsa_key_pair
- public_key_id = publicKeyId
- private_key_file = ./pk.pem
- `
- var privatekey = `this is privatekey`
- func TestProfileProvider(t *testing.T) {
- p := provider.NewProfileProvider()
- value, ok := p.(*provider.ProfileProvider)
- assert.True(t, ok)
- assert.Equal(t, value.Profile, "default")
- p = provider.NewProfileProvider("first")
- value, ok = p.(*provider.ProfileProvider)
- assert.True(t, ok)
- assert.Equal(t, value.Profile, "first")
- c, err := p.Resolve()
- assert.Nil(t, c)
- assert.Nil(t, err)
- os.Setenv(provider.ENVCredentialFile, "./credentials")
- file, err := os.Create("./credentials")
- assert.Nil(t, err)
- file.WriteString(inistr)
- file.Close()
- defer os.Remove("./credentials")
- p = provider.NewProfileProvider()
- c, err = p.Resolve()
- assert.Equal(t, credentials.NewAccessKeyCredential("foo", "bar"), c)
- assert.Nil(t, err)
- p = provider.NewProfileProvider("client1")
- c, err = p.Resolve()
- assert.Equal(t, credentials.NewEcsRamRoleCredential("EcsRamRoleTest"), c)
- assert.Nil(t, err)
- p = provider.NewProfileProvider("client2")
- c, err = p.Resolve()
- assert.Equal(t, credentials.NewRamRoleArnCredential("foo", "bar", "role_arn", "session_name", 3600), c)
- assert.Nil(t, err)
- file, err = os.Create("./pk.pem")
- assert.Nil(t, err)
- file.WriteString(privatekey)
- file.Close()
- p = provider.NewProfileProvider("client4")
- c, err = p.Resolve()
- assert.Equal(t, credentials.NewRsaKeyPairCredential("", "publicKeyId", 3600), c)
- assert.Nil(t, err)
- defer os.Remove(`./pk.pem`)
- // p = provider.NewProfileProvider("client3")
- // c, err = p.Resolve()
- // assert.Equal(t, credentials.NewBearerCredential("bearer_token"), c)
- // assert.Nil(t, err)
- }
|