|
Lines 17-23
Link Here
|
| 17 |
|
17 |
|
| 18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
| 19 |
|
19 |
|
| 20 |
use Test::More tests => 1; |
20 |
use Test::More tests => 2; |
| 21 |
use Test::Mojo; |
21 |
use Test::Mojo; |
| 22 |
use Test::Warn; |
22 |
use Test::Warn; |
| 23 |
|
23 |
|
|
Lines 29-35
use Mojolicious::Lite;
Link Here
|
| 29 |
use Try::Tiny; |
29 |
use Try::Tiny; |
| 30 |
|
30 |
|
| 31 |
my $config = { |
31 |
my $config = { |
| 32 |
'log4perl.logger.rest.Koha.REST.V1' => 'ERROR, TEST', |
32 |
'log4perl.logger.rest.Koha.REST.V1' => 'DEBUG, TEST', |
| 33 |
'log4perl.appender.TEST' => 'Log::Log4perl::Appender::TestBuffer', |
33 |
'log4perl.appender.TEST' => 'Log::Log4perl::Appender::TestBuffer', |
| 34 |
'log4perl.appender.TEST.layout' => 'SimpleLayout', |
34 |
'log4perl.appender.TEST.layout' => 'SimpleLayout', |
| 35 |
}; |
35 |
}; |
|
Lines 103-108
subtest 'default_exception_handling() tests' => sub {
Link Here
|
| 103 |
}; |
103 |
}; |
| 104 |
}; |
104 |
}; |
| 105 |
|
105 |
|
|
|
106 |
subtest 'log_response() tests' => sub { |
| 107 |
plan tests => 12; |
| 108 |
|
| 109 |
$t->app->routes->get('/response/log/json' => sub { |
| 110 |
$_[0]->render( status => 200, json => { wow => "it worked" } ) |
| 111 |
}); |
| 112 |
$t->app->routes->get('/response/log/other' => sub { |
| 113 |
$_[0]->render( status => 200, data => '<b>ERROR!</b>' ) |
| 114 |
}); |
| 115 |
$t->app->routes->get('/response/log/500' => sub { |
| 116 |
die; |
| 117 |
}); |
| 118 |
|
| 119 |
my $appender = Log::Log4perl->appenders->{TEST}; |
| 120 |
|
| 121 |
$t->get_ok('/response/log/json') |
| 122 |
->status_is(200) |
| 123 |
->json_is('/wow' => 'it worked'); |
| 124 |
is($appender->buffer, |
| 125 |
"DEBUG - {\"json\":{\"wow\":\"it worked\"},\"status\":200}\n", |
| 126 |
'Found response JSON' |
| 127 |
); |
| 128 |
$appender->{appender}->{buffer} = undef; |
| 129 |
|
| 130 |
$t->get_ok('/response/log/other') |
| 131 |
->status_is(200) |
| 132 |
->content_is('<b>ERROR!</b>'); |
| 133 |
is($appender->buffer, |
| 134 |
"DEBUG - {\"data\":\"<b>ERROR!<\\/b>\",\"status\":200}\n", |
| 135 |
'Found response JSON' |
| 136 |
); |
| 137 |
$appender->{appender}->{buffer} = undef; |
| 138 |
|
| 139 |
$t->get_ok('/response/log/500') |
| 140 |
->status_is(500) |
| 141 |
->json_is('/error' => 'Something went wrong, check the logs.'); |
| 142 |
like($appender->buffer, |
| 143 |
qr/DEBUG - \{"json":\{"error":"Something went wrong, check the logs."\},"status":500\}\n/, |
| 144 |
'Found response error content' |
| 145 |
); |
| 146 |
$appender->{appender}->{buffer} = undef; |
| 147 |
|
| 148 |
}; |
| 149 |
|
| 106 |
sub add_default_exception_routes { |
150 |
sub add_default_exception_routes { |
| 107 |
my ($t) = @_; |
151 |
my ($t) = @_; |
| 108 |
|
152 |
|
| 109 |
- |
|
|