6 use Test::More tests => 6;
8 use Test::MockObject::Extends;
11 BEGIN { use_ok( $m = "Catalyst::Plugin::SessionHP::State::Cookie" ) }
13 my $cookie = Test::MockObject->new;
14 $cookie->set_always( value => "the session id" );
16 my $req = Test::MockObject->new;
18 $req->set_always( cookies => \%req_cookies );
20 my $res = Test::MockObject->new;
22 $res->set_always( cookies => \%res_cookies );
25 Test::MockObject::Extends->new("Catalyst::Plugin::SessionHP::State::Cookie");
27 $cxt->set_always( config => {} );
28 $cxt->set_always( request => $req );
29 $cxt->set_always( response => $res );
30 $cxt->set_always( session => { } );
31 $cxt->set_always( session_expires => 123 );
32 $cxt->set_false("debug");
34 $cxt->mock( session_id => sub { shift; $session_id = shift if @_; $session_id } );
36 can_ok( $m, "setup_session" );
40 like( $cxt->config->{session}{cookie_name},
41 qr/_session$/, "default cookie name is set" );
43 $cxt->config->{session}{cookie_name} = "session";
45 can_ok( $m, "get_sesson_id_from_state" );
47 ok( !$cxt->get_sesson_id_from_state, "no session id yet");
51 %req_cookies = ( session => $cookie );
53 is( $cxt->get_sesson_id_from_state, "the session id", "session ID was restored from cookie" );
59 # can_ok( $m, "cookie_is_rejecting" );
60 # %req_cookies = ( path => '/foo' );
61 # $req->set_always( path => '' );
62 # ok( $cxt->cookie_is_rejecting(\%req_cookies), "cookie is rejecting" );
63 # $req->set_always( path => 'foo/bar' );
64 # ok( !$cxt->cookie_is_rejecting(\%req_cookies), "cookie is not rejecting" );