Move hook testing stuff to Test::Qpsmtpd
This makes it more available to plugins outside of t/plugin_tests/
This commit is contained in:
parent
46d26848a9
commit
7f357af1c2
@ -118,4 +118,37 @@ sub run_plugin_tests {
|
|||||||
$Test->done_testing();
|
$Test->done_testing();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub fake_hook {
|
||||||
|
my ( $self, $hook, $sub ) = @_;
|
||||||
|
unshift @{ $self->hooks->{$hook} ||= [] },
|
||||||
|
{
|
||||||
|
name => '___FakeHook___',
|
||||||
|
code => $sub,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
sub unfake_hook {
|
||||||
|
my ( $self, $hook ) = @_;
|
||||||
|
$self->hooks->{$hook} = [
|
||||||
|
grep { $_->{name} ne '___FakeHook___' }
|
||||||
|
@{ $self->hooks->{$hook} || [] }
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
sub fake_config {
|
||||||
|
my $self = shift;
|
||||||
|
my $fake_config = {@_};
|
||||||
|
$self->fake_hook( 'config',
|
||||||
|
sub {
|
||||||
|
my ( $self, $txn, $conf ) = @_;
|
||||||
|
return DECLINED if ! exists $fake_config->{$conf};
|
||||||
|
return OK, $fake_config->{$conf};
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
sub unfake_config {
|
||||||
|
my ( $self ) = @_;
|
||||||
|
$self->unfake_hook('config');
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
@ -84,37 +84,9 @@ sub validate_password {
|
|||||||
return $deny, "$file - wrong password";
|
return $deny, "$file - wrong password";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub fake_hook {
|
sub fake_hook { shift->qp->fake_hook(@_) }
|
||||||
my ( $self, $hook, $sub ) = @_;
|
sub unfake_hook { shift->qp->unfake_hook(@_) }
|
||||||
unshift @{ $self->qp->hooks->{$hook} ||= [] },
|
sub fake_config { shift->qp->fake_config(@_) }
|
||||||
{
|
sub unfake_config { shift->qp->unfake_config(@_) }
|
||||||
name => '___FakeHook___',
|
|
||||||
code => $sub,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
sub unfake_hook {
|
|
||||||
my ( $self, $hook ) = @_;
|
|
||||||
$self->qp->hooks->{$hook} = [
|
|
||||||
grep { $_->{name} ne '___FakeHook___' }
|
|
||||||
@{ $self->qp->hooks->{$hook} || [] }
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
sub fake_config {
|
|
||||||
my $self = shift;
|
|
||||||
my $fake_config = {@_};
|
|
||||||
$self->fake_hook( 'config',
|
|
||||||
sub {
|
|
||||||
my ( $self, $txn, $conf ) = @_;
|
|
||||||
return DECLINED if ! exists $fake_config->{$conf};
|
|
||||||
return OK, $fake_config->{$conf};
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
sub unfake_config {
|
|
||||||
my ( $self ) = @_;
|
|
||||||
$self->unfake_hook('config');
|
|
||||||
}
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
Loading…
Reference in New Issue
Block a user