[1028] | 1 | # -*- indent-tabs-mode: nil; tab-width: 4; -*- |
---|
| 2 | # vim:ft=perl:et:sw=4 |
---|
| 3 | # $Id$ |
---|
| 4 | |
---|
[1027] | 5 | use strict; |
---|
| 6 | use warnings; |
---|
[1028] | 7 | use Test::More; |
---|
[1027] | 8 | use FindBin qw($Bin); |
---|
| 9 | |
---|
[1028] | 10 | require "$Bin/common.pl"; |
---|
| 11 | eval "require '$Bin/config.pl'"; |
---|
[1027] | 12 | |
---|
[1028] | 13 | if ($@) { |
---|
| 14 | plan skip_all => 'no config found' if ($@); |
---|
| 15 | } elsif (!$LA::T::SQLBASE) { |
---|
| 16 | plan skip_all => 'No SQL base defined'; |
---|
| 17 | } else { |
---|
[1031] | 18 | plan tests => 32; # Number of test |
---|
[1028] | 19 | } |
---|
[1027] | 20 | |
---|
| 21 | use_ok('LATMOS::Accounts'); |
---|
| 22 | use_ok('LATMOS::Accounts::Bases::Sql'); |
---|
| 23 | |
---|
[1028] | 24 | ok(my $la = LATMOS::Accounts->new(undef, noacl => 1), "Can get LATMOS::Accounts"); |
---|
[1027] | 25 | ok(my $base = $la->base($LA::T::SQLBASE), "can get SQL base $LA::T::SQLBASE"); |
---|
| 26 | |
---|
[1028] | 27 | { # test: user |
---|
| 28 | my $oid = genid(); |
---|
| 29 | |
---|
| 30 | use_ok('LATMOS::Accounts::Bases::Sql::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 | |
---|
[1031] | 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 | |
---|
[1028] | 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 | |
---|
[1031] | 49 | { # test: group |
---|
[1028] | 50 | my $oid = genid(); |
---|
| 51 | |
---|
| 52 | use_ok('LATMOS::Accounts::Bases::Sql::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 | } |
---|
[1031] | 62 | |
---|
| 63 | { # test: nethost |
---|
| 64 | my $oid = genid(); |
---|
| 65 | |
---|
| 66 | use_ok('LATMOS::Accounts::Bases::Sql::Nethost'); |
---|
| 67 | ok($base->create_c_object('nethost', $oid, |
---|
| 68 | description => 'Nethost Test', |
---|
| 69 | ip => '255.255.255.255', # widely improbable to conflict with existing one |
---|
| 70 | ), "Can create nethost $oid"); |
---|
| 71 | ok(my $obj = $base->get_object('nethost', $oid), "nethost $oid is actually deleted"); |
---|
| 72 | is($obj->get_attributes('description'), "Nethost Test"); |
---|
| 73 | is($obj->get_attributes('ip'), '255.255.255.255'); |
---|
| 74 | |
---|
| 75 | ok($base->delete_object('nethost', $oid), "Can delete nethost $oid"); |
---|
| 76 | ok(!$base->get_object('nethost', $oid), "nethost $oid is actually deleted"); |
---|
| 77 | } |
---|
| 78 | |
---|
| 79 | { # test: netzone |
---|
| 80 | my $oid = genid(); |
---|
| 81 | |
---|
| 82 | use_ok('LATMOS::Accounts::Bases::Sql::Netzone'); |
---|
| 83 | ok($base->create_c_object('netzone', $oid, |
---|
| 84 | description => 'Netzone Test', |
---|
| 85 | type => 'dhcp', |
---|
| 86 | ), "Can create netzone $oid"); |
---|
| 87 | ok(my $obj = $base->get_object('netzone', $oid), "netzone $oid is actually deleted"); |
---|
| 88 | is($obj->get_attributes('description'), "Netzone Test"); |
---|
| 89 | |
---|
| 90 | ok($base->delete_object('netzone', $oid), "Can delete netzone $oid"); |
---|
| 91 | ok(!$base->get_object('netzone', $oid), "netzone $oid is actually deleted"); |
---|
| 92 | } |
---|