diff --git a/AmqpConnectionFactory.php b/AmqpConnectionFactory.php index 4a780c1..505f753 100644 --- a/AmqpConnectionFactory.php +++ b/AmqpConnectionFactory.php @@ -1,5 +1,7 @@ [AmqpMessage, AmqpMessage ...]] - */ - private $messages; - - public function __construct() - { - $this->messages = []; - } - - /** - * @param string $consumerTag - * @param AmqpMessage $message - */ - public function push($consumerTag, AmqpMessage $message) - { - if (false == array_key_exists($consumerTag, $this->messages)) { - $this->messages[$consumerTag] = []; - } - - $this->messages[$consumerTag][] = $message; - } - - /** - * @param string $consumerTag - * - * @return AmqpMessage|null - */ - public function pop($consumerTag) - { - if (false == empty($this->messages[$consumerTag])) { - return array_shift($this->messages[$consumerTag]); - } - } -} diff --git a/StopBasicConsumptionException.php b/StopBasicConsumptionException.php index 14d6848..99c9ea1 100644 --- a/StopBasicConsumptionException.php +++ b/StopBasicConsumptionException.php @@ -1,5 +1,7 @@ assertAttributeSame([], 'messages', $buffer); - } - - public function testShouldReturnNullIfNoMessagesInBuffer() - { - $buffer = new Buffer(); - - $this->assertNull($buffer->pop('aConsumerTag')); - $this->assertNull($buffer->pop('anotherConsumerTag')); - } - - public function testShouldPushMessageToBuffer() - { - $fooMessage = new AmqpMessage(); - $barMessage = new AmqpMessage(); - $bazMessage = new AmqpMessage(); - - $buffer = new Buffer(); - - $buffer->push('aConsumerTag', $fooMessage); - $buffer->push('aConsumerTag', $barMessage); - - $buffer->push('anotherConsumerTag', $bazMessage); - - $this->assertAttributeSame([ - 'aConsumerTag' => [$fooMessage, $barMessage], - 'anotherConsumerTag' => [$bazMessage], - ], 'messages', $buffer); - } - - public function testShouldPopMessageFromBuffer() - { - $fooMessage = new AmqpMessage(); - $barMessage = new AmqpMessage(); - - $buffer = new Buffer(); - - $buffer->push('aConsumerTag', $fooMessage); - $buffer->push('aConsumerTag', $barMessage); - - $this->assertSame($fooMessage, $buffer->pop('aConsumerTag')); - $this->assertSame($barMessage, $buffer->pop('aConsumerTag')); - $this->assertNull($buffer->pop('aConsumerTag')); - } -}