e56b93e89deb4d037567177246a6324c93a3b03c
[perl-cwmp.git] / t / 06-queue.t
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 my $debug = shift @ARGV;
6
7 use Test::More tests => 213;
8 use Data::Dump qw/dump/;
9 use lib 'lib';
10
11 BEGIN {
12         use_ok('CWMP::Queue');
13 }
14
15 #use Cwd qw/abs_path/;
16 #ok(my $abs_path = abs_path($0), "abs_path");
17 #$abs_path =~ s!/[^/]*$!/!;     #!fix-vim
18
19 ok( my $obj = CWMP::Queue->new({
20         id => 'test',
21         debug => $debug,
22 }), 'new' );
23 isa_ok( $obj, 'CWMP::Queue' );
24
25 for my $i ( 1 .. 42 ) {
26         ok( $obj->enqueue({
27                 i => $i,
28                 foo => 'bar',
29         }), "enqueue $i" );
30 };
31
32 my $i = 1;
33
34 while ( my $job = $obj->dequeue ) {
35         ok( $job, "dequeue $i" );
36         ok( my $dispatch = $job->dispatch, "dispatch $i" );
37         cmp_ok( $dispatch->{i}, '==', $i, "i == $i" );
38         ok( $job->finish, "finish $i" );
39         $i++;
40 }