You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
5.1 KiB
114 lines
5.1 KiB
<?php |
|
|
|
namespace OSS\Tests; |
|
|
|
use OSS\Result\ListMultipartUploadResult; |
|
use OSS\Http\ResponseCore; |
|
|
|
/** |
|
* Class ListMultipartUploadResultTest |
|
* @package OSS\Tests |
|
*/ |
|
class ListMultipartUploadResultTest extends \PHPUnit_Framework_TestCase |
|
{ |
|
private $validXml = <<<BBBB |
|
<?xml version="1.0" encoding="UTF-8"?> |
|
<ListMultipartUploadsResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com"> |
|
<Bucket>oss-example</Bucket> |
|
<KeyMarker>xx</KeyMarker> |
|
<UploadIdMarker>3</UploadIdMarker> |
|
<NextKeyMarker>oss.avi</NextKeyMarker> |
|
<NextUploadIdMarker>0004B99B8E707874FC2D692FA5D77D3F</NextUploadIdMarker> |
|
<Delimiter>x</Delimiter> |
|
<Prefix>xx</Prefix> |
|
<MaxUploads>1000</MaxUploads> |
|
<IsTruncated>false</IsTruncated> |
|
<Upload> |
|
<Key>multipart.data</Key> |
|
<UploadId>0004B999EF518A1FE585B0C9360DC4C8</UploadId> |
|
<Initiated>2012-02-23T04:18:23.000Z</Initiated> |
|
</Upload> |
|
<Upload> |
|
<Key>multipart.data</Key> |
|
<UploadId>0004B999EF5A239BB9138C6227D69F95</UploadId> |
|
<Initiated>2012-02-23T04:18:23.000Z</Initiated> |
|
</Upload> |
|
<Upload> |
|
<Key>oss.avi</Key> |
|
<UploadId>0004B99B8E707874FC2D692FA5D77D3F</UploadId> |
|
<Initiated>2012-02-23T06:14:27.000Z</Initiated> |
|
</Upload> |
|
</ListMultipartUploadsResult> |
|
BBBB; |
|
|
|
private $validXmlWithEncodedKey = <<<BBBB |
|
<?xml version="1.0" encoding="UTF-8"?> |
|
<ListMultipartUploadsResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com"> |
|
<Bucket>oss-example</Bucket> |
|
<EncodingType>url</EncodingType> |
|
<KeyMarker>php%2Bkey-marker</KeyMarker> |
|
<UploadIdMarker>3</UploadIdMarker> |
|
<NextKeyMarker>php%2Bnext-key-marker</NextKeyMarker> |
|
<NextUploadIdMarker>0004B99B8E707874FC2D692FA5D77D3F</NextUploadIdMarker> |
|
<Delimiter>%2F</Delimiter> |
|
<Prefix>php%2Bprefix</Prefix> |
|
<MaxUploads>1000</MaxUploads> |
|
<IsTruncated>true</IsTruncated> |
|
<Upload> |
|
<Key>php%2Bkey-1</Key> |
|
<UploadId>0004B999EF518A1FE585B0C9360DC4C8</UploadId> |
|
<Initiated>2012-02-23T04:18:23.000Z</Initiated> |
|
</Upload> |
|
<Upload> |
|
<Key>php%2Bkey-2</Key> |
|
<UploadId>0004B999EF5A239BB9138C6227D69F95</UploadId> |
|
<Initiated>2012-02-23T04:18:23.000Z</Initiated> |
|
</Upload> |
|
<Upload> |
|
<Key>php%2Bkey-3</Key> |
|
<UploadId>0004B99B8E707874FC2D692FA5D77D3F</UploadId> |
|
<Initiated>2012-02-23T06:14:27.000Z</Initiated> |
|
</Upload> |
|
</ListMultipartUploadsResult> |
|
BBBB; |
|
|
|
public function testParseValidXml() |
|
{ |
|
$response = new ResponseCore(array(), $this->validXml, 200); |
|
$result = new ListMultipartUploadResult($response); |
|
$listMultipartUploadInfo = $result->getData(); |
|
$this->assertEquals("oss-example", $listMultipartUploadInfo->getBucket()); |
|
$this->assertEquals("xx", $listMultipartUploadInfo->getKeyMarker()); |
|
$this->assertEquals(3, $listMultipartUploadInfo->getUploadIdMarker()); |
|
$this->assertEquals("oss.avi", $listMultipartUploadInfo->getNextKeyMarker()); |
|
$this->assertEquals("0004B99B8E707874FC2D692FA5D77D3F", $listMultipartUploadInfo->getNextUploadIdMarker()); |
|
$this->assertEquals("x", $listMultipartUploadInfo->getDelimiter()); |
|
$this->assertEquals("xx", $listMultipartUploadInfo->getPrefix()); |
|
$this->assertEquals(1000, $listMultipartUploadInfo->getMaxUploads()); |
|
$this->assertEquals("false", $listMultipartUploadInfo->getIsTruncated()); |
|
$uploads = $listMultipartUploadInfo->getUploads(); |
|
$this->assertEquals("multipart.data", $uploads[0]->getKey()); |
|
$this->assertEquals("0004B999EF518A1FE585B0C9360DC4C8", $uploads[0]->getUploadId()); |
|
$this->assertEquals("2012-02-23T04:18:23.000Z", $uploads[0]->getInitiated()); |
|
} |
|
|
|
public function testParseValidXmlWithEncodedKey() |
|
{ |
|
$response = new ResponseCore(array(), $this->validXmlWithEncodedKey, 200); |
|
$result = new ListMultipartUploadResult($response); |
|
$listMultipartUploadInfo = $result->getData(); |
|
$this->assertEquals("oss-example", $listMultipartUploadInfo->getBucket()); |
|
$this->assertEquals("php+key-marker", $listMultipartUploadInfo->getKeyMarker()); |
|
$this->assertEquals("php+next-key-marker", $listMultipartUploadInfo->getNextKeyMarker()); |
|
$this->assertEquals(3, $listMultipartUploadInfo->getUploadIdMarker()); |
|
$this->assertEquals("0004B99B8E707874FC2D692FA5D77D3F", $listMultipartUploadInfo->getNextUploadIdMarker()); |
|
$this->assertEquals("/", $listMultipartUploadInfo->getDelimiter()); |
|
$this->assertEquals("php+prefix", $listMultipartUploadInfo->getPrefix()); |
|
$this->assertEquals(1000, $listMultipartUploadInfo->getMaxUploads()); |
|
$this->assertEquals("true", $listMultipartUploadInfo->getIsTruncated()); |
|
$uploads = $listMultipartUploadInfo->getUploads(); |
|
$this->assertEquals("php+key-1", $uploads[0]->getKey()); |
|
$this->assertEquals("0004B999EF518A1FE585B0C9360DC4C8", $uploads[0]->getUploadId()); |
|
$this->assertEquals("2012-02-23T04:18:23.000Z", $uploads[0]->getInitiated()); |
|
} |
|
}
|
|
|