use strict;
use warnings;
use FindBin qw/$Bin/;
use lib "$Bin/lib";
use Test::More;
use Test::Exception;
use Plack::Test;
use TestApp;
use HTTP::Request::Common;
plan skip_all => "Catalyst::Engine::PSGI required for this test"
unless eval { local $SIG{__WARN__} = sub{}; require Catalyst::Engine::PSGI; 1; };
my $warning;
local $SIG{__WARN__} = sub { $warning = $_[0] };
TestApp->setup_engine('PSGI');
my $app = sub { TestApp->run(@_) };
like $warning, qr/You are running Catalyst\:\:Engine\:\:PSGI/,
'got deprecation alert warning';
test_psgi $app, sub {
my $cb = shift;
lives_ok {
my $TIMEOUT_IN_SECONDS = 5;
local $SIG{ALRM} = sub { die "alarm\n" };
alarm($TIMEOUT_IN_SECONDS);
my $res = $cb->(GET "/");
is $res->content, "root index", 'got expected content';
like $warning, qr/env as a writer/, 'got deprecation alert warning';
alarm(0);
1
} q{app didn't die or timeout};
};
done_testing;