File: Root.pm

package info (click to toggle)
libcatalyst-plugin-authentication-perl 0.10024-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 508 kB
  • sloc: perl: 1,531; makefile: 2
file content (76 lines) | stat: -rw-r--r-- 2,095 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package AuthSessionTestApp::Controller::Root;
use strict;
use warnings;
use base qw/Catalyst::Controller/;

__PACKAGE__->config(namespace => '');

use Test::More;

use Digest::MD5 qw/md5/;

sub moose : Local {
    my ( $self, $c ) = @_;

    ok(!$c->sessionid, "no session id yet");
    ok(!$c->user_exists, "no user exists");
    ok(!$c->user, "no user yet");
    ok($c->login( "foo", "s3cr3t" ), "can login with clear");
    is( $c->user, $AuthSessionTestApp::users->{foo}, "user object is in proper place");
}

sub elk : Local {
    my ( $self, $c ) = @_;

    ok( $c->sessionid, "session ID was restored" );
    ok( $c->user_exists, "user exists" );
    ok( $c->user, "a user was also restored");
    is_deeply( $c->user, $AuthSessionTestApp::users->{foo}, "restored user is the right one (deep test - store might change identity)" );

    # Rename the user!
    $AuthSessionTestApp::users->{bar} = delete $AuthSessionTestApp::users->{foo};
}

sub yak : Local {
    my ( $self, $c ) = @_;
    ok( $c->sessionid, "session ID was restored after user renamed" );
    ok( $c->user_exists, "user appears to exist" );
    ok( !$c->user, "user was not restored");
    ok(scalar(@{ $c->error }), 'Error recorded');
    ok( !$c->user_exists, "user no longer appears to exist" );
}

sub goat : Local {
    my ( $self, $c ) = @_;
    ok($c->login( "bar", "s3cr3t" ), "can login with clear (new username)");
    is( $c->user, $AuthSessionTestApp::users->{bar}, "user object is in proper place");
    $c->logout;
}

sub fluffy_bunny : Local {
    my ( $self, $c ) = @_;

    ok( $c->session_is_valid, "session ID is restored after logout");
    ok( !$c->user, "no user was restored after logout");

    $c->delete_session("bah");
}

sub possum : Local {
    my ( $self, $c ) = @_;

    ok( !$c->session_is_valid, "no session ID was restored");
    $c->session->{definitely_not_a_user} = "moose";

}

sub butterfly : Local {
    my ( $self, $c ) = @_;

    ok( $c->session_is_valid, "valid session" );
    ok( !$c->user_exists, "but no user exists" );
    ok( !$c->user, "no user object either" );
}

1;