OssClientBucketPolicyTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace OSS\Tests;
  3. use OSS\Core\OssException;
  4. require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
  5. class OssClientBucketPolicyTest extends TestOssClientBase
  6. {
  7. public function testBucket()
  8. {
  9. $policy_str = <<< BBBB
  10. {
  11. "Version": "1",
  12. "Statement": [
  13. {
  14. "Action": [
  15. "oss:PutObject",
  16. "oss:GetObject"
  17. ],
  18. "Effect": "Deny",
  19. "Principal": [
  20. "1234567890"
  21. ],
  22. "Resource": [
  23. "acs:oss:*:1234567890:*/*"
  24. ]
  25. }
  26. ]
  27. }
  28. BBBB;
  29. try {
  30. $this->ossClient->deleteBucketPolicy($this->bucket);
  31. $policy = $this->ossClient->getBucketPolicy($this->bucket);
  32. $this->assertTrue(false);
  33. } catch (OssException $e) {
  34. $this->assertTrue(true);
  35. $this->assertEquals("NoSuchBucketPolicy", $e->getErrorCode());
  36. }
  37. try {
  38. $this->ossClient->putBucketPolicy($this->bucket, $policy_str);
  39. $policy = $this->ossClient->getBucketPolicy($this->bucket);
  40. $data1 = json_decode($policy_str, true);
  41. $data2 = json_decode($policy, true);
  42. $this->assertEquals($data1, $data2);
  43. $this->ossClient->deleteBucketPolicy($this->bucket);
  44. } catch (OssException $e) {
  45. $this->assertTrue(false);
  46. }
  47. }
  48. }