Commit | Line | Data |
e74b3d5c |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use FindBin; |
5 | use lib "$FindBin::Bin/../lib"; |
6 | |
7 | use vars qw/ |
8 | $EXPECTED_ENV_VAR |
9 | $EXPECTED_ENV_VAL |
10 | /; |
11 | |
12 | BEGIN { |
d7eb055c |
13 | $EXPECTED_ENV_VAR = "CATALYSTTEST$$"; # has to be uppercase otherwise fails on Win32 |
fb34eb9c |
14 | $EXPECTED_ENV_VAL = "Test env value " . rand(100000); |
e74b3d5c |
15 | } |
16 | |
faa02805 |
17 | use Test::More; |
e74b3d5c |
18 | use Catalyst::Test 'TestApp'; |
19 | |
20 | use Catalyst::Request; |
21 | use HTTP::Headers; |
22 | use HTTP::Request::Common; |
23 | |
501860b2 |
24 | my $response = request("http://localhost/dump/env", { |
25 | extra_env => { $EXPECTED_ENV_VAR => $EXPECTED_ENV_VAL }, |
26 | }); |
27 | |
28 | ok( $response, 'Request' ); |
29 | ok( $response->is_success, 'Response Successful 2xx' ); |
30 | is( $response->content_type, 'text/plain', 'Response Content-Type' ); |
31 | |
32 | my $env; |
33 | ok( eval '$env = ' . $response->content, 'Unserialize Catalyst::Request' ); |
34 | is ref($env), 'HASH'; |
35 | ok exists($env->{PATH_INFO}), 'Have a PATH_INFO env var for dump/env'; |
36 | |
37 | SKIP: |
38 | { |
39 | if ( $ENV{CATALYST_SERVER} ) { |
40 | skip 'Using remote server', 1; |
e74b3d5c |
41 | } |
501860b2 |
42 | is $env->{$EXPECTED_ENV_VAR}, $EXPECTED_ENV_VAL, |
43 | 'Value we set as expected for /dump/env' |
e74b3d5c |
44 | } |
45 | |
faa02805 |
46 | done_testing; |
47 | |