7 use Catalyst::Authentication::Store::LDAP::Backend;
11 my $server = LDAPTest::spawn_server();
13 # the tests currently don't require a real Catalyst app instance
16 subtest "persist_in_session unset" => sub {
17 my $back = Catalyst::Authentication::Store::LDAP::Backend->new(
18 { 'ldap_server' => LDAPTest::server_host(),
19 'binddn' => 'anonymous',
20 'bindpw' => 'dontcarehow',
22 'user_basedn' => 'ou=foobar',
23 'user_filter' => '(&(objectClass=person)(uid=%s))',
24 'user_scope' => 'one',
25 'user_field' => 'uid',
30 my $user = $back->find_user( { username => 'somebody' } );
31 ok( my $session = $user->for_session, 'for_session ok');
32 is($session, 'somebody', 'for_session returns correct data');
33 ok($back->from_session($c, $session), 'from_session ok');
36 subtest "persist_in_session 'username'" => sub {
37 my $back = Catalyst::Authentication::Store::LDAP::Backend->new(
38 { ldap_server => LDAPTest::server_host(),
39 binddn => 'anonymous',
40 bindpw => 'dontcarehow',
42 user_basedn => 'ou=foobar',
43 user_filter => '(&(objectClass=person)(uid=%s))',
47 persist_in_session => 'username',
50 my $user = $back->find_user( { username => 'somebody' } );
51 ok( my $session = $user->for_session, 'for_session ok');
52 is($session, 'somebody', 'for_session returns correct data');
53 ok($back->from_session($c, $session), 'from_session ok');
56 subtest "persist_in_session 'all'" => sub {
57 my $back = Catalyst::Authentication::Store::LDAP::Backend->new(
58 { ldap_server => LDAPTest::server_host(),
59 binddn => 'anonymous',
60 bindpw => 'dontcarehow',
62 user_basedn => 'ou=foobar',
63 user_filter => '(&(objectClass=person)(uid=%s))',
67 persist_in_session => 'all',
70 my $user = $back->find_user( { username => 'somebody' } );
71 ok( my $session = $user->for_session, 'for_session ok');
74 persist_in_session => 'all',
78 "for_session returns correct data");
79 ok($back->from_session($c, $session), 'from_session ok');