/** * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::createQueue * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::deleteQueue * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::getQueueMetadata * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::listQueues */ private function createQueueWorker($options) { self::println('Trying $options: ' . self::tmptostring($options)); $queue = QueueServiceFunctionalTestData::getInterestingQueueName(); $created = false; try { if (is_null($options)) { $this->restProxy->createQueue($queue); } else { // TODO: https://github.com/azure/azure-storage-php/issues/105 $this->restProxy->createQueue($queue, $options); } $created = true; if (is_null($options)) { $options = new CreateQueueOptions(); } if (!is_null($options->getTimeout()) && $options->getTimeout() < 1) { $this->assertTrue(false, 'Expect negative timeouts in $options to throw'); } // Now check that the queue was created correctly. // 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'); // Check the metadata on the queue $ret = $this->restProxy->getQueueMetadata($queue); $this->verifyCreateQueueWorker($ret, $options); $this->restProxy->deleteQueue($queue); $created = false; } catch (ServiceException $e) { if (is_null($options)) { $options = new CreateQueueOptions(); } if (!is_null($options->getTimeout()) && $options->getTimeout() <= 0) { $this->assertEquals(TestResources::STATUS_INTERNAL_SERVER_ERROR, $e->getCode(), 'getCode'); } else { throw $e; } } if ($created) { $this->restProxy->deleteQueue($queue); } }
public function testCheckCreateQueueOptions() { $options = new CreateQueueOptions(); $this->assertNull($options->getMetadata(), 'Default CreateQueueOptions->getMetadata'); $this->assertEquals(0, count($options->getMetadata()), 'Default CreateQueueOptions->getMetadata->size'); $this->assertNull($options->getTimeout(), 'Default CreateQueueOptions->getTimeout'); $metadata = array('foo' => 'bar', 'baz' => 'bat'); $options->setMetadata($metadata); $options->setTimeout(-10); $this->assertEquals($options->getMetadata(), $metadata, 'Set CreateQueueOptions->getMetadata'); $this->assertEquals(2, count($options->getMetadata()), 'Set CreateQueueOptions->getMetadata->size'); $this->assertEquals(-10, $options->getTimeout(), 'Set CreateQueueOptions->getTimeout'); $options->addMetadata('aaa', 'bbb'); $this->assertEquals(3, count($options->getMetadata()), 'Set CreateQueueOptions->getMetadata->size'); }
/** * Creates a new queue under the storage account. * * @param string $queueName The queue name. * @param QueueCreateOptions $options The Optional parameters. * * @return none */ public function createQueue($queueName, $options = null) { Validate::isString($queueName, 'queueName'); Validate::notNullOrEmpty($queueName, 'queueName'); $method = Resources::HTTP_PUT; $headers = array(); $postParams = array(); $queryParams = array(); $path = $queueName; $statusCode = array(Resources::STATUS_CREATED, Resources::STATUS_NO_CONTENT); if (is_null($options)) { $options = new CreateQueueOptions(); } $metadata = $options->getMetadata(); $timeout = $options->getTimeout(); $headers = $this->generateMetadataHeaders($metadata); $this->addOptionalQueryParam($queryParams, Resources::QP_TIMEOUT, $timeout); $this->send($method, $headers, $queryParams, $postParams, $path, $statusCode); }