BucketCnameTest.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace OSS\Tests;
  3. require_once __DIR__ . '/Common.php';
  4. use OSS\OssClient;
  5. use OSS\Model\CnameConfig;
  6. use OSS\Core\OssException;
  7. class BucketCnameTest extends \PHPUnit_Framework_TestCase
  8. {
  9. private $bucketName;
  10. private $client;
  11. public function setUp()
  12. {
  13. $this->client = Common::getOssClient();
  14. $this->bucketName = 'php-sdk-test-bucket-' . strval(rand(0, 10));
  15. $this->client->createBucket($this->bucketName);
  16. }
  17. public function tearDown()
  18. {
  19. $this->client->deleteBucket($this->bucketName);
  20. }
  21. public function testBucketWithoutCname()
  22. {
  23. $cnameConfig = $this->client->getBucketCname($this->bucketName);
  24. $this->assertEquals(0, count($cnameConfig->getCnames()));
  25. }
  26. public function testAddCname()
  27. {
  28. $this->client->addBucketCname($this->bucketName, 'www.baidu.com');
  29. $this->client->addBucketCname($this->bucketName, 'www.qq.com');
  30. $ret = $this->client->getBucketCname($this->bucketName);
  31. $this->assertEquals(2, count($ret->getCnames()));
  32. // add another 2 cnames
  33. $this->client->addBucketCname($this->bucketName, 'www.sina.com.cn');
  34. $this->client->addBucketCname($this->bucketName, 'www.iqiyi.com');
  35. $ret = $this->client->getBucketCname($this->bucketName);
  36. $cnames = $ret->getCnames();
  37. $cnameList = array();
  38. foreach ($cnames as $c) {
  39. $cnameList[] = $c['Domain'];
  40. }
  41. $should = array(
  42. 'www.baidu.com',
  43. 'www.qq.com',
  44. 'www.sina.com.cn',
  45. 'www.iqiyi.com'
  46. );
  47. $this->assertEquals(4, count($cnames));
  48. $this->assertEquals(sort($should), sort($cnameList));
  49. }
  50. public function testDeleteCname()
  51. {
  52. $this->client->addBucketCname($this->bucketName, 'www.baidu.com');
  53. $this->client->addBucketCname($this->bucketName, 'www.qq.com');
  54. $ret = $this->client->getBucketCname($this->bucketName);
  55. $this->assertEquals(2, count($ret->getCnames()));
  56. // delete one cname
  57. $this->client->deleteBucketCname($this->bucketName, 'www.baidu.com');
  58. $ret = $this->client->getBucketCname($this->bucketName);
  59. $this->assertEquals(1, count($ret->getCnames()));
  60. $cnames = $ret->getCnames();
  61. $this->assertEquals('www.qq.com', $cnames[0]['Domain']);
  62. }
  63. }