aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/03-pipeline.t35
-rw-r--r--t/lib/WebCoso/Pipeline/Test.pm13
-rw-r--r--t/lib/WebCoso/Step/Step1.pm24
-rw-r--r--t/lib/WebCoso/Step/Step2.pm24
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;