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