コード例 #1
0
 /**
  * @covers MicrosoftAzure\Storage\Queue\Models\CreateQueueOptions::addMetadata
  */
 public function testAddMetadata()
 {
     // Setup
     $queue = new CreateQueueOptions();
     $key = 'key1';
     $value = 'value1';
     $expected = array($key => $value);
     // Test
     $queue->addMetadata($key, $value);
     // Assert
     $this->assertEquals($expected, $queue->getMetadata());
 }
コード例 #2
0
function createQueueSample($queueClient)
{
    $createQueueOptions = new CreateQueueOptions();
    $createQueueOptions->addMetaData("key1", "value1");
    $createQueueOptions->addMetaData("key2", "value2");
    try {
        // Create queue.
        $queueClient->createQueue("myqueue", $createQueueOptions);
    } catch (ServiceException $e) {
        $code = $e->getCode();
        $error_message = $e->getMessage();
        echo $code . ": " . $error_message . PHP_EOL;
    }
}
コード例 #3
0
 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');
 }
コード例 #4
0
 /**
  * @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);
     }
 }
コード例 #5
0
 /**
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::createQueue
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::deleteQueue
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::getQueueMetadata
  */
 public function testCreateQueueWithOptionsWorks()
 {
     // Arrange
     // Act
     $opts = new CreateQueueOptions();
     $opts->addMetadata('foo', 'bar');
     $opts->addMetadata('test', 'blah');
     $this->restProxy->createQueue(self::$creatableQueue2, $opts);
     $result = $this->restProxy->getQueueMetadata(self::$creatableQueue2);
     $this->restProxy->deleteQueue(self::$creatableQueue2);
     // Assert
     $this->assertNotNull($result, '$result');
     $this->assertEquals(0, $result->getApproximateMessageCount(), '$result->getApproximateMessageCount');
     $this->assertNotNull($result->getMetadata(), '$result->getMetadata');
     $this->assertEquals(2, count($result->getMetadata()), 'count($result->getMetadata');
     $metadata = $result->getMetadata();
     $this->assertEquals('bar', $metadata['foo'], '$metadata[foo]');
     $this->assertEquals('blah', $metadata['test'], '$metadata[test]');
 }
コード例 #6
0
 /**
  * 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);
 }
コード例 #7
0
 /**
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::getQueueMetadata
  */
 public function testGetQueueMetadata()
 {
     // Setup
     $name = 'getqueuemetadata';
     $expectedCount = 0;
     $options = new CreateQueueOptions();
     $expected = array('name1' => 'MyName1', 'mymetaname' => '12345', 'values' => 'Microsoft_');
     $options->setMetadata($expected);
     $this->createQueue($name, $options);
     // Test
     $result = $this->restProxy->getQueueMetadata($name);
     // Assert
     $this->assertEquals($expectedCount, $result->getApproximateMessageCount());
     $this->assertEquals($expected, $result->getMetadata());
 }
コード例 #8
0
 public static function getInterestingCreateQueueOptions()
 {
     $ret = array();
     $options = new CreateQueueOptions();
     array_push($ret, $options);
     $options = new CreateQueueOptions();
     $options->setTimeout(10);
     array_push($ret, $options);
     $options = new CreateQueueOptions();
     $options->setTimeout(-10);
     array_push($ret, $options);
     $options = new CreateQueueOptions();
     $metadata = array();
     $metadata['foo'] = 'bar';
     $metadata['foo2'] = 'bar2';
     $metadata['foo3'] = 'bar3';
     $options->setMetadata($metadata);
     $options->setTimeout(10);
     array_push($ret, $options);
     $options = new CreateQueueOptions();
     $metadata = array('foo' => 'bar');
     $options->setMetadata($metadata);
     $options->setTimeout(-10);
     array_push($ret, $options);
     return $ret;
 }