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