X-Git-Url: http://git.rot13.org/?p=virtual-ldap;a=blobdiff_plain;f=t%2Fldap-koha.t;h=2825ad4c0396049c9bc1cc9a5916a814c820a1ac;hp=7814ade719b608b578b3072c52a31108675d196d;hb=HEAD;hpb=7279da95fb2ab53a7ee6251f74c2d1efcf79f116 diff --git a/t/ldap-koha.t b/t/ldap-koha.t index 7814ade..2825ad4 100755 --- a/t/ldap-koha.t +++ b/t/ldap-koha.t @@ -3,29 +3,29 @@ 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' ); diag $o->error if $o->code; } -ok( my $ldap = Net::LDAP->new( 'localhost:2389' ), 'new Net::LDAP' ); +ok( my $ldap = Net::LDAP->new( $ENV{LISTEN} || 'localhost:2389' ), 'new Net::LDAP' ); 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 @@ sub check_search_attributes { } } -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' );