# 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(),
);
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',
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',
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;