mirror of
https://git.proxmox.com/git/proxmox-spamassassin
synced 2025-04-29 17:51:43 +00:00
70 lines
1.8 KiB
Raku
Executable File
70 lines
1.8 KiB
Raku
Executable File
#!/usr/bin/perl -T
|
|
|
|
use lib '.'; use lib 't';
|
|
use SATest;
|
|
|
|
use Test::More;
|
|
plan skip_all => 'AWL SQL Tests not enabled.' if conf_bool('run_awl_sql_tests');
|
|
plan tests => 11;
|
|
diag "Note: Failure may be due to an incorrect config";
|
|
|
|
sa_t_init("sql_based_whitelist");
|
|
|
|
my $dbconfig = '';
|
|
foreach my $setting (qw(
|
|
user_awl_dsn
|
|
user_awl_sql_username
|
|
user_awl_sql_password
|
|
user_awl_sql_table
|
|
))
|
|
{
|
|
my $val = conf($setting);
|
|
$dbconfig .= "$setting $val\n" if $val;
|
|
}
|
|
|
|
my $testuser = 'tstusr.'.$$.'.'.time();
|
|
|
|
tstlocalrules ("
|
|
use_auto_whitelist 1
|
|
auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList
|
|
$dbconfig
|
|
user_awl_sql_override_username $testuser
|
|
");
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
%is_nonspam_patterns = (
|
|
q{ Subject: Re: [SAtalk] auto-whitelisting}, 'subj',
|
|
);
|
|
%is_spam_patterns = (
|
|
q{Subject: 4000 Your Vacation Winning !}, 'subj',
|
|
);
|
|
|
|
%is_spam_patterns2 = (
|
|
q{ X-Spam-Status: Yes}, 'status',
|
|
);
|
|
|
|
|
|
%patterns = %is_nonspam_patterns;
|
|
|
|
ok(sarun ("--remove-addr-from-whitelist whitelist_test\@whitelist.spamassassin.taint.org", \&patterns_run_cb));
|
|
|
|
# 3 times, to get into the whitelist:
|
|
ok(sarun ("-L -t < data/nice/002", \&patterns_run_cb));
|
|
ok(sarun ("-L -t < data/nice/002", \&patterns_run_cb));
|
|
ok(sarun ("-L -t < data/nice/002", \&patterns_run_cb));
|
|
|
|
# Now check
|
|
ok(sarun ("-L -t < data/nice/002", \&patterns_run_cb));
|
|
ok_all_patterns();
|
|
|
|
%patterns = %is_spam_patterns;
|
|
ok(sarun ("-L -t < data/spam/004", \&patterns_run_cb));
|
|
ok_all_patterns();
|
|
|
|
%patterns = %is_spam_patterns2;
|
|
ok(sarun ("-L -t < data/spam/007", \&patterns_run_cb));
|
|
ok_all_patterns();
|
|
|
|
ok(sarun ("--remove-addr-from-whitelist whitelist_test\@whitelist.spamassassin.taint.org", \&patterns_run_cb));
|