DBIx-Class-QueryLog-Conditional
view release on metacpan or search on metacpan
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Test::Fatal;
use Test::Deep;
use aliased 'DBIx::Class::QueryLog::Conditional';
subtest instantiation => sub {
ok(
Conditional->new(logger => ValidLogger->new ),
'valid logger'
);
ok(
exception { Conditional->new(logger => InValidLogger->new ) },
'invalid logger',
);
};
subtest 'vanilla log' => sub {
my $a = ValidLogger->new;
my $tee = Conditional->new( logger => $a );
$tee->query_start('foo');
$tee->query_end('foo');
cmp_deeply($a->_data,
[ ['query_start', 'foo'], ['query_end', 'foo'] ],
'messages passed through correctly',
);
$a->reset_data;
$tee->enabled(0);
$tee->query_start('foo');
$tee->query_end('foo');
cmp_deeply($a->_data,
[],
'disabling logger works',
);
};
subtest 'custom log' => sub {
my $a = ValidLogger->new;
my $b = 1;
my $tee = Conditional->new(
logger => $a,
enabled_method => sub { $b },
);
$tee->query_start('foo');
$tee->query_end('foo');
cmp_deeply($a->_data,
[ ['query_start', 'foo'], ['query_end', 'foo'] ],
'messages passed through correctly',
);
$a->reset_data;
$b = 0;
( run in 0.850 second using v1.01-cache-2.11-cpan-54e63673c56 )