|
|
|
<?php
|
|
|
|
|
|
|
|
namespace OSS\Tests;
|
|
|
|
|
|
|
|
use OSS\Core\OssException;
|
|
|
|
use OSS\Model\ServerSideEncryptionConfig;
|
|
|
|
|
|
|
|
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
|
|
|
|
|
|
|
|
|
|
|
class OssClientBucketEncryptionTest extends TestOssClientBase
|
|
|
|
{
|
|
|
|
public function testBucket()
|
|
|
|
{
|
|
|
|
$config = new ServerSideEncryptionConfig("AES256");
|
|
|
|
try {
|
|
|
|
$this->ossClient->putBucketEncryption($this->bucket, $config);
|
|
|
|
} catch (OssException $e) {
|
|
|
|
var_dump($e->getMessage());
|
|
|
|
$this->assertTrue(false);
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
Common::waitMetaSync();
|
|
|
|
$config2 = $this->ossClient->getBucketEncryption($this->bucket);
|
|
|
|
$this->assertEquals($config->serializeToXml(), $config2->serializeToXml());
|
|
|
|
$this->assertEquals("AES256", $config2->getSSEAlgorithm());
|
|
|
|
$this->assertEquals(null, $config2->getKMSMasterKeyID());
|
|
|
|
} catch (OssException $e) {
|
|
|
|
$this->assertTrue(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
$config = new ServerSideEncryptionConfig("KMS", "kms-id");
|
|
|
|
try {
|
|
|
|
$this->ossClient->putBucketEncryption($this->bucket, $config);
|
|
|
|
} catch (OssException $e) {
|
|
|
|
var_dump($e->getMessage());
|
|
|
|
$this->assertTrue(false);
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
Common::waitMetaSync();
|
|
|
|
$config2 = $this->ossClient->getBucketEncryption($this->bucket);
|
|
|
|
$this->assertEquals($config->serializeToXml(), $config2->serializeToXml());
|
|
|
|
$this->assertEquals("KMS", $config2->getSSEAlgorithm());
|
|
|
|
$this->assertEquals("kms-id", $config2->getKMSMasterKeyID());
|
|
|
|
} catch (OssException $e) {
|
|
|
|
$this->assertTrue(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
Common::waitMetaSync();
|
|
|
|
$this->ossClient->deleteBucketEncryption($this->bucket);
|
|
|
|
} catch (OssException $e) {
|
|
|
|
$this->assertTrue(false);
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
Common::waitMetaSync();
|
|
|
|
$config2 = $this->ossClient->getBucketEncryption($this->bucket);
|
|
|
|
$this->assertTrue(false);
|
|
|
|
} catch (OssException $e) {
|
|
|
|
$this->assertEquals("NoSuchServerSideEncryptionRule", $e->getErrorCode());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|