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' );
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;
}
}
-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' );