diff options
author | dakkar <dakkar@luxion> | 2005-11-07 12:10:45 +0000 |
---|---|---|
committer | dakkar <dakkar@luxion> | 2005-11-07 12:10:45 +0000 |
commit | 39cd8c52774be37226a3015c7c13d5b42a68d95e (patch) | |
tree | 525a6cf657151a1a41f6e555e9dd30a28d5a48b6 /t | |
parent | migliorate le eccezioni, scritto Driver con test. Re #1 (diff) | |
download | WebCoso-39cd8c52774be37226a3015c7c13d5b42a68d95e.tar.gz WebCoso-39cd8c52774be37226a3015c7c13d5b42a68d95e.tar.bz2 WebCoso-39cd8c52774be37226a3015c7c13d5b42a68d95e.zip |
aggiunta struttura base pipeline, e test, re #2
git-svn-id: svn://luxion/repos/WebCoso/trunk@23 fcb26f47-9200-0410-b104-b98ab5b095f3
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; |