RequestTest.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. namespace AlibabaCloud\Client\Tests\LowerthanVersion7_2\Feature\Request;
  3. use PHPUnit\Framework\TestCase;
  4. use AlibabaCloud\Client\AlibabaCloud;
  5. use AlibabaCloud\Client\Exception\ServerException;
  6. use AlibabaCloud\Client\Exception\ClientException;
  7. use AlibabaCloud\Client\Tests\Mock\Services\CS\DescribeClusterServicesRequest;
  8. /**
  9. * Class RequestTest
  10. *
  11. * @package AlibabaCloud\Client\Tests\LowerthanVersion7_2\Feature\Request
  12. */
  13. class RequestTest extends TestCase
  14. {
  15. /**
  16. * @throws ClientException
  17. */
  18. public function testConstruct()
  19. {
  20. // Setup
  21. $request = new DescribeClusterServicesRequest();
  22. $clusterId = \time();
  23. $request->withClusterId($clusterId);
  24. // Test
  25. try {
  26. $request->connectTimeout(25)
  27. ->timeout(30)
  28. ->request();
  29. } catch (ServerException $e) {
  30. // Assert
  31. self::assertEquals('ErrorClusterNotFound', $e->getErrorCode());
  32. }
  33. }
  34. /**
  35. * @throws ClientException
  36. */
  37. public function testWithBearerTokenCredential()
  38. {
  39. // Setup
  40. $regionId = 'cn-hangzhou';
  41. $bearerToken = 'BEARER_TOKEN';
  42. AlibabaCloud::bearerTokenClient($bearerToken)
  43. ->name('BEARER_TOKEN')
  44. ->regionId($regionId);
  45. // Test
  46. try {
  47. (new DescribeClusterServicesRequest())
  48. ->client('BEARER_TOKEN')
  49. ->withClusterId(\time())
  50. ->connectTimeout(25)
  51. ->timeout(50)
  52. ->request();
  53. } catch (ServerException $e) {
  54. // Assert
  55. static::assertEquals('UnsupportedSignatureType', $e->getErrorCode());
  56. }
  57. }
  58. /**
  59. * @throws ClientException
  60. */
  61. public function testInvalidUrl()
  62. {
  63. // Setup
  64. $regionId = 'cn-hangzhou';
  65. $accessKeyId = \getenv('ACCESS_KEY_ID');
  66. $accessKeySecret = \getenv('ACCESS_KEY_SECRET');
  67. AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
  68. ->regionId($regionId)
  69. ->name(__METHOD__);
  70. // Test
  71. try {
  72. (new DescribeClusterServicesRequest())
  73. ->connectTimeout(25)
  74. ->timeout(30)
  75. ->client(__METHOD__)
  76. ->withClusterId(\time())
  77. ->request();
  78. } catch (ServerException $e) {
  79. // Assert
  80. self::assertEquals('ErrorClusterNotFound', $e->getErrorCode());
  81. }
  82. }
  83. /**
  84. * @throws ClientException
  85. */
  86. public function testROA()
  87. {
  88. // Setup
  89. $request = new DescribeClusterServicesRequest();
  90. $request->withClusterId(\time());
  91. // Test
  92. try {
  93. $request->connectTimeout(25)
  94. ->timeout(30)
  95. ->request();
  96. // Assert
  97. } catch (ServerException $exception) {
  98. // Assert
  99. static::assertEquals('ErrorClusterNotFound', $exception->getErrorCode());
  100. }
  101. }
  102. /**
  103. * @throws ClientException
  104. */
  105. public function testAccept()
  106. {
  107. // Setup
  108. $roa = AlibabaCloud::roa();
  109. $rpc = AlibabaCloud::rpc();
  110. // Test
  111. $roa->accept('accept');
  112. $rpc->accept('accept');
  113. // Assert
  114. self::assertEquals('accept', $roa->options['headers']['Accept']);
  115. self::assertEquals('accept', $rpc->options['headers']['Accept']);
  116. }
  117. /**
  118. * @throws ClientException
  119. */
  120. protected function setUp()
  121. {
  122. AlibabaCloud::accessKeyClient(
  123. \getenv('ACCESS_KEY_ID'),
  124. \getenv('ACCESS_KEY_SECRET')
  125. )->asDefaultClient()->regionId(\AlibabaCloud\Client\env('REGION_ID', 'cn-hangzhou'));
  126. }
  127. }