X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Plugin-Session-State-Cookie.git;a=blobdiff_plain;f=t%2Fbasic.t;h=ec5e4c788c07735fd4e5635c4a35fd3150779cca;hp=526aebafbb0eb40a013e3dffad85fef3b2fde72e;hb=91e4fe2d76c8198894f01c4e4de03c6fb1fb7d42;hpb=db1cda22b4b70937a8fd6f3c105082985baacce7 diff --git a/t/basic.t b/t/basic.t index 526aeba..ec5e4c7 100644 --- 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,47 +37,34 @@ 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, @@ -85,28 +73,12 @@ is_deeply( ); $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" -); - -$cxt->clear; -$sessionid = "123"; -%res_cookies = (); -$res->clear; +$req->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" );