RamRoleArnCredentialTest.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. namespace AlibabaCloud\Client\Tests\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\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. * @throws ClientException
  41. */
  42. public function testAccessKeyIdEmpty()
  43. {
  44. $this->expectException(ClientException::class);
  45. $this->expectExceptionMessage('AccessKey ID cannot be empty');
  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. * @throws ClientException
  56. */
  57. public function testAccessKeyIdFormat()
  58. {
  59. $this->expectException(ClientException::class);
  60. $this->expectExceptionMessage('AccessKey ID must be a string');
  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. * @throws ClientException
  71. */
  72. public function testAccessKeySecretEmpty()
  73. {
  74. $this->expectException(ClientException::class);
  75. $this->expectExceptionMessage('AccessKey Secret cannot be empty');
  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. * @throws ClientException
  86. */
  87. public function testAccessKeySecretFormat()
  88. {
  89. $this->expectException(ClientException::class);
  90. $this->expectExceptionMessage('AccessKey Secret must be a string');
  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. }