96 lines
3.3 KiB
PHP
Executable File
96 lines
3.3 KiB
PHP
Executable File
<?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());
|
|
}
|
|
}
|