File: basic.t

package info (click to toggle)
libplack-middleware-logany-perl 0.002.001-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 132 kB
  • sloc: perl: 39; makefile: 2; sh: 1
file content (46 lines) | stat: -rwxr-xr-x 1,385 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#<<<
use strict; use warnings;
#>>>

use Test::More import => [ qw( BAIL_OUT is_deeply use_ok ) ], tests => 3;

use HTTP::Request::Common qw( GET );
use Log::Any::Test        qw();
use Log::Any              qw( $logger );    # Log::Any global log buffer category is "main"
use Plack::Test           qw();

my $middleware;

BEGIN {
  $middleware = 'Plack::Middleware::LogAny';
  use_ok( $middleware ) or BAIL_OUT "Cannot load middleware '$middleware'!";
}

my $category;
my $messages;

my $app = sub {
  my ( $env ) = @_;
  map { $env->{ 'psgix.logger' }->( $_ ) } @{ $messages };
  return [ 200, [], [] ];
};

$category = '';
$messages = [
  { category => $category, level => 'trace', message => 'this is a trace message' },
  { category => $category, level => 'debug', message => 'this is a debug message' }
];

Plack::Test->create( $middleware->wrap( $app ) )->request( GET '/' );
is_deeply $logger->msgs, $messages, 'check Log::Any global log buffer (root logger based logging)';

$logger->clear;

$category = 'plack.test';
$messages = [
  { category => $category, level => 'info',    message => 'this is an info message' },
  { category => $category, level => 'warning', message => 'this is a warning message' }
];

Plack::Test->create( $middleware->wrap( $app, category => $category ) )->request( GET '/' );
is_deeply $logger->msgs, $messages, 'check Log::Any global log buffer';