Adding backwards compatibility for DBIC style session variables
[catagits/Catalyst-Authentication-Store-DBIx-Class.git] / t / 03-authtest.t
CommitLineData
ad93b3e9 1#!perl\r
2\r
3use strict;\r
4use warnings;\r
5use DBI;\r
6use File::Path;\r
7use FindBin;\r
8use Test::More;\r
9use lib "$FindBin::Bin/lib";\r
10\r
11BEGIN {\r
12 eval { require DBD::SQLite }\r
13 or plan skip_all =>\r
14 "DBD::SQLite is required for this test";\r
15\r
16 eval { require DBIx::Class }\r
17 or plan skip_all =>\r
18 "DBIx::Class is required for this test";\r
19\r
20 plan tests => 14;\r
21\r
22 $ENV{TESTAPP_DB_FILE} = "$FindBin::Bin/auth.db" unless exists($ENV{TESTAPP_DB_FILE});\r
23\r
24 $ENV{TESTAPP_CONFIG} = {\r
25 name => 'TestApp',\r
26 authentication => {\r
27 default_realm => "users",\r
28 realms => {\r
29 users => {\r
30 credential => {\r
31 'class' => "Password",\r
32 'password_field' => 'password',\r
33 'password_type' => 'clear'\r
34 },\r
35 store => {\r
36 'class' => 'DBIx::Class',\r
37 'user_class' => 'TestApp::User',\r
38 },\r
39 },\r
40 },\r
41 },\r
42 };\r
43\r
44 $ENV{TESTAPP_PLUGINS} = [\r
45 qw/Authentication/\r
46 ];\r
47}\r
48\r
49use SetupDB;\r
50\r
51use Catalyst::Test 'TestApp';\r
52\r
53# log a user in\r
54{\r
55 ok( my $res = request('http://localhost/user_login?username=joeuser&password=hackme'), 'request ok' );\r
56 is( $res->content, 'joeuser logged in', 'user logged in ok' );\r
57}\r
58\r
59# invalid user\r
60{\r
61 ok( my $res = request('http://localhost/user_login?username=foo&password=bar'), 'request ok' );\r
62 is( $res->content, 'not logged in', 'user not logged in ok' );\r
63}\r
64\r
65# disabled user - no disable check\r
66{\r
67 ok( my $res = request('http://localhost/user_login?username=spammer&password=broken'), 'request ok' );\r
68 is( $res->content, 'spammer logged in', 'status check - disabled user logged in ok' );\r
69}\r
70\r
71# disabled user - should fail login\r
72{\r
73 ok( my $res = request('http://localhost/notdisabled_login?username=spammer&password=broken'), 'request ok' );\r
74 is( $res->content, 'not logged in', 'status check - disabled user not logged in ok' );\r
75}\r
76\r
77# log the user out\r
78{\r
79 ok( my $res = request('http://localhost/user_logout'), 'request ok' );\r
80 is( $res->content, 'logged out', 'user logged out ok' );\r
81}\r
82\r
83# searchargs test\r
84{\r
85 ok( my $res = request('http://localhost/searchargs_login?email=nada%40mucho.net&password=much'), 'request ok' );\r
86 is( $res->content, 'nuffin logged in', 'searchargs based login ok' );\r
87}\r
88\r
89# resultset test\r
90# searchargs test\r
91{\r
92 ok( my $res = request('http://localhost/resultset_login?email=j%40cpants.org&password=letmein'), 'request ok' );\r
93 is( $res->content, 'jayk logged in', 'resultset based login ok' );\r
94}\r
95\r
96\r
97# clean up\r
98unlink $ENV{TESTAPP_DB_FILE};\r