5 use Catalyst::Exception;
7 use Test::More tests => 8;
10 use Storable qw/ freeze /;
15 eval "use Catalyst::Model::LDAP";
17 skip "Catalyst::Model::LDAP not installed", 8;
20 my $server = LDAPTest::spawn_server();
22 use_ok("Catalyst::Authentication::Store::LDAP::Backend");
24 my $back = Catalyst::Authentication::Store::LDAP::Backend->new(
25 { 'ldap_server' => LDAPTest::server_host(),
26 'binddn' => 'anonymous',
27 'bindpw' => 'dontcarehow',
29 'user_basedn' => 'ou=foobar',
30 'user_filter' => '(&(objectClass=person)(uid=%s))',
31 'user_scope' => 'one',
32 'user_field' => 'uid',
34 'user_class' => 'UserClass',
38 isa_ok( $back, "Catalyst::Authentication::Store::LDAP::Backend" );
39 my $user = $back->find_user( { username => 'somebody' } );
40 isa_ok( $user, "Catalyst::Authentication::Store::LDAP::User" );
41 isa_ok( $user, "UserClass");
43 is( $user->my_method, 'frobnitz', "methods on user class work" );
45 $server = LDAPTest::spawn_server();
46 ok $user->check_password('foo'), 'Can check password';
49 lives_ok { $frozen_user = freeze $user } 'Can freeze user with Storable';
50 ok $frozen_user, 'is frozen';