1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace OSS\Tests;
- use OSS\Model\CnameConfig;
- use OSS\Core\OssException;
- class CnameConfigTest extends \PHPUnit_Framework_TestCase
- {
- private $xml1 = <<<BBBB
- <?xml version="1.0" encoding="utf-8"?>
- <BucketCnameConfiguration>
- <Cname>
- <Domain>www.foo.com</Domain>
- <Status>enabled</Status>
- <LastModified>20150101</LastModified>
- </Cname>
- <Cname>
- <Domain>bar.com</Domain>
- <Status>disabled</Status>
- <LastModified>20160101</LastModified>
- </Cname>
- </BucketCnameConfiguration>
- BBBB;
- public function testFromXml()
- {
- $cnameConfig = new CnameConfig();
- $cnameConfig->parseFromXml($this->xml1);
- $cnames = $cnameConfig->getCnames();
- $this->assertEquals(2, count($cnames));
- $this->assertEquals('www.foo.com', $cnames[0]['Domain']);
- $this->assertEquals('enabled', $cnames[0]['Status']);
- $this->assertEquals('20150101', $cnames[0]['LastModified']);
- $this->assertEquals('bar.com', $cnames[1]['Domain']);
- $this->assertEquals('disabled', $cnames[1]['Status']);
- $this->assertEquals('20160101', $cnames[1]['LastModified']);
- }
- public function testToXml()
- {
- $cnameConfig = new CnameConfig();
- $cnameConfig->addCname('www.foo.com');
- $cnameConfig->addCname('bar.com');
- $xml = $cnameConfig->serializeToXml();
- $comp = new CnameConfig();
- $comp->parseFromXml($xml);
- $cnames1 = $cnameConfig->getCnames();
- $cnames2 = $comp->getCnames();
- $this->assertEquals(count($cnames1), count($cnames2));
- $this->assertEquals(count($cnames1[0]), count($cnames2[0]));
- $this->assertEquals(1, count($cnames1[0]));
- $this->assertEquals($cnames1[0]['Domain'], $cnames2[0]['Domain']);
- }
- public function testCnameNumberLimit()
- {
- $cnameConfig = new CnameConfig();
- for ($i = 0; $i < CnameConfig::OSS_MAX_RULES; $i += 1) {
- $cnameConfig->addCname(strval($i) . '.foo.com');
- }
- try {
- $cnameConfig->addCname('www.foo.com');
- $this->assertFalse(true);
- } catch (OssException $e) {
- $this->assertEquals(
- $e->getMessage(),
- "num of cname in the config exceeds self::OSS_MAX_RULES: " . strval(CnameConfig::OSS_MAX_RULES));
- }
- }
- }
|