RamRoleArnCredentialTest.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. namespace AlibabaCloud\Client\Tests\LowerthanVersion7_2\Unit\Credentials;
  3. use PHPUnit\Framework\TestCase;
  4. use AlibabaCloud\Client\Exception\ClientException;
  5. use AlibabaCloud\Client\Credentials\RamRoleArnCredential;
  6. /**
  7. * Class RamRoleArnCredentialTest
  8. *
  9. * @package AlibabaCloud\Client\Tests\LowerthanVersion7_2\Unit\Credentials
  10. *
  11. * @coversDefaultClass \AlibabaCloud\Client\Credentials\RamRoleArnCredential
  12. */
  13. class RamRoleArnCredentialTest extends TestCase
  14. {
  15. /**
  16. * @throws ClientException
  17. */
  18. public function testConstruct()
  19. {
  20. // Setup
  21. $accessKeyId = 'access_key_id';
  22. $accessKeySecret = 'access_key_secret';
  23. $arn = 'role_arn';
  24. $sessionName = 'role_session_name';
  25. $policy = '';
  26. // Test
  27. $credential = new RamRoleArnCredential($accessKeyId, $accessKeySecret, $arn, $sessionName);
  28. // Assert
  29. $this->assertEquals($accessKeyId, $credential->getAccessKeyId());
  30. $this->assertEquals($accessKeySecret, $credential->getAccessKeySecret());
  31. $this->assertEquals($arn, $credential->getRoleArn());
  32. $this->assertEquals($sessionName, $credential->getRoleSessionName());
  33. $this->assertEquals($policy, $credential->getPolicy());
  34. $this->assertEquals(
  35. "$accessKeyId#$accessKeySecret#$arn#$sessionName",
  36. (string)$credential
  37. );
  38. }
  39. /**
  40. * @expectedException \AlibabaCloud\Client\Exception\ClientException
  41. * @expectedExceptionMessage AccessKey ID cannot be empty
  42. * @throws ClientException
  43. */
  44. public function testAccessKeyIdEmpty()
  45. {
  46. // Setup
  47. $accessKeyId = '';
  48. $accessKeySecret = 'access_key_secret';
  49. $arn = 'role_arn';
  50. $sessionName = 'role_session_name';
  51. // Test
  52. new RamRoleArnCredential($accessKeyId, $accessKeySecret, $arn, $sessionName);
  53. }
  54. /**
  55. * @expectedException \AlibabaCloud\Client\Exception\ClientException
  56. * @expectedExceptionMessage AccessKey ID must be a string
  57. * @throws ClientException
  58. */
  59. public function testAccessKeyIdFormat()
  60. {
  61. // Setup
  62. $accessKeyId = null;
  63. $accessKeySecret = 'access_key_secret';
  64. $arn = 'role_arn';
  65. $sessionName = 'role_session_name';
  66. // Test
  67. new RamRoleArnCredential($accessKeyId, $accessKeySecret, $arn, $sessionName);
  68. }
  69. /**
  70. * @expectedException \AlibabaCloud\Client\Exception\ClientException
  71. * @expectedExceptionMessage AccessKey Secret cannot be empty
  72. * @throws ClientException
  73. */
  74. public function testAccessKeySecretEmpty()
  75. {
  76. // Setup
  77. $accessKeyId = 'access_key_id';
  78. $accessKeySecret = '';
  79. $arn = 'role_arn';
  80. $sessionName = 'role_session_name';
  81. // Test
  82. new RamRoleArnCredential($accessKeyId, $accessKeySecret, $arn, $sessionName);
  83. }
  84. /**
  85. * @expectedException \AlibabaCloud\Client\Exception\ClientException
  86. * @expectedExceptionMessage AccessKey Secret must be a string
  87. * @throws ClientException
  88. */
  89. public function testAccessKeySecretFormat()
  90. {
  91. // Setup
  92. $accessKeyId = 'access_key_id';
  93. $accessKeySecret = null;
  94. $arn = 'role_arn';
  95. $sessionName = 'role_session_name';
  96. // Test
  97. new RamRoleArnCredential($accessKeyId, $accessKeySecret, $arn, $sessionName);
  98. }
  99. }