| #!/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(); |
| plan tests => 8; |
| |
| # --------------------------------------------------------------------------- |
| |
| %patterns = ( |
| q{ X_URIBL_A } => 'A', |
| q{ X_URIBL_B } => 'B', |
| q{ X_URIBL_NS } => 'NS', |
| q{ X_URIBL_DOMSONLY } => 'X_URIBL_DOMSONLY', |
| q{ META_URIBL_A } => 'META_URIBL_A', |
| q{ X_URIBL_NOTRIM } => 'X_URIBL_NOTRIM', |
| ); |
| |
| %anti_patterns = ( |
| q{ X_URIBL_FULL_NS } => '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 |
| |
| # 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 |
| |
| }); |
| |
| # note: don't leave -D here, it causes spurious passes |
| ok sarun ("-t < data/spam/dnsbl.eml 2>&1", \&patterns_run_cb); |
| ok_all_patterns(); |
| |