| #!/usr/bin/perl -T |
| |
| use lib '.'; use lib 't'; |
| use SATest; sa_t_init("shortcircuit_before_dns"); |
| |
| 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 => 4; |
| |
| # --------------------------------------------------------------------------- |
| |
| %patterns = ( |
| q{ SC_TEST_NO_DNS } => 'SC_TEST_NO_DNS', |
| ); |
| |
| %anti_patterns = ( |
| 'dns: bgsend' => 'dns', |
| ); |
| |
| |
| my $conf = " |
| |
| loadplugin Mail::SpamAssassin::Plugin::Shortcircuit |
| |
| rbl_timeout 60 |
| |
| clear_trusted_networks |
| trusted_networks 127. |
| trusted_networks 10. |
| trusted_networks 150.51.53.1 |
| |
| header DNSBL_TEST_TOP eval:check_rbl('test', 'dnsbltest.spamassassin.org.') |
| tflags DNSBL_TEST_TOP net |
| |
| # No DNS lookups are supposed to start before priority -100, |
| # so our shortcircuit is at -101 .. |
| |
| body SC_TEST_NO_DNS /./ |
| priority SC_TEST_NO_DNS -101 |
| shortcircuit SC_TEST_NO_DNS on |
| |
| "; |
| |
| tstprefs($conf); |
| |
| # we need -D output for patterns |
| sarun ("-D -t < data/spam/dnsbl.eml 2>&1", \&patterns_run_cb); |
| ok_all_patterns(); |
| clear_pattern_counters(); |
| |
| # |
| # Try again, this time we want to see DNS |
| # |
| |
| # Should see DNS at -100 |
| $conf =~ s/SC_TEST_NO_DNS -101/SC_TEST_NO_DNS -100/; |
| |
| %patterns = ( |
| q{ SC_TEST_NO_DNS } => 'SC_TEST_NO_DNS', |
| 'dns: bgsend' => 'dns', |
| ); |
| %anti_patterns = (); |
| |
| tstprefs($conf); |
| sarun ("-D -t < data/spam/dnsbl.eml 2>&1", \&patterns_run_cb); |
| ok_all_patterns(); |
| |