#!perl
use strict;
use lib 't/lib';
use MyAdapter;
use MyCache;
use MyLog;
use Test::More tests => 7;
my $credentials = {
user => 'password'
};
my $adapter = MyAdapter->new(
credentials => $credentials,
log => MyLog->new
);
ok( $adapter );
$adapter->callback( sub { undef } );
ok( $adapter->authenticate( 'user', 'password' ) );
like( $adapter->log->messages->[-1], qr/Successfully authenticated user 'user'/ );
$adapter->callback( sub { 1 } );
ok( $adapter->authenticate( 'user', 'password' ) );
like( $adapter->log->messages->[-1], qr/Callback returned a true value/ );
$adapter->callback( sub { 0 } );
ok( !$adapter->authenticate( 'user', 'password' ) );
like( $adapter->log->messages->[-1], qr/Callback returned a false value/ );