/** * @covers MicrosoftAzure\Storage\Blob\Models\ListContainersResult::create */ public function testCreateWithMultipleEntries() { // Setup $sample = TestResources::listContainersMultipleEntries(); // Test $actual = ListContainersResult::create($sample); // Assert $containers = $actual->getContainers(); $this->assertCount(2, $containers); $this->assertEquals($sample['Containers']['Container'][0]['Name'], $containers[0]->getName()); $this->assertEquals($sample['@attributes']['ServiceEndpoint'] . $sample['Containers']['Container'][0]['Name'], $containers[0]->getUrl()); $this->assertEquals(Utilities::rfc1123ToDateTime($sample['Containers']['Container'][0]['Properties']['Last-Modified']), $containers[0]->getProperties()->getLastModified()); $this->assertEquals($sample['Containers']['Container'][0]['Properties']['Etag'], $containers[0]->getProperties()->getETag()); $this->assertEquals($sample['Containers']['Container'][1]['Name'], $containers[1]->getName()); $this->assertEquals($sample['@attributes']['ServiceEndpoint'] . $sample['Containers']['Container'][1]['Name'], $containers[1]->getUrl()); $this->assertEquals(Utilities::rfc1123ToDateTime($sample['Containers']['Container'][1]['Properties']['Last-Modified']), $containers[1]->getProperties()->getLastModified()); $this->assertEquals($sample['Containers']['Container'][1]['Properties']['Etag'], $containers[1]->getProperties()->getETag()); $this->assertEquals($sample['MaxResults'], $actual->getMaxResults()); $this->assertEquals($sample['NextMarker'], $actual->getNextMarker()); return $actual; }
/** * Lists all of the containers in the given storage account. * * @param Models\ListContainersOptions $options The optional parameters. * * @return MicrosoftAzure\Storage\Blob\Models\ListContainersResult * * @see http://msdn.microsoft.com/en-us/library/windowsazure/dd179352.aspx */ public function listContainers($options = null) { $method = Resources::HTTP_GET; $headers = array(); $queryParams = array(); $postParams = array(); $path = Resources::EMPTY_STRING; $statusCode = Resources::STATUS_OK; if (is_null($options)) { $options = new ListContainersOptions(); } $this->addOptionalQueryParam($queryParams, Resources::QP_TIMEOUT, $options->getTimeout()); $this->addOptionalQueryParam($queryParams, Resources::QP_COMP, 'list'); $this->addOptionalQueryParam($queryParams, Resources::QP_PREFIX, $options->getPrefix()); $this->addOptionalQueryParam($queryParams, Resources::QP_MARKER, $options->getMarker()); $this->addOptionalQueryParam($queryParams, Resources::QP_MAX_RESULTS, $options->getMaxResults()); $isInclude = $options->getIncludeMetadata(); $isInclude = $isInclude ? 'metadata' : null; $this->addOptionalQueryParam($queryParams, Resources::QP_INCLUDE, $isInclude); $response = $this->send($method, $headers, $queryParams, $postParams, $path, $statusCode); $parsed = $this->dataSerializer->unserialize($response->getBody()); return ListContainersResult::create($parsed); }