[56] | 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); |
---|