|
|
|
<?php
|
|
|
|
|
|
|
|
namespace OSS\Tests;
|
|
|
|
|
|
|
|
use OSS\Result\GetBucketWormResult;
|
|
|
|
use OSS\Core\OssException;
|
|
|
|
use OSS\Http\ResponseCore;
|
|
|
|
|
|
|
|
class GetBucketWormResultTest extends \PHPUnit\Framework\TestCase
|
|
|
|
{
|
|
|
|
|
|
|
|
private $validXml = <<<BBBB
|
|
|
|
<?xml version="1.0" ?>
|
|
|
|
<WormConfiguration>
|
|
|
|
<WormId>ID1</WormId>
|
|
|
|
<State>Locked</State>
|
|
|
|
<RetentionPeriodInDays>1</RetentionPeriodInDays>
|
|
|
|
<CreationDate>2018-08-14T15:50:32</CreationDate>
|
|
|
|
</WormConfiguration>
|
|
|
|
BBBB;
|
|
|
|
|
|
|
|
private $validXml2 = <<<BBBB
|
|
|
|
<?xml version="1.0" ?>
|
|
|
|
<WormConfiguration>
|
|
|
|
<WormId>ID2</WormId>
|
|
|
|
<State>InProgress</State>
|
|
|
|
<RetentionPeriodInDays>10</RetentionPeriodInDays>
|
|
|
|
<CreationDate>2018-09-14T15:50:32</CreationDate>
|
|
|
|
</WormConfiguration>
|
|
|
|
BBBB;
|
|
|
|
|
|
|
|
private $invalidXml = <<<BBBB
|
|
|
|
<?xml version="1.0" ?>
|
|
|
|
<WormConfiguration>
|
|
|
|
</WormConfiguration>
|
|
|
|
BBBB;
|
|
|
|
|
|
|
|
public function testParseValidXml()
|
|
|
|
{
|
|
|
|
$response = new ResponseCore(array(), $this->validXml, 200);
|
|
|
|
$result = new GetBucketWormResult($response);
|
|
|
|
$this->assertTrue($result->isOK());
|
|
|
|
$this->assertNotNull($result->getData());
|
|
|
|
$this->assertNotNull($result->getRawResponse());
|
|
|
|
$config = $result->getData();
|
|
|
|
$this->assertEquals("ID1", $config->getWormId());
|
|
|
|
$this->assertEquals("Locked", $config->getState());
|
|
|
|
$this->assertEquals(1, $config->getDay());
|
|
|
|
$this->assertEquals("2018-08-14T15:50:32", $config->getCreationDate());
|
|
|
|
|
|
|
|
$response = new ResponseCore(array(), $this->validXml2, 200);
|
|
|
|
$result = new GetBucketWormResult($response);
|
|
|
|
$this->assertTrue($result->isOK());
|
|
|
|
$this->assertNotNull($result->getData());
|
|
|
|
$this->assertNotNull($result->getRawResponse());
|
|
|
|
$config = $result->getData();
|
|
|
|
$this->assertEquals("ID2", $config->getWormId());
|
|
|
|
$this->assertEquals("InProgress", $config->getState());
|
|
|
|
$this->assertEquals(10, $config->getDay());
|
|
|
|
$this->assertEquals("2018-09-14T15:50:32", $config->getCreationDate());
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testParseNullXml()
|
|
|
|
{
|
|
|
|
$response = new ResponseCore(array(), "", 200);
|
|
|
|
$result = new GetBucketWormResult($response);
|
|
|
|
$config = $result->getData();
|
|
|
|
$this->assertEquals("", $config->getWormId());
|
|
|
|
$this->assertEquals("", $config->getState());
|
|
|
|
$this->assertEquals(0, $config->getDay());
|
|
|
|
$this->assertEquals("", $config->getCreationDate());
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testParseInvalidXml()
|
|
|
|
{
|
|
|
|
$response = new ResponseCore(array(), $this->invalidXml, 200);
|
|
|
|
$result = new GetBucketWormResult($response);
|
|
|
|
$config = $result->getData();
|
|
|
|
$this->assertEquals("", $config->getWormId());
|
|
|
|
$this->assertEquals("", $config->getState());
|
|
|
|
$this->assertEquals(0, $config->getDay());
|
|
|
|
$this->assertEquals("", $config->getCreationDate());
|
|
|
|
}
|
|
|
|
}
|