/** * Test SQS methods * * @return void */ public function testSqs() { try { $queue_url = $this->_amazon->create($this->_queue_name, 45); $timeout = $this->_amazon->getAttribute($queue_url, 'VisibilityTimeout'); $this->assertEquals(45, $timeout, 'VisibilityTimeout attribute is not 45'); $test_msg = 'this is a test'; $this->_amazon->send($queue_url, $test_msg); $messages = $this->_amazon->receive($queue_url); foreach ($messages as $message) { $this->assertEquals($test_msg, $message['body']); } foreach ($messages as $message) { $result = $this->_amazon->deleteMessage($queue_url, $message['handle']); $this->assertTrue($result, 'Message was not deleted'); } $count = $this->_amazon->count($queue_url); $this->assertEquals(0, $count); $this->_amazon->delete($queue_url); } catch (\Exception $e) { $this->fail($e->getMessage()); } }
/** * Get a key/value array of metadata for the given queue. * * @param string $queueId * @param array $options * @return array */ public function fetchQueueMetadata($queueId, $options = null) { try { // TODO: ZF-9050 Fix the SQS client library in trunk to return all attribute values $attributes = $this->_sqs->getAttribute($queueId, 'All'); if (is_array($attributes)) { return $attributes; } else { return array('All' => $this->_sqs->getAttribute($queueId, 'All')); } } catch (Zend_Service_Amazon_Exception $e) { throw new Zend_Cloud_QueueService_Exception('Error on fetching queue metadata: ' . $e->getMessage(), $e->getCode(), $e); } }