85 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			85 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?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()); | ||
|  |     } | ||
|  | } |