X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F20-persist_in_session.t;fp=t%2F20-persist_in_session.t;h=c28c6ab2b70161ae286f81845c3275ca064c0a2c;hb=100c5133ee5b57e3819bbfe1d000e455ffff0fb4;hp=54ebd0ea851de2453669e95a3628ef373a5e253e;hpb=8e1852a2ee4c23987134481a0d122a5b2e2d5c36;p=catagits%2FCatalyst-Authentication-Store-LDAP.git diff --git a/t/20-persist_in_session.t b/t/20-persist_in_session.t index 54ebd0e..c28c6ab 100644 --- a/t/20-persist_in_session.t +++ b/t/20-persist_in_session.t @@ -13,6 +13,7 @@ my $server = LDAPTest::spawn_server(); # the tests currently don't require a real Catalyst app instance my $c; +my $stringy_session_value; subtest "persist_in_session unset" => sub { my $back = Catalyst::Authentication::Store::LDAP::Backend->new( { 'ldap_server' => LDAPTest::server_host(), @@ -28,12 +29,13 @@ subtest "persist_in_session unset" => sub { ); my $user = $back->find_user( { username => 'somebody' } ); - ok( my $session = $user->for_session, 'for_session ok'); - is($session, 'somebody', 'for_session returns correct data'); - ok($back->from_session($c, $session), 'from_session ok'); + ok($stringy_session_value = $user->for_session, 'for_session ok'); + is($stringy_session_value, 'somebody', 'for_session returns correct data'); + ok($back->from_session($c, $stringy_session_value), 'from_session ok'); }; -subtest "persist_in_session 'username'" => sub { +my $hash_session_value; +subtest "persist_in_session 'all'" => sub { my $back = Catalyst::Authentication::Store::LDAP::Backend->new( { ldap_server => LDAPTest::server_host(), binddn => 'anonymous', @@ -44,16 +46,23 @@ subtest "persist_in_session 'username'" => sub { user_scope => 'one', user_field => 'uid', use_roles => 0, - persist_in_session => 'username', + persist_in_session => 'all', } ); my $user = $back->find_user( { username => 'somebody' } ); - ok( my $session = $user->for_session, 'for_session ok'); - is($session, 'somebody', 'for_session returns correct data'); - ok($back->from_session($c, $session), 'from_session ok'); + ok($hash_session_value = $user->for_session, 'for_session ok'); + is_deeply($hash_session_value, + { + persist_in_session => 'all', + user => $user->user, + _roles => [], + }, + "for_session returns correct data"); + ok($back->from_session($c, $hash_session_value), 'from_session ok'); + ok($back->from_session($c, $stringy_session_value), 'from_session ok for stringy value'); }; -subtest "persist_in_session 'all'" => sub { +subtest "persist_in_session 'username'" => sub { my $back = Catalyst::Authentication::Store::LDAP::Backend->new( { ldap_server => LDAPTest::server_host(), binddn => 'anonymous', @@ -64,19 +73,15 @@ subtest "persist_in_session 'all'" => sub { user_scope => 'one', user_field => 'uid', use_roles => 0, - persist_in_session => 'all', + persist_in_session => 'username', } ); my $user = $back->find_user( { username => 'somebody' } ); - ok( my $session = $user->for_session, 'for_session ok'); - is_deeply($session, - { - persist_in_session => 'all', - user => $user->user, - _roles => [], - }, - "for_session returns correct data"); + ok(my $session = $stringy_session_value = $user->for_session, 'for_session ok'); + is($session, 'somebody', 'for_session returns correct data'); ok($back->from_session($c, $session), 'from_session ok'); + ok($back->from_session($c, $hash_session_value), 'from_session ok for hash value') + or diag explain $hash_session_value; }; done_testing;