Ejemplo n.º 1
0
 public function testQueueAttributes()
 {
     $queueName = "testQueueAttributes";
     $queue = $this->prepareQueue($queueName);
     try {
         $res = $queue->getAttribute();
         $this->assertTrue($res->isSucceed());
         $this->assertEquals($queueName, $res->getQueueAttributes()->getQueueName());
     } catch (MnsException $e) {
         $this->assertTrue(FALSE, $e);
     }
     $delaySeconds = 3;
     $attributes = new QueueAttributes();
     $attributes->setDelaySeconds($delaySeconds);
     try {
         $res = $queue->setAttribute($attributes);
         $this->assertTrue($res->isSucceed());
     } catch (MnsException $e) {
         $this->assertTrue(FALSE, $e);
     }
     try {
         $res = $queue->getAttribute();
         $this->assertTrue($res->isSucceed());
         $this->assertEquals($res->getQueueAttributes()->getDelaySeconds(), $delaySeconds);
     } catch (MnsException $e) {
         $this->assertTrue(FALSE, $e);
     }
 }
Ejemplo n.º 2
0
 /**
  * 创建新队列
  */
 public function createQueue($queueName)
 {
     $queueAttributes = new QueueAttributes();
     $queueAttributes->setPollingWaitSeconds(self::POLLING_WAITING_SECONDS);
     $queueAttributes->setVisibilityTimeout(self::VISIBILITY_TIMEOUT);
     $request = new CreateQueueRequest($queueName, $queueAttributes);
     try {
         $this->client->createQueue($request);
     } catch (MnsException $e) {
         throw new \Exception('创建队列失败');
     }
 }
 public function parseResponse($statusCode, $content)
 {
     $this->statusCode = $statusCode;
     if ($statusCode == 200) {
         $this->succeed = TRUE;
     } else {
         $this->parseErrorResponse($statusCode, $content);
     }
     $xmlReader = $this->loadXmlContent($content);
     try {
         $this->attributes = QueueAttributes::fromXML($xmlReader);
     } catch (\Exception $e) {
         throw new MnsException($statusCode, $e->getMessage(), $e);
     } catch (\Throwable $t) {
         throw new MnsException($statusCode, $t->getMessage());
     }
 }
Ejemplo n.º 4
0
 public function testCreateQueueSync()
 {
     $queueName = "testCreateQueueSync";
     // 1. create queue with InvalidArgument
     $attributes = new QueueAttributes();
     $attributes->setPollingWaitSeconds(60);
     $request = new CreateQueueRequest($queueName, $attributes);
     try {
         $res = $this->client->createQueue($request);
         $this->assertTrue(FALSE, "Should throw InvalidArgumentException");
     } catch (MnsException $e) {
         $this->assertEquals($e->getMnsErrorCode(), Constants::INVALID_ARGUMENT);
     }
     // 2. create queue
     $request = new CreateQueueRequest($queueName);
     $this->queueToDelete[] = $queueName;
     try {
         $res = $this->client->createQueue($request);
         $this->assertTrue($res->isSucceed());
     } catch (MnsException $e) {
         $this->assertTrue(FALSE, $e);
     }
     // 3. create queue with same attributes
     $request = new CreateQueueRequest($queueName);
     $this->queueToDelete[] = $queueName;
     try {
         $res = $this->client->createQueue($request);
         $this->assertTrue($res->isSucceed());
     } catch (MnsException $e) {
         $this->assertTrue(FALSE, $e);
     }
     // 4. create same queue with different attributes
     $attributes = new QueueAttributes();
     $attributes->setPollingWaitSeconds(20);
     $request = new CreateQueueRequest($queueName, $attributes);
     try {
         $res = $this->client->createQueue($request);
         $this->assertTrue(FALSE, "Should throw QueueAlreadyExistException");
     } catch (MnsException $e) {
         $this->assertEquals($e->getMnsErrorCode(), Constants::QUEUE_ALREADY_EXIST);
     }
 }