signer_test.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package auth
  2. import (
  3. "testing"
  4. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
  5. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/signers"
  6. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
  7. "github.com/stretchr/testify/assert"
  8. )
  9. func TestSigner_AccessKeySigner(t *testing.T) {
  10. c := credentials.NewAccessKeyCredential("accessKeyId", "accessKeySecret")
  11. signer, err := NewSignerWithCredential(c, nil)
  12. assert.Nil(t, err)
  13. _, ok := signer.(*signers.AccessKeySigner)
  14. assert.True(t, ok)
  15. }
  16. func TestSigner_StsTokenSigner(t *testing.T) {
  17. c := credentials.NewStsTokenCredential("accessKeyId", "accessKeySecret", "token")
  18. signer, err := NewSignerWithCredential(c, nil)
  19. assert.Nil(t, err)
  20. _, ok := signer.(*signers.StsTokenSigner)
  21. assert.True(t, ok)
  22. }
  23. func TestSigner_RamRoleArnSigner(t *testing.T) {
  24. c := credentials.NewRamRoleArnCredential("accessKeyId", "accessKeySecret", "roleArn", "roleSessionName", 3600)
  25. signer, err := NewSignerWithCredential(c, nil)
  26. assert.Nil(t, err)
  27. _, ok := signer.(*signers.RamRoleArnSigner)
  28. assert.True(t, ok)
  29. }
  30. func TestSigner_NewSignerKeyPair(t *testing.T) {
  31. c := credentials.NewRsaKeyPairCredential("publicKeyId", "privateKeyId", 3600)
  32. signer, err := NewSignerWithCredential(c, nil)
  33. assert.Nil(t, err)
  34. _, ok := signer.(*signers.SignerKeyPair)
  35. assert.True(t, ok)
  36. }
  37. func TestSigner_EcsRamRoleSigner(t *testing.T) {
  38. c := credentials.NewEcsRamRoleCredential("roleName")
  39. signer, err := NewSignerWithCredential(c, nil)
  40. assert.Nil(t, err)
  41. _, ok := signer.(*signers.EcsRamRoleSigner)
  42. assert.True(t, ok)
  43. }
  44. type OtherCredential struct {
  45. }
  46. func TestSigner_OtherSigner(t *testing.T) {
  47. c := &OtherCredential{}
  48. _, err := NewSignerWithCredential(c, nil)
  49. assert.NotNil(t, err)
  50. assert.Equal(t, "[SDK.UnsupportedCredential] Specified credential (type = *auth.OtherCredential) is not supported, please check", err.Error())
  51. }
  52. func Test_Sign_ROA(t *testing.T) {
  53. request := requests.NewCommonRequest()
  54. request.PathPattern = "/users/:user"
  55. request.TransToAcsRequest()
  56. c := credentials.NewAccessKeyCredential("accessKeyId", "accessKeySecret")
  57. signer := signers.NewAccessKeySigner(c)
  58. err := Sign(request, signer, "regionId")
  59. assert.Nil(t, err)
  60. }
  61. func Test_Sign_RPC(t *testing.T) {
  62. request := requests.NewCommonRequest()
  63. request.TransToAcsRequest()
  64. c := credentials.NewAccessKeyCredential("accessKeyId", "accessKeySecret")
  65. signer := signers.NewAccessKeySigner(c)
  66. err := Sign(request, signer, "regionId")
  67. assert.Nil(t, err)
  68. }