1 | use strict; |
---|
2 | use warnings; |
---|
3 | use Test::More tests => 8; |
---|
4 | use File::Temp; |
---|
5 | use File::Path; |
---|
6 | use Config::IniFiles; |
---|
7 | |
---|
8 | use_ok('LATMOS::Accounts::SynchAccess'); |
---|
9 | use_ok('LATMOS::Accounts'); |
---|
10 | |
---|
11 | my $workdir = File::Temp::tempdir(); |
---|
12 | mkdir "$workdir/source"; |
---|
13 | mkdir "$workdir/dest"; |
---|
14 | |
---|
15 | my $config = Config::IniFiles->new(); |
---|
16 | |
---|
17 | $config->AddSection('source'); |
---|
18 | $config->newval('source', 'type', 'unix'); |
---|
19 | $config->newval('source', 'use_shadow', 1); |
---|
20 | $config->AddSection('dest'); |
---|
21 | $config->newval('dest', 'type', 'unix'); |
---|
22 | $config->newval('dest', 'use_shadow', 1); |
---|
23 | $config->newval('source', 'push', 'dest'); |
---|
24 | |
---|
25 | foreach my $dir (qw(source dest)) { |
---|
26 | foreach (qw(passwd shadow group gshadow)) { |
---|
27 | system('cp', "testdata/synchro/$dir/$_", "$workdir/$dir/$_"); |
---|
28 | $config->newval($dir, $_, "testdata/synchro/$dir/$_"); |
---|
29 | } |
---|
30 | } |
---|
31 | |
---|
32 | ok($config->WriteConfig("$workdir/config.ini"), "can write config file for test"); |
---|
33 | |
---|
34 | diag("Write test done in $workdir/"); |
---|
35 | |
---|
36 | isa_ok( |
---|
37 | my $accounts = LATMOS::Accounts->new("$workdir/config.ini"), |
---|
38 | 'LATMOS::Accounts' |
---|
39 | ); |
---|
40 | |
---|
41 | ok($accounts->base('source'), "can get source base"); |
---|
42 | ok($accounts->base('dest'), "can get dest base"); |
---|
43 | |
---|
44 | isa_ok(my $syncaccess = $accounts->sync_access, 'LATMOS::Accounts::SynchAccess'); |
---|
45 | isa_ok($syncaccess->get_object('user', 'root'), 'LATMOS::Accounts::SynchAccess::Objects'); |
---|
46 | |
---|
47 | $syncaccess->type; |
---|
48 | $syncaccess->label; |
---|
49 | |
---|
50 | rmtree($workdir); |
---|