Skip to content

Commit

Permalink
Make queues FIFO.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ryan Olson committed Feb 28, 2012
1 parent 2b2c850 commit 3276867
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 3 deletions.
6 changes: 3 additions & 3 deletions lib/Test/Net/RabbitMQ.pm
Expand Up @@ -3,7 +3,7 @@ use Moose;
use warnings;
use strict;

our $VERSION = '0.07';
our $VERSION = '0.08';

# Bindings are stored in the following form:
# {
Expand Down Expand Up @@ -158,7 +158,7 @@ sub get {

die "Unknown queue: $queue" unless $self->_queue_exists($queue);

my $message = pop(@{ $self->_get_queue($queue) });
my $message = shift(@{ $self->_get_queue($queue) });

return undef unless defined($message);

Expand Down Expand Up @@ -269,7 +269,7 @@ sub recv {
my $queue = $self->queue;
die "No queue, did you consume() first?" unless defined($queue);

my $message = pop(@{ $self->_get_queue($self->queue) });
my $message = shift(@{ $self->_get_queue($self->queue) });

return undef unless defined $message;

Expand Down
29 changes: 29 additions & 0 deletions t/fifo.t
@@ -0,0 +1,29 @@
use Test::More;
use Test::Exception;

use Test::Net::RabbitMQ;

my $mq = Test::Net::RabbitMQ->new;
isa_ok($mq, 'Test::Net::RabbitMQ', 'instantiated');

$mq->connect;

$mq->channel_open(1);

$mq->exchange_declare(1, 'fifo');
$mq->queue_declare(1, 'new-fifo');

$mq->queue_bind(1, 'new-fifo', 'fifo', 'fifo.new');

$mq->publish(1, 'fifo.new', 'foo', { exchange => 'fifo' });
$mq->publish(1, 'fifo.new', 'bar', { exchange => 'fifo' });

$mq->consume(1, 'new-fifo');

my $msg = $mq->recv;
cmp_ok($msg->{body}, 'eq', 'foo', 'first recv matches first published');

$msg = $mq->recv;
cmp_ok($msg->{body}, 'eq', 'bar', 'second recv matches second published');

done_testing;

0 comments on commit 3276867

Please sign in to comment.