use strict; use warnings; use Test::More tests => 16; use File::Temp; use_ok('LATMOS::Accounts::Bases'); use_ok('LATMOS::Accounts::Bases::Objects'); use_ok('LATMOS::Accounts::Bases::Mail'); use_ok('LATMOS::Accounts::Bases::Mail::Aliases'); use_ok('LATMOS::Accounts::Bases::Mail::Revaliases'); my $dir = File::Temp::tempdir; foreach (qw(aliases revaliases)) { system('cp', "testdata/$_", "$dir/$_"); } ok(my $mailb = LATMOS::Accounts::Bases->new( 'mail', aliases => "$dir/aliases", revaliases => "$dir/revaliases", ), "Can get mail base"); isa_ok($mailb, 'LATMOS::Accounts::Bases'); isa_ok($mailb, 'LATMOS::Accounts::Bases::Mail'); ok($mailb->load, "Can load mail base"); is( $mailb->attribute('aliases', 'forward')->iname, "forward", "can call get_field_name"); ok(my $alias = $mailb->get_object('aliases', 'name'), "Can get root user"); ok(my $revaliases = $mailb->get_object('revaliases', 'name'), "Can get root group"); is($alias->get_c_field('forward'), 'to', 'Can get aliases'); ok($mailb->create_object('aliases', 'admin', forward => 'root' ), "Can create an aliases"); ok($mailb->commit, "Can save mail base"); ok(my $mailbmod = LATMOS::Accounts::Bases->new( 'mail', aliases => "$dir/aliases", revaliases => "$dir/revaliases", ), "Can get mail base"); system('rm', '-fr', $dir);