Agent-TCLI-Package-Net
view release on metacpan or search on metacpan
t/dev/target.t view on Meta::CPAN
);
# Need a transport to deliver the tests to remote hosts
Agent::TCLI::Transport::XMPP->new(
'jid' => Net::XMPP::JID->new($username.'@'.$domain.'/test'),
'jserver' => $host,
'jpassword' => $password,
'verbose' => \$verbose, # Verbose sets level
'do_verbose' => sub { diag( @_ ) },
);
my $test_master = Agent::TCLI::Transport::Test->new({
'verbose' => \$verbose, # Verbose sets level
'do_verbose' => sub { diag( @_ ) },
'control_options' => {
'packages' => \@packages,
},
});
# Set up the local test
my $local = Agent::TCLI::Testee->new(
'test_master' => $test_master,
'addressee' => 'self',
);
# Set up the remote test
my $remote = Agent::TCLI::Testee->new({
'test_master' => $test_master,
'addressee' => $username.'@'.$domain.'/tcli',
'transport' => 'transport_xmpp', # The default POE Session alias
'protocol' => 'XMPP',
'verbose' => \$verbose,
'do_verbose' => sub { diag( @_ ) },
});
# Beginning of tests
# Remote up?
$remote->ok('status');
# get remotes IP address
$remote->ok('Control show local_address');
my $target = $remote->get_param('local_address','',30);
#add a new response to the webserver
$remote->ok('httpd uri add regex=/test2.* response=OK200');
# start remote web server with logging
$remote->ok('httpd set logging');
$remote->ok('httpd spawn port=8080');
# make sure those completed before proceeding
$test_master->done;
# have local query target webserver.
$local->ok('http tget url=http://'.$target.':8080/test1.htm resp=404');
$local->ok('http tget url=http://'.$target.':8080/test2.htm resp=200');
# check to see if it's in the logs
$remote->ok('tail test add like=test1', 'passed test test1');
$remote->ok('tail test add like=test2', 'passed test test2');
# shut down httpd
$remote->ok('httpd stop port=8080');
# make sure to shut down the transport or else the script will not stop.
$local->ok('xmpp shutdown');
# Though tests will start during building of the tests, POE isn't fully running
# and all tests will not complete until the master run is called.
$test_master->run;
( run in 0.717 second using v1.01-cache-2.11-cpan-39bf76dae61 )