public function listContainers($containerPrefix = null)
 {
     $result = array();
     $opts = new ListContainersOptions();
     if (!is_null($containerPrefix)) {
         $opts->setPrefix($containerPrefix);
     }
     $list = $this->restProxy->listContainers($opts);
     foreach ($list->getContainers() as $item) {
         array_push($result, $item->getName());
     }
     return $result;
 }
 /**
  * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::createContainer
  * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::deleteContainer
  * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::listContainers
  */
 private function deleteContainerWorker($options)
 {
     $container = BlobServiceFunctionalTestData::getInterestingContainerName();
     // Make sure there is something to delete.
     $this->restProxy->createContainer($container);
     // Make sure that the list of all applicable containers is correctly updated.
     $opts = new ListContainersOptions();
     $opts->setPrefix(BlobServiceFunctionalTestData::$testUniqueId);
     $qs = $this->restProxy->listContainers($opts);
     $this->assertEquals(count($qs->getContainers()), count(BlobServiceFunctionalTestData::$testContainerNames) + 1, 'After adding one, with Prefix=(\'' . BlobServiceFunctionalTestData::$testUniqueId . '\'), then Containers length');
     $deleted = false;
     try {
         if (is_null($options)) {
             $this->restProxy->deleteContainer($container);
         } else {
             $this->restProxy->deleteContainer($container, $options);
         }
         $deleted = true;
         if (is_null($options)) {
             $options = new DeleteContainerOptions();
         }
         if (!is_null($options->getTimeout()) && $options->getTimeout() < 1) {
             $this->assertTrue(false, 'Expect negative timeouts in $options to throw');
         }
         if (!$this->isEmulated() && !BlobServiceFunctionalTestData::passTemporalAccessCondition($options->getAccessCondition())) {
             $this->assertTrue(false, 'Failing access condition should throw');
         }
         // Make sure that the list of all applicable containers is correctly updated.
         $opts = new ListContainersOptions();
         $opts->setPrefix(BlobServiceFunctionalTestData::$testUniqueId);
         $qs = $this->restProxy->listContainers($opts);
         $this->assertEquals(count($qs->getContainers()), count(BlobServiceFunctionalTestData::$testContainerNames), 'After adding then deleting one, with Prefix=(\'' . BlobServiceFunctionalTestData::$testUniqueId . '\'), then Containers length');
         // Nothing else interesting to check for the $options.
     } catch (ServiceException $e) {
         if (is_null($options)) {
             $options = new DeleteContainerOptions();
         }
         if (!is_null($options->getTimeout()) && $options->getTimeout() < 1) {
             $this->assertEquals(TestResources::STATUS_INTERNAL_SERVER_ERROR, $e->getCode(), 'getCode');
         } else {
             if (!$this->isEmulated() && !BlobServiceFunctionalTestData::passTemporalAccessCondition($options->getAccessCondition())) {
                 $this->assertEquals(TestResources::STATUS_PRECONDITION_FAILED, $e->getCode(), 'getCode');
             } else {
                 throw $e;
             }
         }
     }
     if (!$deleted) {
         // Try again. If it does not work, not much else to try.
         $this->restProxy->deleteContainer($container);
     }
 }
 public static function getInterestingListContainersOptions()
 {
     $ret = array();
     $options = new ListContainersOptions();
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $marker = '/' . self::$_accountName . '/' . self::$testContainerNames[1];
     $options->setMarker($marker);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $marker = '/' . self::$_accountName . '/' . self::$nonExistContainerPrefix;
     $options->setMarker($marker);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $maxResults = 2;
     $options->setMaxResults($maxResults);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $prefix = self::$testUniqueId;
     $options->setPrefix($prefix);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $prefix = self::$nonExistContainerPrefix;
     $options->setPrefix($prefix);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $prefix = self::$testContainerNames[1];
     $options->setPrefix($prefix);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $timeout = -1;
     $options->setTimeout($timeout);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $timeout = 60;
     $options->setTimeout($timeout);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $includeMetadata = true;
     $options->setIncludeMetadata($includeMetadata);
     array_push($ret, $options);
     $options = new ListContainersOptions();
     $marker = '/' . self::$_accountName . '/' . self::$testContainerNames[1];
     $maxResults = 2;
     $prefix = self::$testUniqueId;
     $timeout = 60;
     $includeMetadata = true;
     $options->setMarker($marker);
     $options->setMaxResults($maxResults);
     $options->setPrefix($prefix);
     $options->setTimeout($timeout);
     $options->setIncludeMetadata($includeMetadata);
     array_push($ret, $options);
     return $ret;
 }
 /**
  * @covers MicrosoftAzure\Storage\Blob\Models\ListContainersOptions::getIncludeMetadata
  */
 public function testGetIncludeMetadata()
 {
     // Setup
     $options = new ListContainersOptions();
     $expected = true;
     $options->setIncludeMetadata($expected);
     // Test
     $actual = $options->getIncludeMetadata();
     // Assert
     $this->assertEquals($expected, $actual);
 }
 /**
  * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::listContainers
  */
 public function testListContainersWithPrefixWorks()
 {
     // Act
     $opts = new ListContainersOptions();
     $opts->setPrefix(self::$_testContainersPrefix);
     $opts->setMaxResults(3);
     $results = $this->restProxy->listContainers($opts);
     // Assert
     $this->assertNotNull($results, '$results');
     $this->assertEquals(3, count($results->getContainers()), 'count($results->getContainers())');
     $this->assertNotNull($results->getNextMarker(), '$results->getNextMarker()');
     $this->assertEquals(3, $results->getMaxResults(), '$results->getMaxResults()');
     // Act
     $opts = new ListContainersOptions();
     $opts->setPrefix(self::$_testContainersPrefix);
     $opts->setMarker($results->getNextMarker());
     $results2 = $this->restProxy->listContainers($opts);
     // Assert
     $this->assertNotNull($results2, '$results2');
     $this->assertNull($results2->getNextMarker(), '$results2->getNextMarker()');
     $this->assertEquals(0, $results2->getMaxResults(), '$results2->getMaxResults()');
     // Act
     $opts = new ListContainersOptions();
     $opts->setPrefix(self::$_testContainersPrefix);
     $results3 = $this->restProxy->listContainers($opts);
     // Assert
     $this->assertEquals(count($results->getContainers()) + count($results2->getContainers()), count($results3->getContainers()), 'count($results3->getContainers())');
 }
Пример #6
0
 /**
  * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::createContainer
  */
 public function testCreateContainerWithMetadata()
 {
     $containerName = 'createcontainerwithmetadata' . $this->createSuffix();
     $metadataName = 'Name';
     $metadataValue = 'MyName';
     $options = new CreateContainerOptions();
     $options->addMetadata($metadataName, $metadataValue);
     $options->setPublicAccess('blob');
     // Test
     $this->createContainer($containerName, $options);
     // Assert
     $options = new ListContainersOptions();
     $options->setIncludeMetadata(true);
     $result = $this->restProxy->listContainers($options);
     $containers = $result->getContainers();
     $metadata = $containers[0]->getMetadata();
     $this->assertEquals($metadataValue, $metadata[$metadataName]);
 }
Пример #7
0
 /**
  * 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);
 }