ut_test_put_bucket
    ut_test_put_bucket
  
  
    
      oss-cn-hangzhou-a
      xz02tphky6fjfiuc0
      2014-05-15T11:18:32.000Z
    
    
      oss-cn-hangzhou-a
      xz02tphky6fjfiuc1
      2014-05-15T11:18:32.000Z
    
  
BBBB;
    private $nullXml = <<
  
    ut_test_put_bucket
    ut_test_put_bucket
  
  
  
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
        
        
          NoSuchBucket
          The specified bucket does not exist.
          566B870D207FB3044302EB0A
          hello.oss-test.aliyun-inc.com
          hello
        
        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);
        }
    }
    public function testParseXml2()
    {
      $xml = <<
      
        
          ut_test_put_bucket
          ut_test_put_bucket
        
        
          
            2015-12-17T18:12:43.000Z
            oss-cn-shanghai.aliyuncs.com
            oss-cn-shanghai-internal.aliyuncs.com
            oss-cn-shanghai
            app-base-oss
            cn-shanghai
            Standard
          
          
            2014-12-25T11:21:04.000Z
            oss-cn-hangzhou.aliyuncs.com
            oss-cn-hangzhou-internal.aliyuncs.com
            oss-cn-hangzhou
            atestleo23
            cn-hangzhou
            IA
          
          
            2014-12-25T11:21:04.000Z
            oss-cn-hangzhou
            atestleo23
          
        
      
      BBBB;
        $response = new ResponseCore(array(), $xml, 200);
        $result = new ListBucketsResult($response);
        $this->assertTrue($result->isOK());
        $this->assertNotNull($result->getData());
        $this->assertNotNull($result->getRawResponse());
        $bucketListInfo = $result->getData();
        $this->assertEquals(3, count($bucketListInfo->getBucketList()));
        $this->assertEquals("2015-12-17T18:12:43.000Z", $bucketListInfo->getBucketList()[0]->getCreateDate());
        $this->assertEquals("oss-cn-shanghai", $bucketListInfo->getBucketList()[0]->getLocation());
        $this->assertEquals("app-base-oss", $bucketListInfo->getBucketList()[0]->getName());
        $this->assertEquals("oss-cn-shanghai.aliyuncs.com", $bucketListInfo->getBucketList()[0]->getExtranetEndpoint());
        $this->assertEquals("oss-cn-shanghai-internal.aliyuncs.com", $bucketListInfo->getBucketList()[0]->getIntranetEndpoint());
        $this->assertEquals("cn-shanghai", $bucketListInfo->getBucketList()[0]->getRegion());
        $this->assertEquals("Standard", $bucketListInfo->getBucketList()[0]->getStorageClass());
    
        $this->assertEquals("2014-12-25T11:21:04.000Z", $bucketListInfo->getBucketList()[1]->getCreateDate());
        $this->assertEquals("oss-cn-hangzhou", $bucketListInfo->getBucketList()[1]->getLocation());
        $this->assertEquals("atestleo23", $bucketListInfo->getBucketList()[1]->getName());
        $this->assertEquals("oss-cn-hangzhou.aliyuncs.com", $bucketListInfo->getBucketList()[1]->getExtranetEndpoint());
        $this->assertEquals("oss-cn-hangzhou-internal.aliyuncs.com", $bucketListInfo->getBucketList()[1]->getIntranetEndpoint());
        $this->assertEquals("cn-hangzhou", $bucketListInfo->getBucketList()[1]->getRegion());
        $this->assertEquals("IA", $bucketListInfo->getBucketList()[1]->getStorageClass());
        $this->assertEquals("2014-12-25T11:21:04.000Z", $bucketListInfo->getBucketList()[2]->getCreateDate());
        $this->assertEquals("oss-cn-hangzhou", $bucketListInfo->getBucketList()[2]->getLocation());
        $this->assertEquals("atestleo23", $bucketListInfo->getBucketList()[2]->getName());
        $this->assertEquals(null, $bucketListInfo->getBucketList()[2]->getExtranetEndpoint());
        $this->assertEquals(null, $bucketListInfo->getBucketList()[2]->getIntranetEndpoint());
        $this->assertEquals(null, $bucketListInfo->getBucketList()[2]->getRegion());
        $this->assertEquals(null, $bucketListInfo->getBucketList()[2]->getStorageClass());
      }
}