diff --git a/src/Sub/Queue/SqsSnsQueue.php b/src/Sub/Queue/SqsSnsQueue.php index f88e5dc..0265963 100644 --- a/src/Sub/Queue/SqsSnsQueue.php +++ b/src/Sub/Queue/SqsSnsQueue.php @@ -40,8 +40,10 @@ public function later($delay, $job, $data = '', $queue = null) */ public function pop($queue = null) { + $queue = $this->getQueue($queue); + $response = $this->sqs->receiveMessage([ - 'QueueUrl' => $this->getQueue($queue), + 'QueueUrl' => $queue, 'AttributeNames' => ['ApproximateReceiveCount'], ]); diff --git a/tests/Sub/Queue/SqsSnsQueueTest.php b/tests/Sub/Queue/SqsSnsQueueTest.php index 09442f3..ad067ee 100644 --- a/tests/Sub/Queue/SqsSnsQueueTest.php +++ b/tests/Sub/Queue/SqsSnsQueueTest.php @@ -42,12 +42,31 @@ public function it_can_receive_a_rich_notification_message_and_pop_it_off_the_qu { $this->sqs->shouldReceive('receiveMessage') ->once() + ->with(['QueueUrl' => '/default', 'AttributeNames' => ['ApproximateReceiveCount']]) ->andReturn($this->mockedRichNotificationMessage()); $queue = new SqsSnsQueue($this->sqs, 'default'); $queue->setContainer($this->app); $result = $queue->pop(); + + $this->assertInstanceOf(SnsEventDispatcherJob::class, $result); + $this->assertEquals('/default', $result->getQueue()); + } + + /** @test */ + public function it_should_use_the_queue_name_including_prefix_and_suffix() + { + $this->sqs->shouldReceive('receiveMessage') + ->once() + ->with(['QueueUrl' => 'prefix/default-suffix', 'AttributeNames' => ['ApproximateReceiveCount']]) + ->andReturn($this->mockedRichNotificationMessage()); + + $queue = new SqsSnsQueue($this->sqs, 'default', 'prefix', '-suffix'); + $queue->setContainer($this->app); + $result = $queue->pop(); + $this->assertInstanceOf(SnsEventDispatcherJob::class, $result); + $this->assertEquals('prefix/default-suffix', $result->getQueue()); } /** @test */