96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | namespace OSS\Tests; | ||
|  | 
 | ||
|  | use OSS\Result\GetBucketEncryptionResult; | ||
|  | use OSS\Core\OssException; | ||
|  | use OSS\Http\ResponseCore; | ||
|  | 
 | ||
|  | class GetBucketEncryptionResultTest extends \PHPUnit\Framework\TestCase | ||
|  | { | ||
|  | 
 | ||
|  |     private $validXml = <<<BBBB | ||
|  |         <?xml version="1.0" ?>
 | ||
|  |         <ServerSideEncryptionRule> | ||
|  |           <ApplyServerSideEncryptionByDefault> | ||
|  |             <SSEAlgorithm>AES256</SSEAlgorithm> | ||
|  |             <KMSMasterKeyID></KMSMasterKeyID> | ||
|  |           </ApplyServerSideEncryptionByDefault> | ||
|  |         </ServerSideEncryptionRule> | ||
|  |         BBBB; | ||
|  | 
 | ||
|  |     private $validXml1 = <<<BBBB | ||
|  |         <?xml version="1.0" ?>
 | ||
|  |         <ServerSideEncryptionRule> | ||
|  |           <ApplyServerSideEncryptionByDefault> | ||
|  |             <SSEAlgorithm>KMS</SSEAlgorithm> | ||
|  |             <KMSMasterKeyID>kms-id</KMSMasterKeyID> | ||
|  |           </ApplyServerSideEncryptionByDefault> | ||
|  |         </ServerSideEncryptionRule> | ||
|  |         BBBB; | ||
|  | 
 | ||
|  |     private $validXml2 = <<<BBBB | ||
|  |         <?xml version="1.0" ?>
 | ||
|  |         <ServerSideEncryptionRule> | ||
|  |           <ApplyServerSideEncryptionByDefault> | ||
|  |             <SSEAlgorithm>KMS</SSEAlgorithm> | ||
|  |           </ApplyServerSideEncryptionByDefault> | ||
|  |         </ServerSideEncryptionRule> | ||
|  |         BBBB; | ||
|  | 
 | ||
|  |     private $invalidXml = <<<BBBB | ||
|  |         <?xml version="1.0" ?>
 | ||
|  |         <ServerSideEncryptionRule> | ||
|  |         </ServerSideEncryptionRule> | ||
|  |         BBBB; | ||
|  | 
 | ||
|  |     public function testParseValidXml() | ||
|  |     { | ||
|  |         $response = new ResponseCore(array(), $this->validXml, 200); | ||
|  |         $result = new GetBucketEncryptionResult($response); | ||
|  |         $this->assertTrue($result->isOK()); | ||
|  |         $this->assertNotNull($result->getData()); | ||
|  |         $this->assertNotNull($result->getRawResponse()); | ||
|  |         $config = $result->getData(); | ||
|  |         $this->assertEquals("AES256", $config->getSSEAlgorithm()); | ||
|  |         $this->assertEquals("", $config->getKMSMasterKeyID()); | ||
|  | 
 | ||
|  | 
 | ||
|  |         $response = new ResponseCore(array(), $this->validXml1, 200); | ||
|  |         $result = new GetBucketEncryptionResult($response); | ||
|  |         $this->assertTrue($result->isOK()); | ||
|  |         $this->assertNotNull($result->getData()); | ||
|  |         $this->assertNotNull($result->getRawResponse()); | ||
|  |         $config = $result->getData(); | ||
|  |         $this->assertEquals("KMS", $config->getSSEAlgorithm()); | ||
|  |         $this->assertEquals("kms-id", $config->getKMSMasterKeyID()); | ||
|  | 
 | ||
|  |         $response = new ResponseCore(array(), $this->validXml2, 200); | ||
|  |         $result = new GetBucketEncryptionResult($response); | ||
|  |         $this->assertTrue($result->isOK()); | ||
|  |         $this->assertNotNull($result->getData()); | ||
|  |         $this->assertNotNull($result->getRawResponse()); | ||
|  |         $config = $result->getData(); | ||
|  |         $this->assertEquals("KMS", $config->getSSEAlgorithm()); | ||
|  |         $this->assertEquals(null, $config->getKMSMasterKeyID()); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testParseNullXml() | ||
|  |     { | ||
|  |         $response = new ResponseCore(array(), "", 200); | ||
|  |         $result = new GetBucketEncryptionResult($response); | ||
|  |         $config = $result->getData(); | ||
|  |         $this->assertEquals(null, $config->getSSEAlgorithm()); | ||
|  |         $this->assertEquals(null, $config->getKMSMasterKeyID()); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testParseInvalidXml() | ||
|  |     { | ||
|  |         $response = new ResponseCore(array(), $this->invalidXml, 200); | ||
|  |         $result = new GetBucketEncryptionResult($response); | ||
|  |         $config = $result->getData(); | ||
|  |         $this->assertEquals(null, $config->getSSEAlgorithm()); | ||
|  |         $this->assertEquals(null, $config->getKMSMasterKeyID()); | ||
|  |     } | ||
|  | } |