| #!/usr/bin/perl -T |
| |
| use lib '.'; use lib 't'; |
| use SATest; sa_t_init("spamc_optC"); |
| |
| use Test::More; |
| plan skip_all => "No SPAMC exe" if $SKIP_SPAMC_TESTS; |
| plan tests => 9; |
| |
| # --------------------------------------------------------------------------- |
| |
| tstprefs (" |
| loadplugin reporterplugin ../../../data/reporterplugin.pm |
| "); |
| |
| unlink "log/rptfail"; |
| |
| start_spamd("-L --allow-tell"); |
| |
| %patterns = ( 'Message successfully reported/revoked' => 'reported spam' ); |
| |
| ok (spamcrun ("-C report < data/spam/001", \&patterns_run_cb)); |
| ok_all_patterns(); |
| |
| %patterns = ( 'Message successfully reported/revoked' => 'revoked ham' ); |
| |
| ok (spamcrun ("-C revoke < data/nice/001", \&patterns_run_cb)); |
| ok_all_patterns(); |
| |
| open (OUT, ">log/rptfail"); |
| print OUT "file created to trigger a reporterplugin failure"; |
| close OUT; |
| |
| %patterns = ( 'Unable to report/revoke message' => 'failed to report spam' ); |
| |
| ok (spamcrun ("-C report < data/spam/001", \&patterns_run_cb)); |
| ok_all_patterns(); |
| |
| %patterns = ( 'Unable to report/revoke message' => 'failed to revoke ham' ); |
| |
| ok (spamcrun ("-C revoke < data/nice/001", \&patterns_run_cb)); |
| ok_all_patterns(); |
| |
| stop_spamd(); |
| |
| ok(unlink "log/rptfail"); # need a little cleanup |
| |