Catalyst-Plugin-ErrorCatcher-ActiveMQ-Stomp

 view release on metacpan or  search on metacpan

t/lib/Test/ActiveMQ.pm  view on Meta::CPAN

package Test::ActiveMQ;

use Moose;
use Data::Serializer;
use MooseX::Types::Moose qw/Str/;
use MooseX::Types -declare => [qw/Dir Serializer/];
use Moose::Util::TypeConstraints;


use Path::Class qw/dir/;

use Test::Builder;
use Test::More;
use Test::Differences qw/eq_or_diff/;
use Test::Deep::NoTest qw/eq_deeply/;
use Devel::PartialDump;

extends 'Moose::Object', 'Test::Builder::Module';

class_type 'Path::Class::Dir';
subtype Dir, as 'Path::Class::Dir';
coerce Dir, from 'Str',
    via { dir($_) };

has dump_dir => (
    is          => 'ro',
    isa         => Dir,
    required    => 1,
    default     => undef,
    coerce      => 1,
);


class_type 'Data::Serializer';
subtype Serializer, as 'Data::Serializer';
coerce Serializer, from 'Str',
    via { Data::Serializer->new( serializer => $_ ) };

has serializer => (
    is          => 'ro',
    isa         => Serializer,
    required    => 1,
    default     => 'JSON',
    coerce      => 1,

);



sub message_matches {
    my ($self, $opts, $comment) = @_;

    local $Test::Builder::Level = $Test::Builder::Level + 1;

    my $queue = $opts->{queue} || confess "No queue specified!";

    my ($predicate, $data) = @$opts{qw/predicate compare_with/};


    $predicate = { body => $predicate } unless exists $predicate->{body};
    $data = { body => $data } unless exists $data->{body};
    use Data::Dump qw/pp/;

    my @messages = $self->_messages("/queue/$queue");

    unless (@messages) {
        $self->builder->ok(0, $comment);
        $self->builder->diag("No ActiveMQ messages found on $queue");
        return 0;
    }

#    $predicate = $self->preprocess_data($predicate);
    #my $full_want = $self->preprocess_data($data);
    my $full_want = $data; #$self->preprocess_data($data);



( run in 1.166 second using v1.01-cache-2.11-cpan-9581c071862 )