Net-CascadeCopy
view release on metacpan or search on metacpan
t/02_successful_copy.t view on Meta::CPAN
#!perl
use Test::More tests => 26;
use Test::Differences;
use strict;
#use Log::Log4perl qw(:easy);
#Log::Log4perl->easy_init($DEBUG);
#my $logger = get_logger( 'default' );
use Net::CascadeCopy;
my $transfer_start = new Benchmark;
my $ccp;
ok( $ccp = Net::CascadeCopy->new( { ssh => 'echo',
command => 'echo',
source_path => '/foo',
target_path => '/foo',
} ),
"Creating a new ccp object"
);
my @hosts1 = map { "host$_" } 101 .. 105;
ok( $ccp->add_group( "first", [ @hosts1 ] ),
"Adding first host group"
);
my @hosts2 = map { "host$_" } 201 .. 205;
ok( $ccp->add_group( "second", [ @hosts2 ] ),
"Adding second host group"
);
{
eq_or_diff( [ $ccp->_get_available_servers( 'first' ) ],
[ 'localhost' ],
"Checking that only localhost available in first group"
);
eq_or_diff( [ $ccp->_get_available_servers( 'second' ) ],
[ 'localhost' ],
"Checking that only localhost available in second group"
);
eq_or_diff( [ $ccp->_get_remaining_servers( 'first' ) ],
\@hosts1,
"Checking that all servers in first group are in the 'remaining' group"
);
eq_or_diff( [ $ccp->_get_remaining_servers( 'second' ) ],
\@hosts2,
"Checking that all servers in second group are in the 'remaining' group"
);
}
ok( $ccp->_transfer_loop( $transfer_start ),
"Executing a single transfer loop"
);
eq_or_diff( $ccp->get_transfer_map(),
{ localhost => { host101 => 1,
host201 => 1,
},
},
( run in 1.635 second using v1.01-cache-2.11-cpan-39bf76dae61 )