load Catalyst::Exception in Backend
[catagits/Catalyst-Authentication-Store-LDAP.git] / t / 04-user_class.t
CommitLineData
405489b5 1#!/usr/bin/perl
2
3use strict;
4use warnings;
405489b5 5
e385da71 6use Test::More;
405489b5 7use lib 't/lib';
8use LDAPTest;
8fe890e6 9use Storable qw/ freeze /;
10use Test::Exception;
405489b5 11
e385da71 12eval "use Catalyst::Model::LDAP";
13plan skip_all => "Catalyst::Model::LDAP not installed" if $@;
405489b5 14
e385da71 15my $server = LDAPTest::spawn_server();
405489b5 16
e385da71 17use_ok("Catalyst::Authentication::Store::LDAP::Backend");
405489b5 18
e385da71 19my $back = Catalyst::Authentication::Store::LDAP::Backend->new(
20 { 'ldap_server' => LDAPTest::server_host(),
21 'binddn' => 'anonymous',
22 'bindpw' => 'dontcarehow',
23 'start_tls' => 0,
24 'user_basedn' => 'ou=foobar',
25 'user_filter' => '(&(objectClass=person)(uid=%s))',
26 'user_scope' => 'one',
27 'user_field' => 'uid',
28 'use_roles' => 0,
29 'user_class' => 'UserClass',
30 }
31);
405489b5 32
e385da71 33isa_ok( $back, "Catalyst::Authentication::Store::LDAP::Backend" );
34my $user = $back->find_user( { username => 'somebody' } );
35isa_ok( $user, "Catalyst::Authentication::Store::LDAP::User" );
36isa_ok( $user, "UserClass");
405489b5 37
e385da71 38is( $user->my_method, 'frobnitz', "methods on user class work" );
405489b5 39
e385da71 40# RT 69615
41diag("stop() server");
42$server->stop();
195f2f1f 43
e385da71 44$server = LDAPTest::spawn_server();
45ok $user->check_password('foo'), 'Can check password';
8fe890e6 46
e385da71 47my $frozen_user;
48lives_ok { $frozen_user = freeze $user } 'Can freeze user with Storable';
49ok $frozen_user, 'is frozen';
8fe890e6 50
e385da71 51# RT 69615
52diag("stop() server");
53$server->stop();
195f2f1f 54
e385da71 55done_testing;
8fe890e6 56