[1035] | 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::ADBASE) { |
---|
| 16 | plan skip_all => 'No AD base defined'; |
---|
| 17 | } else { |
---|
| 18 | plan tests => 19; # Number of test |
---|
| 19 | } |
---|
| 20 | |
---|
| 21 | use_ok('LATMOS::Accounts'); |
---|
| 22 | use_ok('LATMOS::Accounts::Bases::Ad'); |
---|
| 23 | |
---|
| 24 | ok(my $la = LATMOS::Accounts->new(undef, noacl => 1), "Can get LATMOS::Accounts"); |
---|
| 25 | ok(my $base = $la->base($LA::T::ADBASE), "can get SQL base $LA::T::ADBASE"); |
---|
| 26 | |
---|
| 27 | { # test: user |
---|
| 28 | my $oid = genid(); |
---|
| 29 | |
---|
| 30 | use_ok('LATMOS::Accounts::Bases::Ad::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::Ad::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 | |
---|