qpsmtpd/t/plugin_tests/sender_permitted_from
Matt Simerson b00f4c7793 initial import - based on my qpsmtpd fork
which will merge into the main branch fairly easily
2012-06-22 05:38:01 -04:00

51 lines
1.3 KiB
Perl

#!perl -w
use strict;
use warnings;
use Qpsmtpd::Constants;
my $r;
sub register_tests {
my $self = shift;
eval 'use Mail::SPF';
return if $@;
$self->register_test('test_is_relayclient', 3);
$self->register_test('test_is_special_recipient', 5);
}
sub test_is_relayclient {
my $self = shift;
my $transaction = $self->qp->transaction;
ok( ! $self->is_relayclient( $transaction ),
"sender_permitted_from, is_relayclient -");
$self->qp->connection->relay_client(1);
ok( $self->is_relayclient( $transaction ),
"sender_permitted_from, is_relayclient +");
$self->qp->connection->relay_client(0);
$self->qp->connection->remote_ip('192.168.7.5');
my $client_ip = $self->qp->connection->remote_ip;
ok( $client_ip, "sender_permitted_from, relayclients ($client_ip)");
};
sub test_is_special_recipient {
my $self = shift;
my $transaction = $self->qp->transaction;
my $address = Qpsmtpd::Address->new('user@example.com');
ok( ! $self->is_special_recipient( $address ), "is_special_recipient -");
foreach my $user ( qw/ postmaster abuse mailer-daemon root / ) {
$address = Qpsmtpd::Address->new("$user\@example.com");
ok( $self->is_special_recipient( $address ), "is_special_recipient ($user)");
};
};