mirror of
https://git.proxmox.com/git/proxmox-spamassassin
synced 2025-04-28 16:01:29 +00:00
52 lines
1.4 KiB
Perl
Executable File
52 lines
1.4 KiB
Perl
Executable File
#!/usr/bin/perl -T
|
|
|
|
use lib '.'; use lib 't';
|
|
use SATest; sa_t_init("db_awl_path_welcome_block");
|
|
use Test::More;
|
|
plan tests => 4;
|
|
use IO::File;
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
%is_spam_patterns = (
|
|
q{ X-Spam-Status: Yes}, 'isspam',
|
|
);
|
|
|
|
# We can't easily test to see if a given AWL was used. so what we do
|
|
# is tell SpamAssassin to use an inaccessible one, then verify that
|
|
# the address in question was *not* welcomelisted successfully. '
|
|
|
|
open (OUT, ">$workdir/awl");
|
|
print OUT "file created to block AWL from working; AWL expects a dir";
|
|
close OUT;
|
|
|
|
tstpre ("
|
|
loadplugin Mail::SpamAssassin::Plugin::AWL
|
|
");
|
|
|
|
tstprefs ("
|
|
auto_welcomelist_path ./$workdir/awl/this_lock_warning_is_ok
|
|
auto_welcomelist_file_mode 0755
|
|
");
|
|
|
|
my $fh = IO::File->new_tmpfile();
|
|
ok($fh);
|
|
open(STDERR, ">&=".fileno($fh)) || die "Cannot reopen STDERR";
|
|
sarun("--add-addr-to-welcomelist whitelist_test\@whitelist.spamassassin.taint.org",
|
|
\&patterns_run_cb);
|
|
seek($fh, 0, 0);
|
|
my $error = do {
|
|
local $/;
|
|
<$fh>;
|
|
};
|
|
|
|
diag $error;
|
|
like($error, qr/(cannot create tmp lockfile)|(unlink of lock file.*failed)/, "Check we get the right error back");
|
|
|
|
# and this mail should *not* be welcomelisted as a result.
|
|
%patterns = %is_spam_patterns;
|
|
sarun ("-L -t < data/spam/004", \&patterns_run_cb);
|
|
ok_all_patterns();
|
|
|
|
ok(unlink "$workdir/awl"); # need a little cleanup
|