1 package AuthSessionTestApp::Controller::Root;
4 use base qw/Catalyst::Controller/;
6 __PACKAGE__->config(namespace => '');
10 use Digest::MD5 qw/md5/;
13 my ( $self, $c ) = @_;
15 ok(!$c->sessionid, "no session id yet");
16 ok(!$c->user_exists, "no user exists");
17 ok(!$c->user, "no user yet");
18 ok($c->login( "foo", "s3cr3t" ), "can login with clear");
19 is( $c->user, $AuthSessionTestApp::users->{foo}, "user object is in proper place");
23 my ( $self, $c ) = @_;
25 ok( $c->sessionid, "session ID was restored" );
26 ok( $c->user_exists, "user exists" );
27 ok( $c->user, "a user was also restored");
28 is_deeply( $c->user, $AuthSessionTestApp::users->{foo}, "restored user is the right one (deep test - store might change identity)" );
31 $AuthSessionTestApp::users->{bar} = delete $AuthSessionTestApp::users->{foo};
35 my ( $self, $c ) = @_;
36 ok( $c->sessionid, "session ID was restored after user renamed" );
37 ok( $c->user_exists, "user appears to exist" );
38 ok( !$c->user, "user was not restored");
39 ok(scalar(@{ $c->error }), 'Error recorded');
40 ok( !$c->user_exists, "user no longer appears to exist" );
44 my ( $self, $c ) = @_;
45 ok($c->login( "bar", "s3cr3t" ), "can login with clear (new username)");
46 is( $c->user, $AuthSessionTestApp::users->{bar}, "user object is in proper place");
50 sub fluffy_bunny : Local {
51 my ( $self, $c ) = @_;
53 ok( $c->session_is_valid, "session ID is restored after logout");
54 ok( !$c->user, "no user was restored after logout");
56 $c->delete_session("bah");
60 my ( $self, $c ) = @_;
62 ok( !$c->session_is_valid, "no session ID was restored");
63 $c->session->{definitely_not_a_user} = "moose";
67 sub butterfly : Local {
68 my ( $self, $c ) = @_;
70 ok( $c->session_is_valid, "valid session" );
71 ok( !$c->user_exists, "but no user exists" );
72 ok( !$c->user, "no user object either" );