/** * Lists all queues in the storage account. * * @param ListQueuesOptions $options The optional list queue options. * * @return MicrosoftAzure\Storage\Queue\Models\ListQueuesResult */ public function listQueues($options = null) { $method = Resources::HTTP_GET; $headers = array(); $postParams = array(); $queryParams = array(); $path = Resources::EMPTY_STRING; $statusCode = Resources::STATUS_OK; if (is_null($options)) { $options = new ListQueuesOptions(); } $timeout = $options->getTimeout(); $maxResults = $options->getMaxResults(); $include = $options->getIncludeMetadata(); $include = $include ? 'metadata' : null; $prefix = $options->getPrefix(); $marker = $options->getMarker(); $this->addOptionalQueryParam($queryParams, Resources::QP_TIMEOUT, $timeout); $this->addOptionalQueryParam($queryParams, Resources::QP_COMP, 'list'); $this->addOptionalQueryParam($queryParams, Resources::QP_PREFIX, $prefix); $this->addOptionalQueryParam($queryParams, Resources::QP_MARKER, $marker); $this->addOptionalQueryParam($queryParams, Resources::QP_INCLUDE, $include); $this->addOptionalQueryParam($queryParams, Resources::QP_MAX_RESULTS, $maxResults); $response = $this->send($method, $headers, $queryParams, $postParams, $path, $statusCode); $parsed = $this->dataSerializer->unserialize($response->getBody()); return ListQueuesResult::create($parsed); }
public function testCheckListQueuesOptions() { $options = new ListQueuesOptions(); $this->assertNull($options->getIncludeMetadata(), 'Default ListQueuesOptions->getIncludeMetadata'); $this->assertNull($options->getMarker(), 'Default ListQueuesOptions->getMarker'); $this->assertEquals(0, $options->getMaxResults(), 'Default ListQueuesOptions->getMaxResults'); $this->assertNull($options->getPrefix(), 'Default ListQueuesOptions->getPrefix'); $this->assertNull($options->getTimeout(), 'Default ListQueuesOptions->getTimeout'); $options->setIncludeMetadata(true); $options->setMarker('foo'); $options->setMaxResults(-10); $options->setPrefix('bar'); $options->setTimeout(self::INT_MAX_VALUE); $this->assertTrue($options->getIncludeMetadata(), 'Set ListQueuesOptions->getIncludeMetadata'); $this->assertEquals('foo', $options->getMarker(), 'Set ListQueuesOptions->getMarker'); $this->assertEquals(-10, $options->getMaxResults(), 'Set ListQueuesOptions->getMaxResults'); $this->assertEquals('bar', $options->getPrefix(), 'Set ListQueuesOptions->getPrefix'); $this->assertEquals(self::INT_MAX_VALUE, $options->getTimeout(), 'Set ListQueuesOptions->getTimeout'); }
/** * @covers MicrosoftAzure\Storage\Queue\Models\ListQueuesOptions::getIncludeMetadata */ public function testGetIncludeMetadata() { // Setup $options = new ListQueuesOptions(); $expected = true; $options->setIncludeMetadata($expected); // Test $actual = $options->getIncludeMetadata(); // Assert $this->assertEquals($expected, $actual); }
/** * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::createQueue * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::deleteQueue * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::listQueues */ private function deleteQueueWorker($options) { self::println('Trying $options: ' . self::tmptostring($options)); $queue = QueueServiceFunctionalTestData::getInterestingQueueName(); // Make sure there is something to delete. $this->restProxy->createQueue($queue); // Make sure that the list of all applicable queues is correctly updated. $opts = new ListQueuesOptions(); $opts->setPrefix(QueueServiceFunctionalTestData::$testUniqueId); $qs = $this->restProxy->listQueues($opts); $this->assertEquals(count($qs->getQueues()), count(QueueServiceFunctionalTestData::$testQueueNames) + 1, 'After adding one, with Prefix=(\'' . QueueServiceFunctionalTestData::$testUniqueId . '\'), then Queues->length'); $deleted = false; try { if (is_null($options)) { $this->restProxy->deleteQueue($queue); } else { $this->restProxy->deleteQueue($queue, $options); } $deleted = true; if (is_null($options)) { $options = new QueueServiceOptions(); } if (!is_null($options->getTimeout()) && $options->getTimeout() < 1) { $this->assertTrue(false, 'Expect negative timeouts in $options to throw'); } // Make sure that the list of all applicable queues is correctly updated. $opts = new ListQueuesOptions(); $opts->setPrefix(QueueServiceFunctionalTestData::$testUniqueId); $qs = $this->restProxy->listQueues($opts); $this->assertEquals(count($qs->getQueues()), count(QueueServiceFunctionalTestData::$testQueueNames), 'After adding then deleting one, with Prefix=(\'' . QueueServiceFunctionalTestData::$testUniqueId . '\'), then Queues->length'); // Nothing else interesting to check for the options. } catch (ServiceException $e) { if (!is_null($options->getTimeout()) && $options->getTimeout() < 1) { $this->assertEquals(TestResources::STATUS_INTERNAL_SERVER_ERROR, $e->getCode(), 'getCode'); } else { throw $e; } } if (!$deleted) { // Try again. If it doesn't work, not much else to try. $this->restProxy->deleteQueue($queue); } }
/** * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::listQueues */ public function testListQueuesWithOptionsWorks() { // Arrange // Act $opts = new ListQueuesOptions(); $opts->setMaxResults(3); $opts->setIncludeMetadata(true); $opts->setPrefix(self::$testQueuesPrefix); $result = $this->restProxy->listQueues($opts); $opts = new ListQueuesOptions(); $opts->setMarker($result->getNextMarker()); $opts->setIncludeMetadata(false); $opts->setPrefix(self::$testQueuesPrefix); $result2 = $this->restProxy->listQueues($opts); // Assert $this->assertNotNull($result, '$result'); $this->assertNotNull($result->getQueues(), '$result->getQueues'); $this->assertEquals(3, count($result->getQueues()), 'count($result->getQueues'); $this->assertEquals(3, $result->getMaxResults(), '$result->getMaxResults'); // TODO: Uncomment when the following issue is fixed: // https://github.com/azure/azure-storage-php/issues/98 // $this->assertNotNull($result->getAccountName(), '$result->getAccountName()'); $this->assertNull($result->getMarker(), '$result->getMarker'); $queue0 = $result->getQueues(); $queue0 = $queue0[0]; $this->assertNotNull($queue0, '$queue0'); $this->assertNotNull($queue0->getMetadata(), '$queue0->getMetadata' . ' (https://github.com/azure/azure-storage-php/issues/252)'); $this->assertNotNull($queue0->getName(), '$queue0->getName'); $this->assertNotNull($queue0->getUrl(), '$queue0->getUrl'); $this->assertNotNull($result2, '$result2'); $this->assertNotNull($result2->getQueues(), '$result2->getQueues'); $this->assertTrue(count(self::$testQueues) - 3 <= count($result2->getQueues()), 'count'); $this->assertEquals(0, $result2->getMaxResults(), '$result2->getMaxResults'); // TODO: Uncomment when the following issue is fixed: // https://github.com/azure/azure-storage-php/issues/98 // $this->assertNotNull($result2->getAccountName(), '$result2->getAccountName()'); $this->assertEquals($result->getNextMarker(), $result2->getMarker(), '$result2->getMarker'); $queue20 = $result2->getQueues(); $queue20 = $queue20[0]; $this->assertNotNull($queue20, '$queue20'); $this->assertNotNull($queue20->getMetadata(), '$queue20->getMetadata'); $this->assertEquals(0, count($queue20->getMetadata()), 'count($queue20->getMetadata)'); $this->assertNotNull($queue20->getName(), '$queue20->getName'); $this->assertNotNull($queue20->getUrl(), '$queue20->getUrl'); }
/** * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::createQueue */ public function testCreateQueueWithMetadata() { $queueName = 'createqueuewithmetadata'; $metadataName = 'Name'; $metadataValue = 'MyName'; $queueCreateOptions = new CreateQueueOptions(); $queueCreateOptions->addMetadata($metadataName, $metadataValue); // Test $this->createQueue($queueName, $queueCreateOptions); // Assert $options = new ListQueuesOptions(); $options->setIncludeMetadata(true); $result = $this->restProxy->listQueues($options); $queues = $result->getQueues(); $metadata = $queues[0]->getMetadata(); $this->assertEquals($metadataValue, $metadata[$metadataName]); }
public static function getInterestingListQueuesOptions() { $ret = array(); $options = new ListQueuesOptions(); array_push($ret, $options); $options = new ListQueuesOptions(); $options->setMaxResults(2); $options->setMaxResults('2'); array_push($ret, $options); $options = new ListQueuesOptions(); $options->setTimeout(10); array_push($ret, $options); $options = new ListQueuesOptions(); $options->setTimeout(-10); array_push($ret, $options); $options = new ListQueuesOptions(); $options->setPrefix(self::$nonExistQueuePrefix); array_push($ret, $options); $options = new ListQueuesOptions(); $options->setPrefix(self::$testUniqueId); array_push($ret, $options); $options = new ListQueuesOptions(); // Cannot set Marker to arbitrary values. Must only use if the previous request returns a NextMarker. // $options->setMarker('abc'); // So, add logic in listQueuesWorker to loop and setMarker if there is a NextMarker. $options->setMaxResults(2); $options->setPrefix(self::$testUniqueId); $options->setTimeout(10); array_push($ret, $options); $options = new ListQueuesOptions(); $options->setMaxResults(3); $options->setPrefix(self::$testUniqueId); $options->setTimeout(10); array_push($ret, $options); $options = new ListQueuesOptions(); $options->setMaxResults(4); $options->setPrefix(self::$testUniqueId); $options->setTimeout(10); array_push($ret, $options); return $ret; }