Agent-TCLI-Package-Net
view release on metacpan or search on metacpan
bin/agent_net.pl view on Meta::CPAN
agent_net - Run a TCLI Agent with the Net packages enabled.
=head1 SYNOPSIS
=over 12
=item B<agent_net>
B<username>S<=>I<username>
B<password>S<=>I<password>
B<domain>S<=>I<domain>
[B<resource>S<=>I<resource>]
[B<host>S<=>I<XMPP server>]
[B<help>]
[B<man>]
[B<verbose>]
=back
=head1 OPTIONS AND ARGUMENTS
=over 8
=item B<username>
The XMPP user the Agent will log in as, without the domain.
Required unless the script has been edited to enable a default user.
=item B<password>
The password to be used by the Agent to log in to the XMPP server.
Required unless the script has been edited to enable a default password.
=item B<domain>
The XMPP domain of the user account of the Agent.
Required unless the script has been edited to enable a default domain.
=item B<resource>
The XMPP resource. Defaults to 'tcli' if not provided.
bin/agent_net.pl view on Meta::CPAN
and/or modify it under the same terms as Perl itself.
=cut
# Useful for debugging or just seeing what the Agent is doing.
sub VERBOSE () { 0 }
# Process optional parameters from the command line and assign defaults.
use Getopt::Lucid qw(:all);
my ($opt, $verbose,$domain,$username,$password,$resource,$host);
eval {$opt = Getopt::Lucid->getopt([
Param("domain|d"),
Param("username|u"),
Param("password|p"),
Param("resource|r"),
Param("host"),
Param("master|m"),
Counter("verbose|v"),
Switch("help"),
Switch("man"),
Switch("blib|b"),
])};
if($@)
bin/agent_net.pl view on Meta::CPAN
# Hidden switch for dev testing
if ($opt->get_blib)
{
use lib 'blib/lib';
}
$verbose = $opt->get_verbose ? $opt->get_verbose : VERBOSE;
# Optionally set default jabber/xmpp parameters to log in with
$username = $opt->get_username ? $opt->get_username : 'agent';
$password = $opt->get_password ? $opt->get_password : 'agent';
$resource = $opt->get_resource ? $opt->get_resource : 'tcli';
$domain = $opt->get_domain ? $opt->get_domain : 'example.com';
$host = $opt->get_host ? $opt->get_host : $domain;
# Error if options not set and not provided.
pod2usage(1) if ($username eq 'agent' or $domain eq 'example.com');
# Load required modules
use POE; # POE is required for all Agents
bin/agent_net.pl view on Meta::CPAN
# Agent::TCLI::User->new(
# 'id' => 'conference_room@conference'.$domain,
# 'protocol' => 'xmpp_groupchat',
# 'auth' => 'master',
# ),
);
Agent::TCLI::Transport::XMPP->new(
'jid' => Net::XMPP::JID->new($username.'@'.$domain.'/'.$resource),
'jserver' => $host,
'jpassword'=> $password,
'peers' => \@users,
'verbose' => \$verbose, # Verbose sets level or warnings
'control_options' => {
'packages' => \@packages,
},
);
print "Starting ".$alias unless $verbose;
ex/target.t view on Meta::CPAN
#!/usr/bin/perl
use warnings;
use strict;
use Test::More qw(no_plan);
sub VERBOSE () { 0 }
use Getopt::Lucid qw(:all);
my ($opt, $verbose,$domain,$username,$password,$resource,$host);
eval {$opt = Getopt::Lucid->getopt([
Param("domain|d"),
Param("username|u"),
Param("password|p"),
Param("resource|r"),
Param("host"),
Counter("verbose|v"),
])};
if($@) {die "ERROR: $@";}
$verbose = $opt->get_verbose ? $opt->get_verbose : VERBOSE;
# xmpp username/password to log in with
$username = $opt->get_username ? $opt->get_username : 'username';
$password = $opt->get_password ? $opt->get_password : 'password';
$domain = $opt->get_domain ? $opt->get_domain : 'example.com';
$host = $opt->get_host ? $opt->get_host : $domain;
$resource = $opt->get_resource ? $opt->get_resource : 'test';
use POE;
use Agent::TCLI::Transport::Test;
use Agent::TCLI::Testee;
use Agent::TCLI::Transport::XMPP;
use Agent::TCLI::Package::XMPP;
use Agent::TCLI::Package::Net::HTTP;
ex/target.t view on Meta::CPAN
# end of the testing.
Agent::TCLI::Package::XMPP->new,
Agent::TCLI::Package::Net::HTTP->new,
);
# Need a transport to deliver the tests to remote hosts
Agent::TCLI::Transport::XMPP->new(
'jid' => Net::XMPP::JID->new($username.'@'.$domain.'/'.$resource),
'jserver' => $host,
'jpassword' => $password,
);
my $test_master = Agent::TCLI::Transport::Test->new({
'control_options' => {
'packages' => \@packages,
},
});
# Set up the local test
my $local = Agent::TCLI::Testee->new(
t/TCLI.Package.Net.HTTPD.t view on Meta::CPAN
# $Id: TCLI.Package.Net.HTTPD.t 63 2007-05-03 15:57:38Z hacker $
use Test::More tests => 65;
use warnings;
use strict;
use Getopt::Lucid qw(:all);
sub VERBOSE () { 0 }
my ($opt, $verbose,$domain,$username,$password,$host, $poe_td, $poe_te);
eval {$opt = Getopt::Lucid->getopt([
Counter("poe_debug|d"),
Counter("poe_event|e"),
Counter("xmpp_debug|x"),
Counter("verbose|v"),
Switch("blib|b"),
])};
if($@) {die "ERROR: $@";}
$verbose = $opt->get_verbose ? $opt->get_verbose : VERBOSE;
if ( $opt->get_blib )
{
use lib 'blib/lib';
}
# xmpp username/password to log in with
$poe_td = $opt->get_poe_debug;
$poe_te = $opt->get_poe_event;
sub POE::Kernel::TRACE_DEFAULT () { $poe_td }
sub POE::Kernel::TRACE_EVENTS () { $poe_te }
use POE;
use Agent::TCLI::Transport::Test;
use Agent::TCLI::Testee;
use Agent::TCLI::Package::Net::HTTP;
t/dev/target.t view on Meta::CPAN
use warnings;
use strict;
use lib ('blib/lib');
use Test::More qw(no_plan);
sub VERBOSE () { 0 }
use Getopt::Lucid qw(:all);
my ($opt, $verbose,$domain,$username,$password,$resource,$host);
eval {$opt = Getopt::Lucid->getopt([
Param("domain|d"),
Param("username|u"),
Param("password|p"),
Param("resource|r"),
Param("host"),
Counter("verbose|v"),
])};
if($@) {die "ERROR: $@";}
$verbose = $opt->get_verbose ? $opt->get_verbose : VERBOSE;
# xmpp username/password to log in with
$username = $opt->get_username ? $opt->get_username : 'username';
$password = $opt->get_password ? $opt->get_password : 'password';
$domain = $opt->get_domain ? $opt->get_domain : 'example.com';
$host = $opt->get_host ? $opt->get_host : $domain;
use POE;
use Agent::TCLI::Transport::Test;
use Agent::TCLI::Testee;
use Agent::TCLI::Transport::XMPP;
use Agent::TCLI::Package::XMPP;
use Agent::TCLI::Package::Net::HTTP;
t/dev/target.t view on Meta::CPAN
Agent::TCLI::Package::Net::HTTP->new({
'verbose' => \$verbose,
'do_verbose' => sub { diag( @_ ) },
}),
);
# 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( @_ ) },
( run in 1.056 second using v1.01-cache-2.11-cpan-49f99fa48dc )