--- t/ldap-koha.t 2010/02/23 01:05:04 76 +++ t/ldap-koha.t 2010/05/06 06:22:09 89 @@ -3,13 +3,18 @@ use warnings; use strict; -use Test::More tests => 37; +use Test::More tests => 76; use Data::Dump qw(dump); BEGIN { use_ok 'Net::LDAP'; } +our $config; +ok( require( ( shift @ARGV || 't/config.pl' ) ), 'config.pl' ); + +diag "config ",dump($config); + sub ldap_check_error { my $o = shift; ok( ! $o->code, 'no errror' ); @@ -21,11 +26,6 @@ ok( my $bind = $ldap->bind, 'bind' ); ldap_check_error $bind; -my @test_searches = ( qw/ -uid=dpavlin@ffzg.hr -pager=E00401001F77E218 -/ ); - sub check_search_attributes { my $search = shift; @@ -35,14 +35,28 @@ } } -foreach my $search ( @test_searches ) { +sub search { + my ($ldap,$search) = @_; + ok( my $result = $ldap->search( filter => $search ), "search $search" ); + ldap_check_error $result; + ok( $result->entries, 'have results' ); + return $result; +} - ok( my $search = $ldap->search( filter => $search ), "search $search" ); - ldap_check_error $search; - ok( $search->entries, 'have results' ); - check_search_attributes $search => 'uid', 'mail', 'pager', 'memberOf'; +foreach my $search ( qw/ +uid=dpavlin@ffzg.hr +pager=E00401001F77E218 +/ ) { + my $entries = search $ldap => $search; + check_search_attributes $entries => 'uid', 'mail', 'pager', 'memberOf'; + $entries = search $ldap => "(&(objectclass=HrEduPerson)($search))"; + check_search_attributes $entries => 'uid', 'mail', 'pager', 'memberOf'; } +search $ldap => $_ foreach ( qw/ +objectclass=organizationalUnit +objectclass=group +/ ); ok( $ldap->unbind, 'unbind' );