StsCredentialTest.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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\StsCredential;
  6. /**
  7. * Class StsCredentialTest
  8. *
  9. * @package AlibabaCloud\Client\Tests\Unit\Credentials
  10. *
  11. * @coversDefaultClass \AlibabaCloud\Client\Credentials\StsCredential
  12. */
  13. class StsCredentialTest extends TestCase
  14. {
  15. /**
  16. * @throws ClientException
  17. */
  18. public function testConstruct()
  19. {
  20. // Setup
  21. $accessKeyId = 'accessKeyId';
  22. $accessKeySecret = 'accessKeySecret';
  23. $securityToken = 'securityToken';
  24. // Test
  25. $credential = new StsCredential($accessKeyId, $accessKeySecret, $securityToken);
  26. // Assert
  27. $this->assertEquals($accessKeyId, $credential->getAccessKeyId());
  28. $this->assertEquals($accessKeySecret, $credential->getAccessKeySecret());
  29. $this->assertEquals($securityToken, $credential->getSecurityToken());
  30. $this->assertEquals(
  31. "$accessKeyId#$accessKeySecret#$securityToken",
  32. (string)$credential
  33. );
  34. }
  35. /**
  36. * @throws ClientException
  37. */
  38. public function testAccessKeyIdEmpty()
  39. {
  40. $this->expectException(ClientException::class);
  41. $this->expectExceptionMessage('AccessKey ID cannot be empty');
  42. // Setup
  43. $accessKeyId = '';
  44. $accessKeySecret = 'accessKeySecret';
  45. $securityToken = 'securityToken';
  46. new StsCredential($accessKeyId, $accessKeySecret, $securityToken);
  47. }
  48. /**
  49. * @throws ClientException
  50. */
  51. public function testAccessKeyIdFormat()
  52. {
  53. $this->expectException(ClientException::class);
  54. $this->expectExceptionMessage('AccessKey ID must be a string');
  55. // Setup
  56. $accessKeyId = null;
  57. $accessKeySecret = 'accessKeySecret';
  58. $securityToken = 'securityToken';
  59. new StsCredential($accessKeyId, $accessKeySecret, $securityToken);
  60. }
  61. /**
  62. * @throws ClientException
  63. */
  64. public function testAccessKeySecretEmpty()
  65. {
  66. $this->expectException(ClientException::class);
  67. $this->expectExceptionMessage('AccessKey Secret cannot be empty');
  68. // Setup
  69. $accessKeyId = 'accessKeyId';
  70. $accessKeySecret = '';
  71. $securityToken = 'securityToken';
  72. new StsCredential($accessKeyId, $accessKeySecret, $securityToken);
  73. }
  74. /**
  75. * @throws ClientException
  76. */
  77. public function testAccessKeySecretFormat()
  78. {
  79. $this->expectException(ClientException::class);
  80. $this->expectExceptionMessage('AccessKey Secret must be a string');
  81. // Setup
  82. $accessKeyId = 'accessKeyId';
  83. $accessKeySecret = null;
  84. $securityToken = 'securityToken';
  85. new StsCredential($accessKeyId, $accessKeySecret, $securityToken);
  86. }
  87. }