/
gh-634.t
119 lines (97 loc) · 2.3 KB
/
gh-634.t
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
use strict;
use warnings;
use Test::More tests=> 3;
use File::Temp qw/tempdir/;
use File::Spec;
my $log_dir = tempdir( CLEANUP => 1 );
{
package LogDirSpecified;
use Dancer2;
set engines => {
logger => {
File => {
log_dir => $log_dir,
file_name => 'test_log.log',
}
}
};
set logger => 'file';
}
{
package NonExistLogDirSpecified;
use Dancer2;
set engines => {
logger => {
File => {
log_dir => "$log_dir/notexist",
file_name => 'test_log.log',
}
}
};
set logger => 'file';
}
{
package LogDirNotSpecified;
use Dancer2;
set logger => 'file';
}
my $check_cb = sub {
my ( $app, $dir, $file ) = @_;
my $logger = $app->logger_engine;
isa_ok( $logger, 'Dancer2::Logger::File' );
is(
$logger->environment,
$app->environment,
'Logger got correct environment',
);
is(
$logger->location,
$app->config_location,
'Logger got correct location',
);
is(
$logger->log_dir,
$dir,
'Logger got correct log directory',
);
is(
$logger->file_name,
$file,
'Logger got correct filename',
);
is(
$logger->log_file,
File::Spec->catfile( $dir, $file ),
'Logger got correct log file',
);
};
subtest 'test Logger::File with log_dir specified' => sub {
plan tests => 6;
my $app = [
grep { $_->name eq 'LogDirSpecified' } @{ Dancer2->runner->apps }
]->[0];
$check_cb->( $app, $log_dir, 'test_log.log' );
};
subtest 'test Logger::File with log_dir NOT specified' => sub {
plan tests => 6;
my $app = [
grep { $_->name eq 'LogDirNotSpecified' } @{ Dancer2->runner->apps }
]->[0];
$check_cb->(
$app,
File::Spec->catdir( $app->config_location, 'logs' ),
$app->environment . '.log',
);
};
subtest 'test Logger::File with non-existent log_dir specified' => sub {
plan tests => 6;
my $app = [
grep { $_->name eq 'NonExistLogDirSpecified'} @{ Dancer2->runner->apps }
]->[0];
my $logger = $app->logger_engine;
$check_cb->(
$app,
"$log_dir/notexist",
'test_log.log',
);
};