LogTraitTest.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace AlibabaCloud\Client\Tests\LowerthanVersion7_2\Unit\Traits;
  3. use Exception;
  4. use Monolog\Logger;
  5. use PHPUnit\Framework\TestCase;
  6. use Monolog\Handler\StreamHandler;
  7. use AlibabaCloud\Client\AlibabaCloud;
  8. use AlibabaCloud\Client\Exception\ClientException;
  9. use AlibabaCloud\Client\Exception\ServerException;
  10. use AlibabaCloud\Client\Tests\Mock\Services\CS\DescribeClusterServicesRequest;
  11. /**
  12. * Class LogTraitTest
  13. *
  14. * @package AlibabaCloud\Client\Tests\LowerthanVersion7_2\Unit\Client\Traits
  15. *
  16. * @coversDefaultClass \AlibabaCloud\Client\Traits\RequestTrait
  17. */
  18. class LogTraitTest extends TestCase
  19. {
  20. /**
  21. * @throws ClientException
  22. * @throws Exception
  23. */
  24. public function testLogger()
  25. {
  26. $logFile = __DIR__ . '/../../../log.log';
  27. $logger = new Logger('AlibabaCloud');
  28. $logger->pushHandler(new StreamHandler($logFile));
  29. AlibabaCloud::setLogger($logger);
  30. AlibabaCloud::setLogFormat('{start_time} "{method} {uri} HTTP/{version}" {code} {cost} {hostname} {pid} Custom field');
  31. // Setup
  32. $regionId = 'cn-hangzhou';
  33. $bearerToken = 'BEARER_TOKEN';
  34. AlibabaCloud::bearerTokenClient($bearerToken)
  35. ->name('BEARER_TOKEN')
  36. ->regionId($regionId);
  37. // Test
  38. try {
  39. (new DescribeClusterServicesRequest())
  40. ->client('BEARER_TOKEN')
  41. ->withClusterId(\time())
  42. ->connectTimeout(25)
  43. ->timeout(30)
  44. ->request();
  45. } catch (ServerException $e) {
  46. // Assert
  47. static::assertEquals('UnsupportedSignatureType', $e->getErrorCode());
  48. }
  49. $logContent = file_get_contents($logFile);
  50. self::assertNotFalse(strpos($logContent, 'Version=2015-12-15'));
  51. self::assertNotFalse(strpos($logContent, 'Custom field'));
  52. }
  53. }