Update for new Catalyst version and upcoming new Session plugin version
[catagits/Catalyst-Plugin-Session-State-Stash.git] / t / lib / TestApp / Controller / Root.pm
1 package TestApp::Controller::Root;
2 use strict;
3 use warnings;
4 use base qw/Catalyst::Controller/;
5
6 __PACKAGE__->config( namespace => '' );
7
8 sub start_session : Local {
9     my ( $self, $c ) = @_;
10     $c->session->{counter} = 1;
11     $c->res->body($c->stash->{_session}->{id});
12 }
13
14 sub page : Local {
15     my ( $self, $c, $id ) = @_;
16     $c->stash ( '_session' => {id => $id} );
17     $c->res->body( "Hi! hit number " . ++$c->session->{counter} );
18 }
19
20 sub stream : Local {
21     my ( $self, $c, $id ) = @_;
22     $c->stash ( '_session' => {id => $id} );
23     my $count = ++$c->session->{counter};
24     $c->res->body("hit number $count");
25 }
26
27 sub deleteme : Local {
28     my ( $self, $c, $id ) = @_;
29     $c->stash ( '_session' => {id => $id} );
30     my $id2 = $c->get_session_id;
31     $c->delete_session;
32     my $id3 = $c->get_session_id;
33
34     # In the success case, print 'Pass'
35     if (defined $id2 &&
36         defined $id3 &&
37         $id2 ne $id3
38     ) {
39         $c->res->body('PASS');
40     } else {
41         #In the failure case, provide debug info
42         $id3 ||= '';
43         $c->res->body("FAIL: Matching ids, $id3");
44     }
45 }
46
47 1;