source: LATMOS-Accounts/t/11_bases_unix.t @ 45

Last change on this file since 45 was 26, checked in by nanardon, 15 years ago
  • kill temp directory
File size: 1.8 KB
RevLine 
[5]1use strict;
2use warnings;
[16]3use Test::More tests => 21;
[5]4use File::Temp;
5
6use_ok('LATMOS::Accounts::Bases');
7use_ok('LATMOS::Accounts::Bases::Objects');
8use_ok('LATMOS::Accounts::Bases::Unix');
[13]9use_ok('LATMOS::Accounts::Bases::Unix::User');
10use_ok('LATMOS::Accounts::Bases::Unix::Group');
[5]11
12my $dir = File::Temp::tempdir;
13
14foreach (qw(passwd shadow group gshadow)) {
15    system('cp', "testdata/$_", "$dir/$_");
16}
17
18ok(my $unixb = LATMOS::Accounts::Bases->new(
19    'unix',
20    passwd  => "$dir/passwd",
21    shadow  => "$dir/shadow",
22    group   => "$dir/group",
23    gshadow => "$dir/gshadow",
24    ), "Can get unix base");
25isa_ok($unixb, 'LATMOS::Accounts::Bases');
26isa_ok($unixb, 'LATMOS::Accounts::Bases::Unix');
[13]27ok($unixb->load,   "Can load unix base");
[5]28
[13]29is( $unixb->get_field_name('user', 'homeDirectory'), "home", "can call get_fields_name");
30
31ok(my $user =  $unixb->get_object('user', 'root'),  "Can get root user");
32ok(my $group = $unixb->get_object('group', 'root'), "Can get root group");
33
[14]34is($user->get_c_field('homeDirectory'), '/root', 'Can get homeDirectory directory');
35is($user->get_field('home'), '/root', 'Can get home directory');
[13]36
[14]37is($user->get_field('shell'), '/bin/bash', 'Can get login shell');
38ok($user->set_fields(shell => '/bin/tcsh'), "Can set login shell");
39is($user->get_field('shell'), '/bin/tcsh', 'Can get modified login shell');
[16]40ok($unixb->create_object('user', 'admin',
41    uid => 2, gid => 2,
42    home => '/home/admin',
43    shell => '/bin/sh',
44), "Can create a user");
[14]45
[10]46ok($unixb->commit, "Can save unix base");
[5]47
[14]48
49ok(my $unixbmod = LATMOS::Accounts::Bases->new(
50    'unix',
51    passwd  => "$dir/passwd",
52    shadow  => "$dir/shadow",
53    group   => "$dir/group",
54    gshadow => "$dir/gshadow",
55    ), "Can get unix base");
56is($user->get_field('shell'), '/bin/tcsh', 'Can get modified login shell');
57
[26]58system('rm', '-fr', $dir);
Note: See TracBrowser for help on using the repository browser.