Bump versions, strip whitespace
[catagits/Catalyst-Plugin-Session-State-Cookie.git] / t / basic.t
index 526aeba..b9559a7 100644 (file)
--- a/t/basic.t
+++ b/t/basic.t
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 15;
+use Test::More tests => 13;
 use Test::MockObject;
 use Test::MockObject::Extends;
 
@@ -27,7 +27,8 @@ my $cxt =
 $cxt->set_always( config   => {} );
 $cxt->set_always( request  => $req );
 $cxt->set_always( response => $res );
-$cxt->set_always( session  => { __expires => 123 } );
+$cxt->set_always( session  => { } );
+$cxt->set_always( session_expires => 123 );
 $cxt->set_false("debug");
 my $sessionid;
 $cxt->mock( sessionid => sub { shift; $sessionid = shift if @_; $sessionid } );
@@ -36,77 +37,48 @@ can_ok( $m, "setup_session" );
 
 $cxt->setup_session;
 
-is( $cxt->config->{session}{cookie_name},
-    "session", "default cookie name is set" );
+like( $cxt->config->{session}{cookie_name},
+    qr/_session$/, "default cookie name is set" );
 
-can_ok( $m, "prepare_cookies" );
+$cxt->config->{session}{cookie_name} = "session";
 
-$cxt->prepare_cookies;
-ok( !$cxt->called("sessionid"),
-    "didn't try setting session ID when there was nothing to set it by" );
+can_ok( $m, "get_session_id" );
+
+ok( !$cxt->get_session_id, "no session id yet");
 
 $cxt->clear;
 
 %req_cookies = ( session => $cookie );
 
-ok( !$cxt->sessionid, "no session ID yet" );
-$cxt->prepare_cookies;
-is( $cxt->sessionid, "the session id", "session ID was restored from cookie" );
+is( $cxt->get_session_id, "the session id", "session ID was restored from cookie" );
 
 $cxt->clear;
 $res->clear;
 
-can_ok( $m, "finalize_cookies" );
-$cxt->finalize_cookies;
-{ local $TODO = "This check is a pain to write, should be done by catalyst itself";
-ok( !$res->called("cookies"),
-    "response cookie was not set since res cookie is already there" );
-}
+can_ok( $m, "set_session_id" );
+$cxt->set_session_id("moose");
 
-$cxt->clear;
-$sessionid = undef;
-$res->clear;
-
-$cxt->finalize_cookies;
-ok( !$res->called("cookies"),
-"response cookie was not set when sessionid was deleted, even if req cookie is still there"
-);
+$res->called_ok( "cookies", "created a cookie on set" );
 
-$sessionid = "some other ID";
 $cxt->clear;
 $res->clear;
 
-$cxt->finalize_cookies;
+$cxt->set_session_id($sessionid);
+
 $res->called_ok( "cookies", "response cookie was set when sessionid changed" );
 is_deeply(
     \%res_cookies,
-    { session => { value => $sessionid, expires => 123 } },
+    { session => { value => $sessionid, httponly => 1, expires => 123 } },
     "cookie was set correctly"
 );
 
 $cxt->clear;
-$res->clear;
-%req_cookies = ();
-%res_cookies = ();
-$sessionid   = undef;
-
-$cxt->finalize_cookies;
-ok( !$res->called("cookies"),
-    "response cookie was not set when there is no sessionid or request cookie"
-);
+$req->clear;
 
-$cxt->clear;
-$sessionid   = "123";
-%res_cookies = ();
-$res->clear;
-
-$cxt->finalize_cookies;
-
-$res->called_ok( "cookies",
-    "response cookie was set when session was created" );
-is_deeply(
-    \%res_cookies,
-    { session => { value => $sessionid, expires => 123 } },
-    "cookie was set correctly"
-);
+can_ok( $m, "cookie_is_rejecting" );
 
+%req_cookies = ( path => '/foo' );
+$req->set_always( path => '' );
+ok( $cxt->cookie_is_rejecting(\%req_cookies), "cookie is rejecting" );
+$req->set_always( path => 'foo/bar' );
+ok( !$cxt->cookie_is_rejecting(\%req_cookies), "cookie is not rejecting" );