1 | # -*- indent-tabs-mode: nil; tab-width: 4; -*- |
---|
2 | # vim:ft=perl:et:sw=4 |
---|
3 | # $Id$ |
---|
4 | |
---|
5 | use strict; |
---|
6 | use warnings; |
---|
7 | use Test::More; |
---|
8 | use FindBin qw($Bin); |
---|
9 | |
---|
10 | require "$Bin/common.pl"; |
---|
11 | eval "require '$Bin/config.pl'"; |
---|
12 | |
---|
13 | if ($@) { |
---|
14 | plan skip_all => 'no config found' if ($@); |
---|
15 | } elsif (!$LA::T::LDAPBASE) { |
---|
16 | plan skip_all => 'No LDAP base defined'; |
---|
17 | } else { |
---|
18 | plan tests => 19; # Number of test |
---|
19 | } |
---|
20 | |
---|
21 | use_ok('LATMOS::Accounts'); |
---|
22 | use_ok('LATMOS::Accounts::Bases::Ldap'); |
---|
23 | |
---|
24 | ok(my $la = LATMOS::Accounts->new(undef, noacl => 1), "Can get LATMOS::Accounts"); |
---|
25 | ok(my $base = $la->base($LA::T::LDAPBASE), "can get LDAP base $LA::T::LDAPBASE"); |
---|
26 | |
---|
27 | { # test: user |
---|
28 | my $oid = genid(); |
---|
29 | |
---|
30 | use_ok('LATMOS::Accounts::Bases::Ldap::User'); |
---|
31 | ok($base->create_c_object('user', $oid, |
---|
32 | sn => "snUser", |
---|
33 | givenName => "givenNameUser", |
---|
34 | ), "Can create user $oid"); |
---|
35 | ok(my $obj = $base->get_object('user', $oid), "user $oid is actually deleted"); |
---|
36 | is($obj->get_attributes('sn'), "snUser"); |
---|
37 | |
---|
38 | my $passwd = genid(); |
---|
39 | ok($obj->set_password($passwd), "Can set password"); |
---|
40 | ok($base->authenticate_user($oid, $passwd), "can authenticate user"); |
---|
41 | ok(!$base->authenticate_user($oid, '----'), |
---|
42 | "don't authenticate with invalid password"); |
---|
43 | |
---|
44 | ok($base->delete_object('user', $oid), "Can delete user $oid"); |
---|
45 | ok(!$base->get_object('user', $oid), "user $oid is actually deleted"); |
---|
46 | } |
---|
47 | |
---|
48 | |
---|
49 | { # test: group |
---|
50 | my $oid = genid(); |
---|
51 | |
---|
52 | use_ok('LATMOS::Accounts::Bases::Ldap::Group'); |
---|
53 | ok($base->create_c_object('group', $oid, |
---|
54 | description => 'Group Test' |
---|
55 | ), "Can create group $oid"); |
---|
56 | ok(my $obj = $base->get_object('group', $oid), "group $oid is actually deleted"); |
---|
57 | is($obj->get_attributes('description'), "Group Test"); |
---|
58 | |
---|
59 | ok($base->delete_object('group', $oid), "Can delete group $oid"); |
---|
60 | ok(!$base->get_object('group', $oid), "group $oid is actually deleted"); |
---|
61 | } |
---|
62 | |
---|