/** * @covers WindowsAzure\Blob\Models\ListContainersOptions::getPrefix */ public function testGetPrefix() { // Setup $options = new ListContainersOptions(); $expected = 'myprefix'; $options->setPrefix($expected); // Test $actual = $options->getPrefix(); // Assert $this->assertEquals($expected, $actual); }
function createContainerIfNotExists($blobRestProxy) { // See if the container already exists. $listContainersOptions = new ListContainersOptions(); $listContainersOptions->setPrefix(CONTAINERNAME); $listContainersResult = $blobRestProxy->listContainers($listContainersOptions); $containerExists = false; foreach ($listContainersResult->getContainers() as $container) { if ($container->getName() == CONTAINERNAME) { // The container exists. $containerExists = true; // No need to keep checking. break; } } if (!$containerExists) { echo "Creating container.\n"; $blobRestProxy->createContainer(CONTAINERNAME); echo "Container '" . CONTAINERNAME . "' successfully created.\n"; } }
function createContainer() { $HashedEmail = hash("md5", $this->Email); $listContainersOptions = new ListContainersOptions(); $listContainersOptions->setPrefix($HashedEmail); $listContainersResult = $this->blobRestProxy->listContainers($listContainersOptions); $containerExists = false; foreach ($listContainersResult->getContainers() as $container) { if ($container->getName() == $HashedEmail) { $containerExists = true; break; } } if (!$containerExists) { $createContainerOptions = new CreateContainerOptions(); try { $this->blobRestProxy->createContainer($HashedEmail, $createContainerOptions); } catch (ServiceException $e) { $error_message = $e->getMessage(); echo $error_message; } } }
/** * @covers WindowsAzure\Blob\BlobRestProxy::listContainers */ public function testListContainersWithOptions() { // Setup $container1 = 'listcontainerwithoptions1' . $this->createSuffix(); $container2 = 'listcontainerwithoptions2' . $this->createSuffix(); $container3 = 'mlistcontainerwithoptions3' . $this->createSuffix(); $metadataName = 'Mymetadataname'; $metadataValue = 'MetadataValue'; $options = new CreateContainerOptions(); $options->addMetadata($metadataName, $metadataValue); parent::createContainer($container1); parent::createContainer($container2, $options); parent::createContainer($container3); $options = new ListContainersOptions(); $options->setPrefix('list'); $options->setIncludeMetadata(true); // Test $result = $this->restProxy->listContainers($options); // Assert $containers = $result->getContainers(); $metadata = $containers[1]->getMetadata(); $this->assertEquals(2, count($containers)); $this->assertEquals($container1, $containers[0]->getName()); $this->assertEquals($container2, $containers[1]->getName()); $this->assertEquals($metadataValue, $metadata[$metadataName]); }
/** * Check if a container exists in the current account. * * @since 3.0.0 * @link https://goo.gl/6XsKAJ Official SDK example for checking containers. * * @param string $container_name The container name to check. * @return bool True if the container exists in the account, false if not. */ public static function container_exists_in_storage($container_name) { /** @var WindowsAzure\Blob\BlobRestProxy $client */ $client = self::getStorageClient(); $container_exists = false; $options = new ListContainersOptions(); $options->setPrefix($container_name); //TODO: check cache for containers list and use it if present. $result = $client->listContainers($options); $containers = $result->getContainers(); //TODO: Cache the containers list. /** @var WindowsAzure\Blob\Models\Container $container */ foreach ($containers as $container) { if ($container->getName() === $container_name) { $container_exists = true; break; } } return $container_exists; }
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; }
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; }
error("No file found."); } $block_name = $file["name"]; //if there is an account id to upload then change the container otherwise use a default //container name and add the code to a sub folder $container = isset($_POST["accnt_id"]) ? $_POST["accnt_id"] : DEFAULT_CONTAINER; //generate the code for this file $doc_code = makeRandomString(); $remove_action = isset($_POST["remove_action"]) ? $_POST["remove_action"] : "1"; $remove_access_times = isset($_POST["remove_access_times"]) ? $_POST["remove_access_times"] : "1"; $remove_hours = isset($_POST["remove_hours"]) ? $_POST["remove_hours"] : "1"; try { $blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString); //createContainerIfNotExists($blobRestProxy); $listContainersOptions = new ListContainersOptions(); $listContainersOptions->setPrefix($container); //$listContainersResult = $blobRestProxy->listContainers($listContainersOptions); //$containerExists = false; // $containers = $listContainersResult->getContainers(); // for($i = 0; $i < $containers.length; $i++){ // print_r($containers[$i]); // } //foreach ($listContainersResult->getContainers() as $container) { // if ($container->getName() == $container) { // $containerExists = true;// The container exists. // // No need to keep checking. // break; // } //} $createContainerOptions = new CreateContainerOptions(); //$createContainerOptions->setPublicAccess(PublicAccessType::CONTAINER_AND_BLOBS);
/** * @covers WindowsAzure\Blob\BlobRestProxy::createContainer * @covers WindowsAzure\Blob\BlobRestProxy::deleteContainer * @covers WindowsAzure\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::$TEST_CONTAINER_NAMES) + 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 (!Configuration::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::$TEST_CONTAINER_NAMES), '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(500, $e->getCode(), 'getCode'); } else { if (!Configuration::isEmulated() && !BlobServiceFunctionalTestData::passTemporalAccessCondition($options->getAccessCondition())) { $this->assertEquals(412, $e->getCode(), 'getCode'); } else { } } } if (!$deleted) { // Try again. If it does not work, not much else to try. $this->restProxy->deleteContainer($container); } }
/** * @covers WindowsAzure\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())'); }