proxmox-spamassassin/upstream/t/uribl.t
Stoiko Ivanov ae52237fd8 update SpamAssassin to 4.0.0
generated by make update-upstream

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2023-03-13 21:13:17 +01:00

80 lines
2.3 KiB
Perl
Executable File

#!/usr/bin/perl -T
use lib '.'; use lib 't';
use SATest; sa_t_init("uribl");
use Test::More;
plan skip_all => "Net tests disabled" unless conf_bool('run_net_tests');
plan skip_all => "Can't use Net::DNS Safely" unless can_use_net_dns_safely();
# run many times to catch some random natured failures
my $iterations = 5;
plan tests => 10 * $iterations;
# ---------------------------------------------------------------------------
%patterns = (
q{ 1.0 X_URIBL_A } => '',
q{ 1.0 X_URIBL_B } => '',
q{ 1.0 X_URIBL_NS } => '',
q{ 1.0 X_URIBL_DOMSONLY } => '',
q{ 1.0 META_URIBL_A } => '',
q{ 1.0 META_URIBL_B } => '',
q{ 1.0 META_URIBL_NS } => '',
q{ 1.0 X_URIBL_NOTRIM } => '',
);
%anti_patterns = (
q{ X_URIBL_FULL_NS } => '',
);
tstlocalrules(q{
rbl_timeout 30
urirhssub X_URIBL_A dnsbltest.spamassassin.org. A 2
body X_URIBL_A eval:check_uridnsbl('X_URIBL_A')
tflags X_URIBL_A net
urirhssub X_URIBL_B dnsbltest.spamassassin.org. A 4
body X_URIBL_B eval:check_uridnsbl('X_URIBL_B')
tflags X_URIBL_B net
urinsrhssub X_URIBL_NS dnsbltest.spamassassin.org. A 8
body X_URIBL_NS eval:check_uridnsbl('X_URIBL_NS')
tflags X_URIBL_NS net
urifullnsrhssub X_URIBL_FULL_NS dnsbltest.spamassassin.org. A 8
body X_URIBL_FULL_NS eval:check_uridnsbl('X_URIBL_FULL_NS')
tflags X_URIBL_FULL_NS net
urirhssub X_URIBL_DOMSONLY dnsbltest.spamassassin.org. A 2
body X_URIBL_DOMSONLY eval:check_uridnsbl('X_URIBL_DOMSONLY')
tflags X_URIBL_DOMSONLY net domains_only
add_header all RBL _RBL_
# Bug 7897 - test that meta rules depending on net rules hit
meta META_URIBL_A X_URIBL_A
# It also needs to hit even if priority is lower than dnsbl (-100)
meta META_URIBL_B X_URIBL_B
priority META_URIBL_B -500
# Or super high
meta META_URIBL_NS X_URIBL_NS
priority META_URIBL_NS 2000
priority X_URIBL_NS 2000
# Bug 7835 - tflags notrim
urirhssub X_URIBL_NOTRIM dnsbltest.spamassassin.org. A 16
body X_URIBL_NOTRIM eval:check_uridnsbl('X_URIBL_NOTRIM')
tflags X_URIBL_NOTRIM net domains_only notrim
});
for (1 .. $iterations) {
clear_localrules() if $_ == 3; # do some tests without any other rules to check meta bugs
ok sarun ("-t < data/spam/dnsbl.eml", \&patterns_run_cb);
ok_all_patterns();
}