コード例 #1
0
 /**
  * @covers MicrosoftAzure\Storage\Queue\Models\ListMessagesOptions::setVisibilityTimeoutInSeconds
  */
 public function testSetVisibilityTimeoutInSeconds()
 {
     // Setup
     $listMessagesOptions = new ListMessagesOptions();
     $expected = 1000;
     // Test
     $listMessagesOptions->setVisibilityTimeoutInSeconds($expected);
     // Assert
     $actual = $listMessagesOptions->getVisibilityTimeoutInSeconds();
     $this->assertEquals($expected, $actual);
 }
コード例 #2
0
 public function testCheckListMessagesOptions()
 {
     $options = new ListMessagesOptions();
     $this->assertNull($options->getTimeout(), 'Default ListMessagesOptions->getTimeout');
     $this->assertNull($options->getNumberOfMessages(), 'Default ListMessagesOptions->getNumberOfMessages');
     $this->assertNull($options->getVisibilityTimeoutInSeconds(), 'Default ListMessagesOptions->getVisibilityTimeoutInSeconds');
     $options->setTimeout(self::INT_MAX_VALUE);
     $options->setNumberOfMessages(0);
     $options->setVisibilityTimeoutInSeconds(self::INT_MIN_VALUE);
     $this->assertEquals(self::INT_MAX_VALUE, $options->getTimeout(), 'Set ListMessagesOptions->getTimeout');
     $this->assertEquals(0, $options->getNumberOfMessages(), 'Set ListMessagesOptions->getNumberOfMessages');
     $this->assertEquals(self::INT_MIN_VALUE, $options->getVisibilityTimeoutInSeconds(), 'Set ListMessagesOptions->getVisibilityTimeoutInSeconds');
 }
コード例 #3
0
 /**
  * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::clearMessages
  * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::createMessage
  * @covers MicrosoftAzure\Storage\ServiceBus\ServiceBusRestProxy::listMessages
  */
 private function clearMessagesWorker($options)
 {
     self::println('Trying $options: ' . self::tmptostring($options));
     $queue = QueueServiceFunctionalTestData::$testQueueNames;
     $queue = $queue[0];
     $this->restProxy->clearMessages($queue);
     // Put three messages into the queue.
     $this->restProxy->createMessage($queue, QueueServiceFunctionalTestData::getSimpleMessageText());
     $this->restProxy->createMessage($queue, QueueServiceFunctionalTestData::getSimpleMessageText());
     $this->restProxy->createMessage($queue, QueueServiceFunctionalTestData::getSimpleMessageText());
     // Wait a bit to make sure the messages are there.
     sleep(1);
     // Make sure the messages are there, and use a short visibility timeout to make sure the are visible again later.
     $opts = new ListMessagesOptions();
     $opts->setVisibilityTimeoutInSeconds(1);
     $opts->setNumberOfMessages(32);
     $lmr = $this->restProxy->listMessages($queue, $opts);
     $this->assertEquals(3, count($lmr->getQueueMessages()), 'getQueueMessages() count');
     sleep(2);
     try {
         if (is_null($options)) {
             $this->restProxy->clearMessages($queue);
         } else {
             $this->restProxy->clearMessages($queue, $options);
         }
         if (is_null($options)) {
             $options = new CreateMessageOptions();
         } else {
             if (!is_null($options->getTimeout()) && $options->getTimeout() < 1) {
                 $this->assertTrue(false, 'Expect negative timeouts in $options to throw');
             }
         }
         // Wait 2 seconds to make sure the messages would be visible again.
         $opts = new ListMessagesOptions();
         $opts->setVisibilityTimeoutInSeconds(1);
         $opts->setNumberOfMessages(32);
         $lmr = $this->restProxy->listMessages($queue, $opts);
         $this->assertEquals(0, count($lmr->getQueueMessages()), 'getQueueMessages() count');
     } catch (ServiceException $e) {
         if (is_null($options)) {
             $options = new CreateMessageOptions();
         }
         if (!is_null($options->getTimeout()) && $options->getTimeout() < 1) {
             $this->assertEquals(TestResources::STATUS_INTERNAL_SERVER_ERROR, $e->getCode(), 'getCode');
         } else {
             throw $e;
         }
     }
     $this->restProxy->clearMessages($queue);
 }
コード例 #4
0
 /**
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::createMessage
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::listMessages
  */
 public function testListMessagesWithOptionsWorks()
 {
     // Arrange
     $year2010 = new \DateTime();
     $year2010->setDate(2010, 1, 1);
     // Act
     $this->restProxy->createMessage(self::$testQueueForMessages3, 'message1');
     $this->restProxy->createMessage(self::$testQueueForMessages3, 'message2');
     $this->restProxy->createMessage(self::$testQueueForMessages3, 'message3');
     $this->restProxy->createMessage(self::$testQueueForMessages3, 'message4');
     $opts = new ListMessagesOptions();
     $opts->setNumberOfMessages(4);
     $opts->setVisibilityTimeoutInSeconds(20);
     $result = $this->restProxy->listMessages(self::$testQueueForMessages3, $opts);
     // Assert
     $this->assertNotNull($result, '$result');
     $this->assertEquals(4, count($result->getQueueMessages()), 'count($result->getQueueMessages())');
     for ($i = 0; $i < 4; $i++) {
         $entry = $result->getQueueMessages();
         $entry = $entry[$i];
         $this->assertNotNull($entry->getMessageId(), '$entry->getMessageId()');
         $this->assertNotNull($entry->getMessageText(), '$entry->getMessageText()');
         $this->assertNotNull($entry->getPopReceipt(), '$entry->getPopReceipt()');
         $this->assertEquals(1, $entry->getDequeueCount(), '$entry->getDequeueCount()');
         $this->assertNotNull($entry->getExpirationDate(), '$entry->getExpirationDate()');
         $this->assertTrue($year2010 < $entry->getExpirationDate(), '$year2010 < $entry->getExpirationDate()');
         $this->assertNotNull($entry->getInsertionDate(), '$entry->getInsertionDate()');
         $this->assertTrue($year2010 < $entry->getInsertionDate(), '$year2010 < $entry->getInsertionDate()');
         $this->assertNotNull($entry->getTimeNextVisible(), '$entry->getTimeNextVisible()');
         $this->assertTrue($year2010 < $entry->getTimeNextVisible(), '$year2010 < $entry->getTimeNextVisible()');
     }
 }