OssClientForcePathStyleTest.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace OSS\Tests;
  3. use OSS\Core\OssException;
  4. use OSS\Credentials\StaticCredentialsProvider;
  5. use OSS\Model\LifecycleConfig;
  6. use OSS\Model\LifecycleRule;
  7. use OSS\Model\LifecycleAction;
  8. use OSS\OssClient;
  9. require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
  10. class OssClientForcePathStyleTest extends TestOssClientBase
  11. {
  12. public function testForcePathStyle()
  13. {
  14. $config = array(
  15. 'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4,
  16. 'hostType' => OssClient::OSS_HOST_TYPE_PATH_STYLE,
  17. );
  18. $this->ossClient = Common::getOssClient($config);
  19. try {
  20. $this->ossClient->getBucketInfo($this->bucket);
  21. } catch (OssException $e) {
  22. $this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
  23. $this->assertTrue(true);
  24. }
  25. try {
  26. $object = "oss-php-sdk-test/upload-test-object-name.txt";
  27. $this->ossClient->putObject($this->bucket, $object, 'hi oss');
  28. } catch (OssException $e) {
  29. $this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
  30. $this->assertTrue(true);
  31. }
  32. try {
  33. $endpoint = Common::getEndpoint();
  34. $endpoint = str_replace(array('http://', 'https://'), '', $endpoint);
  35. $strUrl = $this->bucket . '.' . $endpoint . "/" . $object;
  36. $signUrl = $this->ossClient->signUrl($this->bucket, $object, 3600);
  37. $this->assertTrue(strpos($signUrl, $strUrl) !== false);
  38. } catch (OssException $e) {
  39. $this->assertFalse(true);
  40. }
  41. }
  42. }