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 | |
faa02805 |
24 | foreach my $path (qw/ env env_on_engine /) { |
25 | my $response = request("http://localhost/dump/${path}", { |
fb34eb9c |
26 | extra_env => { $EXPECTED_ENV_VAR => $EXPECTED_ENV_VAL }, |
27 | }); |
2f0a5436 |
28 | |
fb34eb9c |
29 | ok( $response, 'Request' ); |
e74b3d5c |
30 | ok( $response->is_success, 'Response Successful 2xx' ); |
31 | is( $response->content_type, 'text/plain', 'Response Content-Type' ); |
fb34eb9c |
32 | |
33 | my $env; |
69cc9001 |
34 | ok( eval '$env = ' . $response->content, 'Unserialize Catalyst::Request' ); |
35 | is ref($env), 'HASH'; |
faa02805 |
36 | ok exists($env->{PATH_INFO}), 'Have a PATH_INFO env var for ' . $path; |
e74b3d5c |
37 | |
38 | SKIP: |
39 | { |
40 | if ( $ENV{CATALYST_SERVER} ) { |
41 | skip 'Using remote server', 1; |
42 | } |
43 | is $env->{$EXPECTED_ENV_VAR}, $EXPECTED_ENV_VAL, |
faa02805 |
44 | 'Value we set as expected for ' . $path; |
e74b3d5c |
45 | } |
46 | } |
47 | |
faa02805 |
48 | done_testing; |
49 | |