diff options
Diffstat (limited to 't')
-rw-r--r-- | t/03-pipeline.t | 35 | ||||
-rw-r--r-- | t/lib/WebCoso/Pipeline/Test.pm | 13 | ||||
-rw-r--r-- | t/lib/WebCoso/Step/Step1.pm | 24 | ||||
-rw-r--r-- | t/lib/WebCoso/Step/Step2.pm | 24 |
4 files changed, 94 insertions, 2 deletions
diff --git a/t/03-pipeline.t b/t/03-pipeline.t new file mode 100644 index 0000000..0095596 --- /dev/null +++ b/t/03-pipeline.t @@ -0,0 +1,35 @@ +#!/usr/bin/perl +use strict; +use warnings; +use Path::Class; +use Test::More 'no_plan'; +use Test::Exception; +use lib 't/lib'; +use WebCoso::Config; +use WebCoso::Driver; +use WebCoso::Pipeline::Test; + +my $thisdir=file($0)->parent->absolute; + +my $conf_file=<<'EOF'; +res('src/file1.rest.txt','Test','dst/file.html'); +EOF + +WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"); + +WebCoso::Driver->run(); + +my @resources=WebCoso::Config->get_all_resources(); + +my @calls1=WebCoso::Step::Step1->get_calls(); +is(scalar @calls1,1,"1 chiamata a Step1"); +is($calls1[0]->{resource}, + $resources[0], + 'risorsa giusta passata a Step1'); + +my @calls2=WebCoso::Step::Step2->get_calls(); +is(scalar @calls2,1,"1 chiamata a Step2"); +is($calls2[0]->{resource}, + $calls1[0]->{out_res}, + 'risorsa giusta passata a Step2'); + diff --git a/t/lib/WebCoso/Pipeline/Test.pm b/t/lib/WebCoso/Pipeline/Test.pm index 239d74b..6920f46 100644 --- a/t/lib/WebCoso/Pipeline/Test.pm +++ b/t/lib/WebCoso/Pipeline/Test.pm @@ -1,13 +1,22 @@ package WebCoso::Pipeline::Test; use strict; use warnings; +use base 'WebCoso::Pipeline::Base'; + +__PACKAGE__->set_steps(qw(Step1 Step2)); my @calls; sub process { my ($class,$resource)=@_; - push @calls, { resource => $resource }; - return 1; + + my $call={ resource => $resource }; + + my $ret=$class->SUPER::process($resource); + + push @calls, $call; + + return $ret; } sub get_calls { diff --git a/t/lib/WebCoso/Step/Step1.pm b/t/lib/WebCoso/Step/Step1.pm new file mode 100644 index 0000000..8a36d1d --- /dev/null +++ b/t/lib/WebCoso/Step/Step1.pm @@ -0,0 +1,24 @@ +package WebCoso::Step::Step1; +use strict; +use warnings; + +my @calls; + +sub process { + my ($class,$resource)=@_; + + my $out='stuff'; + + push @calls,{ + resource => $resource, + out_res => $out, + }; + + return $out; +} + +sub get_calls { + return @calls; +} + +1; diff --git a/t/lib/WebCoso/Step/Step2.pm b/t/lib/WebCoso/Step/Step2.pm new file mode 100644 index 0000000..0868842 --- /dev/null +++ b/t/lib/WebCoso/Step/Step2.pm @@ -0,0 +1,24 @@ +package WebCoso::Step::Step2; +use strict; +use warnings; + +my @calls; + +sub process { + my ($class,$resource)=@_; + + my $out='other'; + + push @calls,{ + resource => $resource, + out_res => $out, + }; + + return $out; +} + +sub get_calls { + return @calls; +} + +1; |