diff options
author | dakkar <dakkar@thenautilus.net> | 2016-12-29 15:52:34 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2016-12-29 15:52:34 +0000 |
commit | 1b15f6a6858abb3413dc2df0c647690874f20b27 (patch) | |
tree | 84e01e4030b43d3fd59254fd9c52942ae42772c4 /t/lib | |
parent | tweak TODO (diff) | |
download | Sietima-1b15f6a6858abb3413dc2df0c647690874f20b27.tar.gz Sietima-1b15f6a6858abb3413dc2df0c647690874f20b27.tar.bz2 Sietima-1b15f6a6858abb3413dc2df0c647690874f20b27.zip |
tests for moderation cmdline
Diffstat (limited to 't/lib')
-rw-r--r-- | t/lib/Test/Sietima.pm | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/t/lib/Test/Sietima.pm b/t/lib/Test/Sietima.pm index 94811d2..d7b720c 100644 --- a/t/lib/Test/Sietima.pm +++ b/t/lib/Test/Sietima.pm @@ -18,7 +18,8 @@ sub import { Sietima::Policy->import::into($target); for my $function (qw(transport make_sietima make_mail - deliveries_are test_sending)) { + deliveries_are test_sending + run_cmdline_sub)) { no strict 'refs'; "${target}::${function}"->** = __PACKAGE__->can($function); } @@ -161,4 +162,27 @@ sub test_sending (%args) { $ctx->release; } +sub run_cmdline_sub($sietima,$method,$options={},$parameters={}) { + require Sietima::Runner; + my $r = Sietima::Runner->new({ + options => $options, + parameters => $parameters, + cmd => $sietima, + op => $method, + }); + $r->response(App::Spec::Run::Response->new); + ok( + lives { $sietima->$method($r) }, + "calling $method should live", + ); + my %ret; + for my $output ($r->response->outputs->@*) { + $ret{ + $output->error ? 'error' : 'output' + } .= $output->content; + } + $ret{exit} = $r->response->exit(); + return \%ret; +} + 1; |