use strict; use warnings; use Test::More tests => 8; use File::Temp; use File::Path; use Config::IniFiles; use_ok('LATMOS::Accounts::SynchAccess'); use_ok('LATMOS::Accounts'); my $workdir = File::Temp::tempdir(); mkdir "$workdir/source"; mkdir "$workdir/dest"; my $config = Config::IniFiles->new(); $config->AddSection('source'); $config->newval('source', 'type', 'unix'); $config->newval('source', 'use_shadow', 1); $config->AddSection('dest'); $config->newval('dest', 'type', 'unix'); $config->newval('dest', 'use_shadow', 1); $config->newval('source', 'push', 'dest'); foreach my $dir (qw(source dest)) { foreach (qw(passwd shadow group gshadow)) { system('cp', "testdata/synchro/$dir/$_", "$workdir/$dir/$_"); $config->newval($dir, $_, "testdata/synchro/$dir/$_"); } } ok($config->WriteConfig("$workdir/config.ini"), "can write config file for test"); diag("Write test done in $workdir/"); isa_ok( my $accounts = LATMOS::Accounts->new("$workdir/config.ini"), 'LATMOS::Accounts' ); ok($accounts->base('source'), "can get source base"); ok($accounts->base('dest'), "can get dest base"); isa_ok(my $syncaccess = $accounts->sync_access, 'LATMOS::Accounts::SynchAccess'); isa_ok($syncaccess->get_object('user', 'root'), 'LATMOS::Accounts::SynchAccess::Objects'); $syncaccess->type; $syncaccess->label; rmtree($workdir);