blob: a2cf87f1d8aee7840897ad05395c67f301c9b4fd [file] [log] [blame]
#!/usr/bin/perl
use strict;
# assume we are run from a subdirectory of the top-level SpamAssassin
# build dir
use lib '../lib';
use lib '../../lib';
use Apache::Test qw(:withtestmore);
use Test::More;
use Apache::TestUtil;
use Mail::SpamAssassin::Client;
plan tests => 7, need_apache 2, need_module 'perl';
ok 1, 'loaded';
# This doesn't support IPv6, obviously. It doesn't only look weird,
# it *is* weird. Apache::Test could use some improvements.
my $hostport = Apache::TestRequest::hostport(Apache::Test::config());
my ($host, $port) = split /:/, $hostport;
my $client = Mail::SpamAssassin::Client->new(
{
port => $port,
host => $host,
username => 'someuser',
}
)
or BAIL_OUT('Mail::SpamAssassin::Client->new failed');
ok 2, 'started M::SA::Client';
SKIP: {
eval 'use Mail::SpamAssassin 3.001004 ()';
skip 'M::SA::C->ping is broken before v3.1.4', 1 if $@;
ok $client->ping, 'ping';
}
my $gtube =
"foo: bar\n\n"
. 'XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X'
. "\n";
my $result;
$result = $client->process($gtube);
ok($result, 'processed GTUBE message');
ok($result->{isspam}, 'GTUBE identified as spam by PROCESS');
$result = $client->check($gtube);
ok($result, 'checked GTUBE message');
ok($result->{isspam}, 'GTUBE identified as spam by CHECK');
# vim: ts=4 sw=4 noet