You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			98 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace OSS\Tests;
 | 
						|
 | 
						|
use OSS\Core\OssException;
 | 
						|
use OSS\Http\ResponseCore;
 | 
						|
use OSS\Result\ListBucketsResult;
 | 
						|
 | 
						|
class ListBucketsResultTest extends \PHPUnit_Framework_TestCase
 | 
						|
{
 | 
						|
    private $validXml = <<<BBBB
 | 
						|
<?xml version="1.0" encoding="UTF-8"?>
 | 
						|
<ListAllMyBucketsResult>
 | 
						|
  <Owner>
 | 
						|
    <ID>ut_test_put_bucket</ID>
 | 
						|
    <DisplayName>ut_test_put_bucket</DisplayName>
 | 
						|
  </Owner>
 | 
						|
  <Buckets>
 | 
						|
    <Bucket>
 | 
						|
      <Location>oss-cn-hangzhou-a</Location>
 | 
						|
      <Name>xz02tphky6fjfiuc0</Name>
 | 
						|
      <CreationDate>2014-05-15T11:18:32.000Z</CreationDate>
 | 
						|
    </Bucket>
 | 
						|
    <Bucket>
 | 
						|
      <Location>oss-cn-hangzhou-a</Location>
 | 
						|
      <Name>xz02tphky6fjfiuc1</Name>
 | 
						|
      <CreationDate>2014-05-15T11:18:32.000Z</CreationDate>
 | 
						|
    </Bucket>
 | 
						|
  </Buckets>
 | 
						|
</ListAllMyBucketsResult>
 | 
						|
BBBB;
 | 
						|
 | 
						|
    private $nullXml = <<<BBBB
 | 
						|
<?xml version="1.0" encoding="UTF-8"?>
 | 
						|
<ListAllMyBucketsResult>
 | 
						|
  <Owner>
 | 
						|
    <ID>ut_test_put_bucket</ID>
 | 
						|
    <DisplayName>ut_test_put_bucket</DisplayName>
 | 
						|
  </Owner>
 | 
						|
  <Buckets>
 | 
						|
  </Buckets>
 | 
						|
</ListAllMyBucketsResult>
 | 
						|
BBBB;
 | 
						|
 | 
						|
    public function testParseValidXml()
 | 
						|
    {
 | 
						|
        $response = new ResponseCore(array(), $this->validXml, 200);
 | 
						|
        $result = new ListBucketsResult($response);
 | 
						|
        $this->assertTrue($result->isOK());
 | 
						|
        $this->assertNotNull($result->getData());
 | 
						|
        $this->assertNotNull($result->getRawResponse());
 | 
						|
        $bucketListInfo = $result->getData();
 | 
						|
        $this->assertEquals(2, count($bucketListInfo->getBucketList()));
 | 
						|
    }
 | 
						|
 | 
						|
    public function testParseNullXml()
 | 
						|
    {
 | 
						|
        $response = new ResponseCore(array(), $this->nullXml, 200);
 | 
						|
        $result = new ListBucketsResult($response);
 | 
						|
        $this->assertTrue($result->isOK());
 | 
						|
        $this->assertNotNull($result->getData());
 | 
						|
        $this->assertNotNull($result->getRawResponse());
 | 
						|
        $bucketListInfo = $result->getData();
 | 
						|
        $this->assertEquals(0, count($bucketListInfo->getBucketList()));
 | 
						|
    }
 | 
						|
 | 
						|
    public function test403()
 | 
						|
    {
 | 
						|
        $errorHeader = array(
 | 
						|
            'x-oss-request-id' => '1a2b-3c4d'
 | 
						|
        );
 | 
						|
 | 
						|
        $errorBody = <<< BBBB
 | 
						|
<?xml version="1.0" encoding="UTF-8"?>
 | 
						|
<Error>
 | 
						|
  <Code>NoSuchBucket</Code>
 | 
						|
  <Message>The specified bucket does not exist.</Message>
 | 
						|
  <RequestId>566B870D207FB3044302EB0A</RequestId>
 | 
						|
  <HostId>hello.oss-test.aliyun-inc.com</HostId>
 | 
						|
  <BucketName>hello</BucketName>
 | 
						|
</Error>
 | 
						|
BBBB;
 | 
						|
        $response = new ResponseCore($errorHeader, $errorBody, 403);
 | 
						|
        try {
 | 
						|
            new ListBucketsResult($response);
 | 
						|
        } catch (OssException $e) {
 | 
						|
            $this->assertEquals(
 | 
						|
                $e->getMessage(),
 | 
						|
                'NoSuchBucket: The specified bucket does not exist. RequestId: 1a2b-3c4d');
 | 
						|
            $this->assertEquals($e->getHTTPStatus(), '403');
 | 
						|
            $this->assertEquals($e->getRequestId(), '1a2b-3c4d');
 | 
						|
            $this->assertEquals($e->getErrorCode(), 'NoSuchBucket');
 | 
						|
            $this->assertEquals($e->getErrorMessage(), 'The specified bucket does not exist.');
 | 
						|
            $this->assertEquals($e->getDetails(), $errorBody);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |