From 1b15f6a6858abb3413dc2df0c647690874f20b27 Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 29 Dec 2016 15:52:34 +0000 Subject: tests for moderation cmdline --- t/lib/Test/Sietima.pm | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 't/lib/Test/Sietima.pm') 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; -- cgit v1.2.3