提交
This commit is contained in:
634
vendor/alibabacloud/oss-v2/tests/IntegrationTests/ClientObjectBasicTest.php
vendored
Normal file
634
vendor/alibabacloud/oss-v2/tests/IntegrationTests/ClientObjectBasicTest.php
vendored
Normal file
@@ -0,0 +1,634 @@
|
||||
<?php
|
||||
|
||||
namespace IntegrationTests;
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestIntegration.php';
|
||||
|
||||
use AlibabaCloud\Oss\V2 as Oss;
|
||||
use SebastianBergmann\Type\ObjectType;
|
||||
|
||||
class ClientObjectBasicTest extends TestIntegration
|
||||
{
|
||||
public function testObjectBasic()
|
||||
{
|
||||
$client = $this->getDefaultClient();
|
||||
$bucketName = self::$bucketName;
|
||||
$key = self::randomObjectName();
|
||||
|
||||
// put object
|
||||
$putObjRequest = new Oss\Models\PutObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$body = 'hi oss';
|
||||
$putObjRequest->body = Oss\Utils::streamFor($body);
|
||||
$result = $client->putObject($putObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// get object
|
||||
$result = $client->getObject(new Oss\Models\GetObjectRequest(
|
||||
$bucketName,
|
||||
$key
|
||||
));
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// copy object
|
||||
$destKey = self::randomObjectName() . '-dest';
|
||||
$copyObjRequest = new Oss\Models\CopyObjectRequest(
|
||||
$bucketName,
|
||||
$destKey,
|
||||
);
|
||||
$copyObjRequest->sourceKey = $key;
|
||||
$result = $client->copyObject($copyObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// append object
|
||||
$appendKey = self::randomObjectName() . '-append';
|
||||
$appendObjRequest = new Oss\Models\AppendObjectRequest(
|
||||
$bucketName,
|
||||
$appendKey,
|
||||
0
|
||||
);
|
||||
$result = $client->appendObject($appendObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// head object
|
||||
$headObjRequest = new Oss\Models\HeadObjectRequest(
|
||||
$bucketName,
|
||||
$appendKey,
|
||||
);
|
||||
$result = $client->headObject($headObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// get object meta
|
||||
$getObjMetaRequest = new Oss\Models\GetObjectMetaRequest(
|
||||
$bucketName,
|
||||
$appendKey,
|
||||
);
|
||||
$result = $client->getObjectMeta($getObjMetaRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// restore object
|
||||
$putObjRequest = new Oss\Models\PutObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$putObjRequest->storageClass = Oss\Models\StorageClassType::DEEP_COLD_ARCHIVE;
|
||||
$result = $client->putObject($putObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
$restoreObjRequest = new Oss\Models\RestoreObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$restoreObjRequest->restoreRequest = new Oss\Models\RestoreRequest(3);
|
||||
$result = $client->restoreObject($restoreObjRequest);
|
||||
$this->assertEquals(202, $result->statusCode);
|
||||
$this->assertEquals('Accepted', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// clean restored object
|
||||
try {
|
||||
$result = $client->cleanRestoredObject(new Oss\Models\CleanRestoredObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error CleanRestoredObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('ArchiveRestoreNotFinished', $se->getErrorCode());
|
||||
$this->assertEquals(409, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
// delete object
|
||||
$delObjRequest = new Oss\Models\DeleteObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$result = $client->deleteObject($delObjRequest);
|
||||
$this->assertEquals(204, $result->statusCode);
|
||||
$this->assertEquals('No Content', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// delete objects
|
||||
$delObjsRequest = new Oss\Models\DeleteMultipleObjectsRequest(
|
||||
$bucketName,
|
||||
);
|
||||
$delArray = [];
|
||||
for ($i = 1; $i <= 10; $i++) {
|
||||
// put object
|
||||
$putObjRequest = new Oss\Models\PutObjectRequest(
|
||||
$bucketName,
|
||||
$key . $i,
|
||||
);
|
||||
$delArray[] = new Oss\Models\ObjectIdentifier($key . $i);
|
||||
$body = 'hi oss';
|
||||
$putObjRequest->body = Oss\Utils::streamFor($body);
|
||||
$result = $client->putObject($putObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
}
|
||||
$delObjsRequest->delete = new Oss\Models\Delete($delArray);
|
||||
$result = $client->deleteMultipleObjects($delObjsRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
}
|
||||
|
||||
public function testObjectBasicFail()
|
||||
{
|
||||
$client = $this->getInvalidAkClient();
|
||||
$bucketName = self::$bucketName;
|
||||
$key = self::randomObjectName();
|
||||
try {
|
||||
$putObjRequest = new Oss\Models\PutObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$body = 'hi oss';
|
||||
$putObjRequest->body = Oss\Utils::streamFor($body);
|
||||
$result = $client->putObject($putObjRequest);
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error PutObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $client->getObject(new Oss\Models\GetObjectRequest(
|
||||
$bucketName,
|
||||
$key
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error GetObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$destKey = self::randomObjectName() . '-dest';
|
||||
$copyObjRequest = new Oss\Models\CopyObjectRequest(
|
||||
$bucketName,
|
||||
$destKey,
|
||||
);
|
||||
$copyObjRequest->sourceKey = $key;
|
||||
$result = $client->copyObject($copyObjRequest);
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error CopyObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
// append object
|
||||
try {
|
||||
$appendKey = self::randomObjectName() . '-append';
|
||||
$appendObjRequest = new Oss\Models\AppendObjectRequest(
|
||||
$bucketName,
|
||||
$appendKey,
|
||||
0
|
||||
);
|
||||
$result = $client->appendObject($appendObjRequest);
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error AppendObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
// seal append object
|
||||
try {
|
||||
$sealAppendObjRequest = new Oss\Models\SealAppendObjectRequest(
|
||||
$bucketName,
|
||||
$appendKey,
|
||||
0
|
||||
);
|
||||
$result = $client->sealAppendObject($sealAppendObjRequest);
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error SealAppendObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
// head object
|
||||
try {
|
||||
$headObjRequest = new Oss\Models\HeadObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$result = $client->headObject($headObjRequest);
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error HeadObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$metaObjRequest = new Oss\Models\GetObjectMetaRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$result = $client->getObjectMeta($metaObjRequest);
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error GetObjectMeta', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $client->restoreObject(new Oss\Models\RestoreObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
null,
|
||||
new Oss\Models\RestoreRequest(3)
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error RestoreObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $client->cleanRestoredObject(new Oss\Models\CleanRestoredObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error CleanRestoredObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
// delete object
|
||||
try {
|
||||
$delObjRequest = new Oss\Models\DeleteObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$result = $client->deleteObject($delObjRequest);
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error DeleteObject', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
// delete objects
|
||||
try {
|
||||
$delObjRequest = new Oss\Models\DeleteMultipleObjectsRequest(
|
||||
$bucketName,
|
||||
);
|
||||
$delObjRequest->delete = new Oss\Models\Delete(
|
||||
[
|
||||
new Oss\Models\ObjectIdentifier('key1'),
|
||||
new Oss\Models\ObjectIdentifier('key2', 'version-id-2'),
|
||||
], true
|
||||
);
|
||||
$result = $client->deleteMultipleObjects($delObjRequest);
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error DeleteMultipleObjects', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('InvalidAccessKeyId', $se->getErrorCode());
|
||||
$this->assertEquals(403, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function testObjectAcl()
|
||||
{
|
||||
$client = $this->getDefaultClient();
|
||||
$bucketName = self::$bucketName;
|
||||
$key = self::randomObjectName();
|
||||
|
||||
// put object
|
||||
$putObjRequest = new Oss\Models\PutObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$body = 'hi oss';
|
||||
$putObjRequest->body = Oss\Utils::streamFor($body);
|
||||
$result = $client->putObject($putObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// put object acl
|
||||
$result = $client->putObjectAcl(new Oss\Models\PutObjectAclRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
Oss\Models\ObjectACLType::PRIVATE
|
||||
));
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// get object acl
|
||||
$result = $client->getObjectAcl(new Oss\Models\GetObjectAclRequest(
|
||||
$bucketName,
|
||||
$key
|
||||
));
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
$this->assertNull($result->versionId);
|
||||
$this->assertEquals(Oss\Models\ObjectACLType::PRIVATE, $result->accessControlList->grant);
|
||||
}
|
||||
|
||||
public function testObjectAclFail()
|
||||
{
|
||||
$client = $this->getDefaultClient();
|
||||
$bucketName = self::$bucketName;
|
||||
$key = self::randomObjectName() . "-not-exist";
|
||||
try {
|
||||
$result = $client->putObjectAcl(new Oss\Models\PutObjectAclRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
Oss\Models\ObjectACLType::PRIVATE
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error PutObjectAcl', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('NoSuchKey', $se->getErrorCode());
|
||||
$this->assertEquals(404, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $client->getObjectAcl(new Oss\Models\GetObjectAclRequest(
|
||||
$bucketName,
|
||||
$key
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error GetObjectAcl', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('NoSuchKey', $se->getErrorCode());
|
||||
$this->assertEquals(404, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function testObjectTagging()
|
||||
{
|
||||
$client = $this->getDefaultClient();
|
||||
$bucketName = self::$bucketName;
|
||||
$key = self::randomObjectName();
|
||||
|
||||
// put object
|
||||
$putObjRequest = new Oss\Models\PutObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$body = 'hi oss';
|
||||
$putObjRequest->body = Oss\Utils::streamFor($body);
|
||||
$result = $client->putObject($putObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// put object tagging
|
||||
$result = $client->putObjectTagging(new Oss\Models\PutObjectTaggingRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
new Oss\Models\Tagging(
|
||||
new Oss\Models\TagSet(
|
||||
[new Oss\Models\Tag('k1', 'v1'), new Oss\Models\Tag('k2', 'v2')]
|
||||
)
|
||||
)
|
||||
));
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// get object tagging
|
||||
$result = $client->getObjectTagging(new Oss\Models\GetObjectTaggingRequest(
|
||||
$bucketName,
|
||||
$key
|
||||
));
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
$this->assertNull($result->versionId);
|
||||
$this->assertEquals(2, count($result->tagSet->tags));
|
||||
|
||||
// delete object tagging
|
||||
$result = $client->deleteObjectTagging(new Oss\Models\DeleteObjectTaggingRequest(
|
||||
$bucketName,
|
||||
$key
|
||||
));
|
||||
$this->assertEquals(204, $result->statusCode);
|
||||
$this->assertEquals('No Content', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
}
|
||||
|
||||
public function testObjectTaggingFail()
|
||||
{
|
||||
$client = $this->getDefaultClient();
|
||||
$bucketName = self::$bucketName;
|
||||
$key = self::randomObjectName() . "-not-exist";
|
||||
try {
|
||||
$result = $client->putObjectTagging(new Oss\Models\PutObjectTaggingRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
new Oss\Models\Tagging(
|
||||
new Oss\Models\TagSet(
|
||||
[new Oss\Models\Tag('k1', 'v1'), new Oss\Models\Tag('k2', 'v2')]
|
||||
)
|
||||
)
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error PutObjectTagging', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('NoSuchKey', $se->getErrorCode());
|
||||
$this->assertEquals(404, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $client->getObjectTagging(new Oss\Models\GetObjectTaggingRequest(
|
||||
$bucketName,
|
||||
$key
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error GetObjectTagging', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('NoSuchKey', $se->getErrorCode());
|
||||
$this->assertEquals(404, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $client->deleteObjectTagging(new Oss\Models\DeleteObjectTaggingRequest(
|
||||
$bucketName,
|
||||
$key
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error DeleteObjectTagging', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('NoSuchKey', $se->getErrorCode());
|
||||
$this->assertEquals(404, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function testSymlink()
|
||||
{
|
||||
$client = $this->getDefaultClient();
|
||||
$bucketName = self::$bucketName;
|
||||
$key = self::randomObjectName() . '-target';
|
||||
|
||||
// put object
|
||||
$putObjRequest = new Oss\Models\PutObjectRequest(
|
||||
$bucketName,
|
||||
$key,
|
||||
);
|
||||
$body = 'hi oss';
|
||||
$putObjRequest->body = Oss\Utils::streamFor($body);
|
||||
$result = $client->putObject($putObjRequest);
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// put symlink
|
||||
$symlinkKey = self::randomObjectName() . '-symlink';
|
||||
$result = $client->putSymlink(new Oss\Models\PutSymlinkRequest(
|
||||
$bucketName,
|
||||
$symlinkKey,
|
||||
$key
|
||||
));
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
|
||||
// get symlink
|
||||
$result = $client->getSymlink(new Oss\Models\GetSymlinkRequest(
|
||||
$bucketName,
|
||||
$symlinkKey
|
||||
));
|
||||
$this->assertEquals(200, $result->statusCode);
|
||||
$this->assertEquals('OK', $result->status);
|
||||
$this->assertEquals(True, count($result->headers) > 0);
|
||||
$this->assertEquals(24, strlen($result->requestId));
|
||||
}
|
||||
|
||||
public function testSymlinkFail()
|
||||
{
|
||||
$client = $this->getDefaultClient();
|
||||
$bucketName = self::$bucketName . '-not-exist';
|
||||
$key = self::randomObjectName() . "-target";
|
||||
$symlinkKey = self::randomObjectName() . '-symlink';
|
||||
try {
|
||||
$result = $client->putSymlink(new Oss\Models\PutSymlinkRequest(
|
||||
$bucketName,
|
||||
$symlinkKey,
|
||||
$key
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error PutSymlink', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('NoSuchBucket', $se->getErrorCode());
|
||||
$this->assertEquals(404, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $client->getSymlink(new Oss\Models\GetSymlinkRequest(
|
||||
$bucketName,
|
||||
$symlinkKey,
|
||||
));
|
||||
} catch (Oss\Exception\OperationException $e) {
|
||||
$this->assertStringContainsString('Operation error GetSymlink', $e);
|
||||
$se = $e->getPrevious();
|
||||
$this->assertInstanceOf(Oss\Exception\ServiceException::class, $se);
|
||||
if ($se instanceof Oss\Exception\ServiceException) {
|
||||
$this->assertEquals('NoSuchBucket', $se->getErrorCode());
|
||||
$this->assertEquals(404, $se->getStatusCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user