remove unnecessary Path::Class dep from test
[catagits/Catalyst-Plugin-ConfigLoader.git] / t / 25-setting-config-file.t
CommitLineData
802a7626 1use strict;
2use warnings;
3
4use FindBin;
5use lib "$FindBin::Bin/lib";
6
7use Test::More;
8
9BEGIN {
10
11 # Remove all relevant env variables to avoid accidental fail
12 foreach my $name ( grep { m{^(CATALYST|MOCKAPP)} } keys %ENV ) {
13 delete $ENV{ $name };
14 }
15
16 eval { require Catalyst; Catalyst->VERSION( '5.80001' ); };
17
18 plan skip_all => 'Catalyst 5.80001 required' if $@;
8504776d 19 plan tests => 18;
802a7626 20
57eb9f30 21 use Catalyst::Test ();
802a7626 22
23}
24
25## TestApp1: a .conf config file exists but should not be loaded
26{
27
28 Catalyst::Test->import('TestApp1');
29
30 note( "TestApp1" );
31
32 ok my ( $res, $c ) = ctx_request( '/' ), 'context object';
33
34 isa_ok( $c, "TestApp1" );
35
36 subtest "normal config loaded" => sub {
37
38 is( get( '/appconfig/foo' ), "bar1", "config var foo ok" );
39
40 ## a config var not set will give a blank web page hence ""
41 is( get( '/appconfig/bar' ), "", "config var in custom config" );
42
43 };
44 is( get( '/appconfig/bar' ), "", "custom config not loaded" );
45}
46
47## TestApp2: config points to a file in addition to normal config and
48## should get loaded
49{
50 Catalyst::Test->import('TestApp2');
51
52 note( "TestApp2" );
53
54 ok my ( $res, $c ) = ctx_request( '/' ), 'context object';
55
56 isa_ok( $c, "TestApp2" );
57
58 subtest "normal config loaded" => sub {
59
60 is( get( '/appconfig/foo' ), "bar2", "config var foo" );
61
62 is( get( '/appconfig/unspecified_variable' ), "", "unknown config var" );
63
64 };
65
66 is( get( '/appconfig/bar' ), "baz2", "custom config loaded" );
67}
68
69## TestApp3: config points to a directory
70{
71 Catalyst::Test->import('TestApp3');
72
73 note( "TestApp3" );
74
75 ok my ( $res, $c ) = ctx_request( '/' ), 'context object';
76
77 isa_ok( $c, "TestApp3" );
78
79 subtest "normal config loaded" => sub {
80
81 is( get( '/appconfig/foo' ), "bar3", "config var foo" );
82
83 is( get( '/appconfig/unspecified_variable' ), "", "unknown config var" );
84
85 };
86
802a7626 87 is( get( '/appconfig/test3_conf3' ), "a_value", "custom config var3 set" );
88 is( get( '/appconfig/test3_conf4' ), "", "custom config var4 not set" );
89
90}
91
92## TestApp4: config points to a directory with a suffix
93{
94 Catalyst::Test->import('TestApp4');
95
96 note( "TestApp4" );
97
98 ok my ( $res, $c ) = ctx_request( '/' ), 'context object';
99
100 isa_ok( $c, "TestApp4" );
101
102 subtest "normal config loaded" => sub {
103
104 is( get( '/appconfig/foo' ), "bar4", "config var foo" );
105
106 is( get( '/appconfig/unspecified_variable' ), "", "unknown config var" );
107
108 };
109
802a7626 110 is( get( '/appconfig/test4_conf3' ), "a_value", "custom config var3 set" );
111 is( get( '/appconfig/test4_conf4' ), "", "custom config var4 not set" );
112
113}