Fix bug, patch from Anthony Gladdish on mailing list
[catagits/Catalyst-Authentication-Store-DBIx-Class.git] / t / 11-authsessions-load-app-context.t
CommitLineData
9db54bcf 1#!perl
2
3use strict;
4use warnings;
5use DBI;
6use File::Path;
7use FindBin;
8use Test::More;
9use lib "$FindBin::Bin/lib";
10
11BEGIN {
12 eval { require Test::WWW::Mechanize::Catalyst }
13 or plan skip_all =>
14 "Test::WWW::Mechanize::Catalyst is required for this test";
15
16 eval { require DBD::SQLite }
17 or plan skip_all =>
18 "DBD::SQLite is required for this test";
19
20 eval { require DBIx::Class }
21 or plan skip_all =>
22 "DBIx::Class is required for this test";
23
24 eval { require Catalyst::Plugin::Session;
25 die unless $Catalyst::Plugin::Session::VERSION >= 0.02 }
26 or plan skip_all =>
27 "Catalyst::Plugin::Session >= 0.02 is required for this test";
28
29 eval { require Catalyst::Plugin::Session::State::Cookie; }
30 or plan skip_all =>
31 "Catalyst::Plugin::Session::State::Cookie is required for this test";
32
33
34 plan tests => 4;
35
36 $ENV{TESTAPP_CONFIG} = {
37 name => 'TestApp',
38 authentication => {
39 default_realm => "users",
40 realms => {
41 users => {
42 credential => {
43 'class' => 'Password',
44 'password_field' => 'password',
45 },
46 store => {
47 'class' => 'Person',
48 'use_userdata_from_session' => 0,
49 },
50 },
51 },
52 },
53 };
54
55 $ENV{TESTAPP_PLUGINS} = [
56 qw/Authentication
57 Session
58 Session::Store::Dummy
59 Session::State::Cookie
60 /
61 ];
62}
63
64use Test::WWW::Mechanize::Catalyst 'TestApp';
65my $m = Test::WWW::Mechanize::Catalyst->new;
66
67# log a user in
68{
69 $m->get_ok( 'http://localhost/user_login?username=joeuser&password=hackme', undef, 'request ok' );
70 $m->content_is( 'joeuser logged in', 'user logged in ok' );
71}
72
73# verify the user is still logged in
74{
75 $m->get_ok( 'http://localhost/get_session_user', undef, 'request ok' );
76 $m->content_is( 'joeuser', 'user still logged in' );
77}
78
79