# -*- indent-tabs-mode: nil; tab-width: 4; -*- # vim:ft=perl:et:sw=4 # $Id$ use strict; use warnings; use Test::More; use FindBin qw($Bin); require "$Bin/common.pl"; eval "require '$Bin/config.pl'"; if ($@) { plan skip_all => 'no config found' if ($@); } elsif (!$LA::T::LDAPBASE) { plan skip_all => 'No LDAP base defined'; } else { plan tests => 19; # Number of test } use_ok('LATMOS::Accounts'); use_ok('LATMOS::Accounts::Bases::Ldap'); ok(my $la = LATMOS::Accounts->new(undef, noacl => 1), "Can get LATMOS::Accounts"); ok(my $base = $la->base($LA::T::LDAPBASE), "can get LDAP base $LA::T::LDAPBASE"); { # test: user my $oid = genid(); use_ok('LATMOS::Accounts::Bases::Ldap::User'); ok($base->create_c_object('user', $oid, sn => "snUser", givenName => "givenNameUser", ), "Can create user $oid"); ok(my $obj = $base->get_object('user', $oid), "user $oid is actually deleted"); is($obj->get_attributes('sn'), "snUser"); my $passwd = genid(); ok($obj->set_password($passwd), "Can set password"); ok($base->authenticate_user($oid, $passwd), "can authenticate user"); ok(!$base->authenticate_user($oid, '----'), "don't authenticate with invalid password"); ok($base->delete_object('user', $oid), "Can delete user $oid"); ok(!$base->get_object('user', $oid), "user $oid is actually deleted"); } { # test: group my $oid = genid(); use_ok('LATMOS::Accounts::Bases::Ldap::Group'); ok($base->create_c_object('group', $oid, description => 'Group Test' ), "Can create group $oid"); ok(my $obj = $base->get_object('group', $oid), "group $oid is actually deleted"); is($obj->get_attributes('description'), "Group Test"); ok($base->delete_object('group', $oid), "Can delete group $oid"); ok(!$base->get_object('group', $oid), "group $oid is actually deleted"); }