Revision 112 (by dpavlin, 2008/05/14 16:50:49) fix test to configurable name of model
#!/usr/bin/env perl
use warnings;
use strict;

=head1 DESCRIPTION

test LDAP module

=cut

use Jifty::Test tests => 29;
use Data::Dump qw/dump/;

use_ok('A3C::LDAP');

ok( my $ldap = A3C::LDAP->new, 'new' );

isa_ok( $ldap, 'A3C::LDAP' );

isa_ok( $ldap->objectClass, 'HASH', 'have objectClass' );
isa_ok( $ldap->link, 'HASH', 'have link' );

diag "objectClass = ",dump( $ldap->objectClass );
diag "link = ",dump( $ldap->link );

ok(
	$ldap->search(
		base	=> 'dc=skole,dc=hr',
		filter	=> '(objectClass=hrEduOrg)',
		sizelimit => 10,
	)
), 'search';

isa_ok( $ldap, 'A3C::LDAP' );

cmp_ok( $ldap->count, '==', 10, 'count' );

foreach my $i ( 1 .. 10 ) {
	ok( my $entry = $ldap->next, "next $i" );
#	$entry->dump;
}

my $org_oc = $ldap->objectClass->{organization};

foreach my $limit ( 3, 7, 14 ) {
	ok( my $collection = $ldap->collection( $org_oc, limit => $limit), "collection $org_oc limit = $limit" );
	isa_ok( $collection, "A3C::Model::${org_oc}Collection" );
	is( $collection->count, $limit, 'count' );
}

my $person_oc = $ldap->objectClass->{person};

ok( my $coll = $ldap->collection( $person_oc, filter => '(HrEduPersonHomeOrg=aa-test-zz)'), 'collection with filter' );
is( $coll->count, 0, 'no results' );