6 use Test::More tests => 76;
7 use Data::Dump qw(dump);
14 ok( require( ( shift @ARGV || 't/config.pl' ) ), 'config.pl' );
16 diag "config ",dump($config);
18 sub ldap_check_error {
20 ok( ! $o->code, 'no errror' );
21 diag $o->error if $o->code;
24 ok( my $ldap = Net::LDAP->new( 'localhost:2389' ), 'new Net::LDAP' );
26 ok( my $bind = $ldap->bind, 'bind' );
27 ldap_check_error $bind;
29 sub check_search_attributes {
32 foreach my $entry ( $search->entries ) {
34 map { ok( $_, "attribute $_" ) } grep { /^\Q$_\E$/i } $entry->attributes;
39 my ($ldap,$search) = @_;
40 ok( my $result = $ldap->search( filter => $search ), "search $search" );
41 ldap_check_error $result;
42 ok( $result->entries, 'have results' );
46 foreach my $search ( qw/
48 pager=E00401001F77E218
50 my $entries = search $ldap => $search;
51 check_search_attributes $entries => 'uid', 'mail', 'pager', 'memberOf';
53 $entries = search $ldap => "(&(objectclass=HrEduPerson)($search))";
54 check_search_attributes $entries => 'uid', 'mail', 'pager', 'memberOf';
57 search $ldap => $_ foreach ( qw/
58 objectclass=organizationalUnit
62 ok( $ldap->unbind, 'unbind' );