Add a NoTabs test and make it pass.
[catagits/Catalyst-Plugin-Authentication.git] / t / lib / AuthSessionTestApp / Controller / Root.pm
CommitLineData
d055ce0c 1package AuthSessionTestApp::Controller::Root;
2use strict;
3use warnings;
4use base qw/Catalyst::Controller/;
5
6__PACKAGE__->config(namespace => '');
7
8use Test::More;
9use Test::Exception;
10
11use Digest::MD5 qw/md5/;
12
13sub moose : Local {
fb90f091 14 my ( $self, $c ) = @_;
d055ce0c 15
fb90f091 16 ok(!$c->sessionid, "no session id yet");
17 ok(!$c->user_exists, "no user exists");
18 ok(!$c->user, "no user yet");
19 ok($c->login( "foo", "s3cr3t" ), "can login with clear");
20 is( $c->user, $AuthSessionTestApp::users->{foo}, "user object is in proper place");
d055ce0c 21}
22
23sub elk : Local {
fb90f091 24 my ( $self, $c ) = @_;
d055ce0c 25
fb90f091 26 ok( $c->sessionid, "session ID was restored" );
27 ok( $c->user_exists, "user exists" );
28 ok( $c->user, "a user was also restored");
29 is_deeply( $c->user, $AuthSessionTestApp::users->{foo}, "restored user is the right one (deep test - store might change identity)" );
d055ce0c 30
fb90f091 31 # Rename the user!
32 $AuthSessionTestApp::users->{bar} = delete $AuthSessionTestApp::users->{foo};
d055ce0c 33}
34
35sub yak : Local {
36 my ( $self, $c ) = @_;
37 ok( $c->sessionid, "session ID was restored after user renamed" );
38 ok( $c->user_exists, "user appears to exist" );
39 ok( !$c->user, "user was not restored");
40 ok(scalar(@{ $c->error }), 'Error recorded');
41 ok( !$c->user_exists, "user no longer appears to exist" );
42}
43
44sub goat : Local {
45 my ( $self, $c ) = @_;
46 ok($c->login( "bar", "s3cr3t" ), "can login with clear (new username)");
47 is( $c->user, $AuthSessionTestApp::users->{bar}, "user object is in proper place");
48 $c->logout;
49}
50
51sub fluffy_bunny : Local {
52 my ( $self, $c ) = @_;
53
54 ok( $c->session_is_valid, "session ID is restored after logout");
55 ok( !$c->user, "no user was restored after logout");
56
57 $c->delete_session("bah");
58}
59
60sub possum : Local {
61 my ( $self, $c ) = @_;
62
fb90f091 63 ok( !$c->session_is_valid, "no session ID was restored");
d055ce0c 64 $c->session->{definitely_not_a_user} = "moose";
65
66}
67
68sub butterfly : Local {
69 my ( $self, $c ) = @_;
70
71 ok( $c->session_is_valid, "valid session" );
72 ok( !$c->user_exists, "but no user exists" );
73 ok( !$c->user, "no user object either" );
74}
75
761;
77