first commit
This commit is contained in:
843
pgserver/third_party/cos/tests/CosClientBucketTest.php
vendored
Normal file
843
pgserver/third_party/cos/tests/CosClientBucketTest.php
vendored
Normal file
@@ -0,0 +1,843 @@
|
||||
<?php
|
||||
|
||||
namespace Qcloud\Cos\Tests;
|
||||
|
||||
use Qcloud\Cos\Exception\ServiceResponseException;
|
||||
|
||||
class CosClientBucketTest extends TestCosClientBase {
|
||||
|
||||
private $bucket2;
|
||||
private $prBucket;
|
||||
private $hyphenBucket;
|
||||
private $doubleHyphenBucket;
|
||||
private $uin;
|
||||
|
||||
/**********************************
|
||||
* TestBucket
|
||||
**********************************/
|
||||
|
||||
/*
|
||||
* get Service
|
||||
* 200
|
||||
*/
|
||||
public function testGetService()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->ListBuckets();
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket,bucket已经存在
|
||||
* BucketAlreadyOwnedByYou
|
||||
* 409
|
||||
*/
|
||||
public function testCreateExistingBucket()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->createBucket(['Bucket' => $this->bucket]);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'BucketAlreadyOwnedByYou' && $e->getStatusCode() === 409);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* put bucket,bucket名称非法
|
||||
* InvalidBucketName
|
||||
* 400
|
||||
*/
|
||||
public function testCreateInvalidBucket()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->createBucket(array('Bucket' => "qwe_123".$this->bucket));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'InvalidBucketName' && $e->getStatusCode() === 400);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket,设置bucket公共权限为private
|
||||
* 200
|
||||
*/
|
||||
public function testCreatePrivateBucket()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->createBucket(
|
||||
array(
|
||||
'Bucket' => $this->bucket2,
|
||||
'ACL'=>'private'
|
||||
));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket,设置bucket公共权限为public-read
|
||||
* 200
|
||||
*/
|
||||
public function testCreatePublicReadBucket()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->createBucket(
|
||||
array(
|
||||
'Bucket' => $this->prBucket ,
|
||||
'ACL'=>'public-read'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
print($e);
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket,公共权限非法
|
||||
* InvalidArgument
|
||||
* 400
|
||||
*/
|
||||
public function testCreateInvalidACLBucket()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->createBucket(
|
||||
array(
|
||||
'Bucket' => $this->bucket2,
|
||||
'ACL'=>'public'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'InvalidArgument' && $e->getStatusCode() === 400);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket公共权限为private
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclPrivate()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'ACL'=>'private'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket公共权限为public-read
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclPublicRead()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'ACL'=>'public-read'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,公共权限非法
|
||||
* InvalidArgument
|
||||
* 400
|
||||
*/
|
||||
public function testPutBucketAclInvalid()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'ACL'=>'public'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'InvalidArgument' && $e->getStatusCode() === 400);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限为grant-read
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclReadToUser()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantRead' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"'
|
||||
// 'GrantRead' => 'id="qcs::cam::uin/100018617869:uin/100018617869"'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限为grant-write
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclWriteToUser()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantWrite' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限为grant-full-control
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclFullToUser()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantFullControl' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限,同时授权给多个账户
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclToUsers()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantFullControl' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '",id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '",id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限,授权给子账号
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclToSubuser()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantFullControl' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限,同时指定read、write和fullcontrol
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclReadWriteFull()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantRead' => 'id="qcs::cam::uin/123:uin/123"',
|
||||
'GrantWrite' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"',
|
||||
'GrantFullControl' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限,grant值非法
|
||||
* InvalidArgument
|
||||
* 400
|
||||
*/
|
||||
public function testPutBucketAclInvalidGrant()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantFullControl' => 'id="qcs::camuin/321023:uin/100018617869"'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'InvalidArgument' && $e->getStatusCode() === 400);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限,通过body方式授权
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclByBody()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'Grants' => array(
|
||||
array(
|
||||
'Grantee' => array(
|
||||
'DisplayName' => 'qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin,
|
||||
'ID' => 'qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin,
|
||||
'Type' => 'CanonicalUser',
|
||||
),
|
||||
'Permission' => 'FULL_CONTROL',
|
||||
),
|
||||
),
|
||||
'Owner' => array(
|
||||
'DisplayName' => 'qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin,
|
||||
'ID' => 'qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin,
|
||||
)
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,设置bucket账号权限,通过body方式授权给anyone
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketAclByBodyToAnyone()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'Grants' => array(
|
||||
array(
|
||||
'Grantee' => array(
|
||||
'DisplayName' => 'qcs::cam::anyone:anyone',
|
||||
'ID' => 'qcs::cam::anyone:anyone',
|
||||
'Type' => 'CanonicalUser',
|
||||
),
|
||||
'Permission' => 'FULL_CONTROL',
|
||||
),
|
||||
),
|
||||
'Owner' => array(
|
||||
'DisplayName' => 'qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin,
|
||||
'ID' => 'qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin,
|
||||
)
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,bucket不存在
|
||||
* NoSuchBucket
|
||||
* 404
|
||||
*/
|
||||
public function testPutBucketAclBucketNonExisted()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(
|
||||
array(
|
||||
'Bucket' => $this->bucket2,
|
||||
'GrantFullControl' => 'id="qcs::cam::uin/321023:uin/100018617869"'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'NoSuchBucket' && $e->getStatusCode() === 404);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket acl,覆盖设置
|
||||
* x200
|
||||
*/
|
||||
public function testPutBucketAclCover()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->PutBucketAcl(array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantFullControl' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"',
|
||||
'GrantRead' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"',
|
||||
'GrantWrite' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"'));
|
||||
$this->cosClient->PutBucketAcl(array(
|
||||
'Bucket' => $this->bucket,
|
||||
'GrantWrite' => 'id="qcs::cam::uin/' . $this->uin . ':uin/' . $this->uin . '"'));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 正常head bucket
|
||||
* 200
|
||||
*/
|
||||
public function testHeadBucket()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->HeadBucket(array(
|
||||
'Bucket' => $this->bucket));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* head bucket,bucket不存在
|
||||
* NoSuchBucket
|
||||
* 404
|
||||
*/
|
||||
public function testHeadBucketNonExisted()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->HeadBucket(array(
|
||||
'Bucket' => $this->bucket2));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'NoSuchBucket' && $e->getStatusCode() === 404);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* get bucket,bucket为空
|
||||
* 200
|
||||
*/
|
||||
public function testGetBucketEmpty()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->ListObjects(array(
|
||||
'Bucket' => $this->bucket));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* get bucket, prefix为中文
|
||||
* 200
|
||||
*/
|
||||
public function testGetBucketWithChinese()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->ListObjects(array(
|
||||
'Bucket' => $this->bucket,
|
||||
'Prefix' => '中文',
|
||||
'Delimiter' => '/'));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* get bucket,bucket不存在
|
||||
* NoSuchBucket
|
||||
* 404
|
||||
*/
|
||||
public function testGetBucketNonExisted()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->ListObjects(
|
||||
array(
|
||||
'Bucket' => $this->bucket2
|
||||
)
|
||||
);
|
||||
$this->assertTrue(False);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'NoSuchBucket' && $e->getStatusCode() === 404);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* put bucket cors,cors规则包含多条
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketCors()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->putBucketCors(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'CORSRules' => array(
|
||||
array(
|
||||
'ID' => '1234',
|
||||
'AllowedHeaders' => array('*',),
|
||||
'AllowedMethods' => array('PUT',),
|
||||
'AllowedOrigins' => array('*',),
|
||||
'ExposeHeaders' => array('*',),
|
||||
'MaxAgeSeconds' => 1,
|
||||
),
|
||||
array(
|
||||
'ID' => '12345',
|
||||
'AllowedHeaders' => array('*',),
|
||||
'AllowedMethods' => array('GET',),
|
||||
'AllowedOrigins' => array('*',),
|
||||
'ExposeHeaders' => array('*',),
|
||||
'MaxAgeSeconds' => 1,
|
||||
),
|
||||
),
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 正常get bucket cors
|
||||
* 200
|
||||
*/
|
||||
public function testGetBucketCors()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->putBucketCors(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'CORSRules' => array(
|
||||
array(
|
||||
'ID' => '1234',
|
||||
'AllowedHeaders' => array('*',),
|
||||
'AllowedMethods' => array('PUT',),
|
||||
'AllowedOrigins' => array('*',),
|
||||
'ExposeHeaders' => array('*',),
|
||||
'MaxAgeSeconds' => 1,
|
||||
),
|
||||
array(
|
||||
'ID' => '12345',
|
||||
'AllowedHeaders' => array('*',),
|
||||
'AllowedMethods' => array('GET',),
|
||||
'AllowedOrigins' => array('*',),
|
||||
'ExposeHeaders' => array('*',),
|
||||
'MaxAgeSeconds' => 1,
|
||||
),
|
||||
),
|
||||
)
|
||||
);
|
||||
$this->cosClient->getBucketCors(
|
||||
array(
|
||||
'Bucket' => $this->bucket
|
||||
)
|
||||
);
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* bucket未设置cors规则,发送get bucket cors
|
||||
* NoSuchCORSConfiguration
|
||||
* 404
|
||||
*/
|
||||
public function testGetBucketCorsNull()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->deleteBucketCors(
|
||||
array(
|
||||
'Bucket' => $this->bucket
|
||||
)
|
||||
);
|
||||
$rt = $this->cosClient->getBucketCors(
|
||||
array(
|
||||
'Bucket' => $this->bucket
|
||||
)
|
||||
);
|
||||
$this->assertTrue(False);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'NoSuchCORSConfiguration' && $e->getStatusCode() === 404);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 正常get bucket lifecycle
|
||||
* 200
|
||||
*/
|
||||
public function testGetBucketLifecycle()
|
||||
{
|
||||
try {
|
||||
$result = $this->cosClient->putBucketLifecycle(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'Rules' => array(
|
||||
array(
|
||||
'Status' => 'Enabled',
|
||||
'Filter' => array(
|
||||
'Tag' => array(
|
||||
'Key' => 'datalevel',
|
||||
'Value' => 'backup'
|
||||
)
|
||||
),
|
||||
'Transitions' => array(
|
||||
array(
|
||||
# 30天后转换为Standard_IA
|
||||
'Days' => 30,
|
||||
'StorageClass' => 'Standard_IA'),
|
||||
array(
|
||||
# 365天后转换为Archive
|
||||
'Days' => 365,
|
||||
'StorageClass' => 'Archive')
|
||||
),
|
||||
'Expiration' => array(
|
||||
# 3650天后过期删除
|
||||
'Days' => 3650,
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
$result = $this->cosClient->getBucketLifecycle(array(
|
||||
'Bucket' => $this->bucket,
|
||||
));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 正常delete bucket lifecycle
|
||||
* 200
|
||||
*/
|
||||
public function testDeleteBucketLifecycle()
|
||||
{
|
||||
try {
|
||||
$result = $this->cosClient->putBucketLifecycle(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'Rules' => array(
|
||||
array(
|
||||
'Status' => 'Enabled',
|
||||
'Filter' => array(
|
||||
'Tag' => array(
|
||||
'Key' => 'datalevel',
|
||||
'Value' => 'backup'
|
||||
)
|
||||
),
|
||||
'Transitions' => array(
|
||||
array(
|
||||
# 30天后转换为Standard_IA
|
||||
'Days' => 30,
|
||||
'StorageClass' => 'Standard_IA'),
|
||||
array(
|
||||
# 365天后转换为Archive
|
||||
'Days' => 365,
|
||||
'StorageClass' => 'Archive')
|
||||
),
|
||||
'Expiration' => array(
|
||||
# 3650天后过期删除
|
||||
'Days' => 3650,
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
$result = $this->cosClient->deleteBucketLifecycle(array(
|
||||
// Bucket is required
|
||||
'Bucket' => $this->bucket,
|
||||
));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket lifecycle,请求body中不指定filter
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucketLifecycleNonFilter()
|
||||
{
|
||||
try {
|
||||
$result = $this->cosClient->putBucketLifecycle(
|
||||
array(
|
||||
'Bucket' => $this->bucket,
|
||||
'Rules' => array(
|
||||
array(
|
||||
'Expiration' => array(
|
||||
'Days' => 1000,
|
||||
),
|
||||
'ID' => 'id1',
|
||||
'Status' => 'Enabled',
|
||||
'Transitions' => array(
|
||||
array(
|
||||
'Days' => 100,
|
||||
'StorageClass' => 'Standard_IA'),
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
);
|
||||
$result = $this->cosClient->deleteBucketLifecycle(array(
|
||||
// Bucket is required
|
||||
'Bucket' => $this->bucket,
|
||||
));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket,bucket名称带有-
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucket2()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->createBucket(array('Bucket' => $this->hyphenBucket));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
print($e);
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* put bucket,bucket名称带有两个-
|
||||
* 200
|
||||
*/
|
||||
public function testPutBucket3()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->createBucket(array('Bucket' => $this->doubleHyphenBucket));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
print($e);
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 正常get bucket location
|
||||
* 200
|
||||
*/
|
||||
public function testGetBucketLocation()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->getBucketLocation(array('Bucket' => $this->bucket));
|
||||
$this->assertTrue(True);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* bucket不存在,发送get bucket location请求
|
||||
* NoSuchBucket
|
||||
* 404
|
||||
*/
|
||||
public function testGetBucketLocationNonExisted()
|
||||
{
|
||||
try {
|
||||
$this->cosClient->getBucketLocation(array('Bucket' => $this->bucket2));
|
||||
$this->assertTrue(False);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'NoSuchBucket' && $e->getStatusCode() === 404);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 上传文件Bucket不存在
|
||||
* NoSuchBucket
|
||||
* 404
|
||||
*/
|
||||
public function testPutObjectIntoNonExistedBucket() {
|
||||
try {
|
||||
$this->cosClient->putObject(
|
||||
array(
|
||||
'Bucket' => $this->bucket2, 'Key' => Common::FILE_NAME, 'Body' => 'Hello World'
|
||||
)
|
||||
);
|
||||
$this->assertTrue(False);
|
||||
} catch (ServiceResponseException $e) {
|
||||
$this->assertTrue($e->getExceptionCode() === 'NoSuchBucket');
|
||||
$this->assertTrue($e->getStatusCode() === 404);
|
||||
}
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
$this->bucket2 = "tmp-".$this->bucket;
|
||||
$this->prBucket = 'public-read' . $this->bucket2;
|
||||
$this->hyphenBucket = '12345-'. $this->bucket;
|
||||
$this->doubleHyphenBucket = '12-333-4445' . $this->bucket2;
|
||||
$this->uin = Common::getUin();
|
||||
}
|
||||
|
||||
protected function tearDown(): void {
|
||||
parent::tearDown();
|
||||
try {
|
||||
$this->cosClient->deleteBucket(array('Bucket' => $this->bucket2));
|
||||
} catch(\Exception $e) {
|
||||
}
|
||||
try {
|
||||
$this->cosClient->deleteBucket(array('Bucket' => $this->prBucket));
|
||||
} catch(\Exception $e) {
|
||||
}
|
||||
try {
|
||||
$this->cosClient->deleteBucket(array('Bucket' => $this->hyphenBucket));
|
||||
} catch(\Exception $e) {
|
||||
}
|
||||
try {
|
||||
$this->cosClient->deleteBucket(array('Bucket' => $this->doubleHyphenBucket));
|
||||
} catch(\Exception $e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user