Make legacy IIS env fixing work again
[catagits/Catalyst-Runtime.git] / t / aggregate / unit_core_engine_fixenv-iis6.t
CommitLineData
c46dd4e8 1#!perl
2
3use strict;
4use warnings;
5
6use Test::More;
7
a6fb59b7 8use Catalyst;
c46dd4e8 9
10my %env = (
11 'SCRIPT_NAME' => '/koo/blurb',
12 'PATH_INFO' => '/koo/blurb',
13 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
14 'REQUEST_METHOD' => 'GET',
15 'SCRIPT_FILENAME' => 'C:\\Foo\\script\\blurb',
16 'INSTANCE_META_PATH' => '/LM/W3SVC/793536',
17 'SERVER_SOFTWARE' => 'Microsoft-IIS/6.0',
18 'AUTH_PASSWORD' => '',
19 'AUTH_TYPE' => '',
20 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows; U; Windows NT 5.2; de; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 (.NET CLR 3.5.30729)',
21 'REMOTE_PORT' => '1281',
22 'QUERY_STRING' => '',
23 'URL' => '/koo/blurb',
24 'HTTP_ACCEPT_LANGUAGE' => 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3',
25 'FCGI_ROLE' => 'RESPONDER',
26 'HTTP_KEEP_ALIVE' => '300',
27 'CONTENT_TYPE' => '',
28 'LOCAL_ADDR' => '127.0.0.1',
29 'GATEWAY_INTERFACE' => 'CGI/1.1',
30 'HTTPS' => 'off',
31 'DOCUMENT_ROOT' => 'C:\\Foo\\script',
32 'REMOTE_HOST' => '127.0.0.1',
33 'PATH_TRANSLATED' => 'C:\\Foo\\script\\blurb',
34 'APPL_PHYSICAL_PATH' => 'C:\\Foo\\script\\',
35 'SERVER_NAME' => '127.0.0.1',
36 'HTTP_ACCEPT_ENCODING' => 'gzip,deflate',
37 'HTTP_CONNECTION' => 'keep-alive',
38 'INSTANCE_ID' => '793536',
39 'CONTENT_LENGTH' => '0',
40 'AUTH_USER' => '',
41 'APPL_MD_PATH' => '/LM/W3SVC/793536/Root/koo',
42 'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
43 'REMOTE_USER' => '',
44 'SERVER_PORT_SECURE' => '0',
45 'SERVER_PORT' => 83,
46 'REMOTE_ADDR' => '127.0.0.1',
47 'SERVER_PROTOCOL' => 'HTTP/1.1',
48 'REQUEST_URI' => '/koo/blurb',
49 'APP_POOL_ID' => 'DefaultAppPool',
50 'HTTP_HOST' => '127.0.0.1:83'
51);
52
a6fb59b7 53sub fix_env {
54 my (%input_env) = @_;
55
56 my $mangled_env;
57 my $app = Catalyst->_wrapped_legacy_psgi_app(sub {
58 my ($env) = @_;
59 $mangled_env = $env;
60 return [ 200, ['Content-Type' => 'text/plain'], [''] ];
61 });
62
63 $app->({ %input_env, 'psgi.url_scheme' => 'http' });
64 return %{ $mangled_env };
65}
66
67my %fixed_env = fix_env(%env);
c46dd4e8 68
a6fb59b7 69is($fixed_env{PATH_INFO}, '//blurb', 'check PATH_INFO');
70is($fixed_env{SCRIPT_NAME}, '/koo', 'check SCRIPT_NAME');
c46dd4e8 71
a6fb59b7 72done_testing;