Agent-TCLI
view release on metacpan or search on metacpan
lib/Agent/TCLI/Package/Base.pm view on Meta::CPAN
=head1 INTERFACE
=cut
use warnings;
use strict;
use Carp;
use Object::InsideOut qw(Agent::TCLI::Base);
use POE;
use Scalar::Util qw(blessed looks_like_number);
use Getopt::Lucid;
use YAML::Syck;
use XML::Simple;
use File::ShareDir;
#use FormValidator::Simple;
$YAML::Syck::Headless = 1;
$YAML::Syck::SortKeys = 1;
our $VERSION = '0.030.'.sprintf "%04d", (qw($Id: Base.pm 62 2007-05-03 15:55:17Z hacker $))[2];
lib/Agent/TCLI/Package/Base.pm view on Meta::CPAN
}
# Input validation methods. Returns false or error message.
# These are all deprecated. Use Contraints and Command->Validator instead.
sub NotPosInt {
my ($self,$value,$name,$set) = @_;
$name = "Parameter" unless defined($name);
return ('') unless (defined ($value) && $value ne '');
return($name." is not a number: got '$value' \n") unless (Scalar::Util::looks_like_number($value) );
return($name." is not an integer: got '$value' \n") unless(int($value) == $value);
return($name." is not positive: got '$value' \n") unless ( $value >= 0);
if (defined($set))
{
$self->$name($value) if ($set eq 'set');
}
return ('');
}
sub NotNumeric {
my ($self,$value,$name,$set) = @_;
$name = "Parameter" unless defined($name);
return ('') unless (defined ($value) && $value ne '');
return($name." is not a number: got '$value' \n") unless (Scalar::Util::looks_like_number($value) );
$self->$name($value) if ($set);
return ('');
}
sub NotScalar {
my ($self,$value,$name,$set) = @_;
$name = "Parameter" unless defined($name);
return ('') unless (defined ($value) && $value ne '');
return($name." is not a scalar: got '$value' \n") unless ( ref($value) eq '' || ref($value) eq 'SCALAR_REF' );
$self->$name($value) if ($set);
lib/Agent/TCLI/Testee.pm view on Meta::CPAN
=over 4
=item * request - the text command to send to the testee
=item * expected - the response desired
=item * name - a name to identify the test in the output
=back
Thus the complete test looks like:
$testee->is_code("status", 200,"status ok");
The ok and not_ok tests check if the response code falls within a range of
values indicating success or failure, repsectively. One does not need to supply
an expected response code value with these tests.
$testee->ok("status","status ok");
There are times when a single request may elicit multiple responses. One can use
lib/Agent/TCLI/Transport/Base.pm view on Meta::CPAN
##u_ subs can't be private if used in %init_args
##named u_ to sort nicer in Eclipse
#sub u_is_text {
# return (
# validate_pos( @_, { type => Params::Validate::SCALAR | Params::Validate::SCALARREF } )
# )
#}
#sub u_is_num {
# return (
# Scalar::Utils->looks_like_number($_[0])
# )
#}
#sub u_is_int {
# my $arg = $_[0];
# return (Scalar::Util::looks_like_number($arg) &&
# (int($arg) == $arg));
# }
=back
=head2 METHODS
These methods may be used as is, or subclasses may use them as
starting point.
lib/Agent/TCLI/Transport/XMPP.pm view on Meta::CPAN
#u_ subs can't be private if used in %init_args
#named u_ to sort nicer in Eclipse
sub u_is_text {
return (
validate_pos( @_, { type => Params::Validate::SCALAR | Params::Validate::SCALARREF } )
)
}
sub u_is_num {
return (
Scalar::Utils->looks_like_number($_[0])
)
}
sub u_is_int {
my $arg = $_[0];
return (Scalar::Util::looks_like_number($arg) &&
(int($arg) == $arg));
}
sub _preinit :Preinit {
my ($self, $args) = @_;
$args->{'alias'} = 'transport_xmpp' unless defined( $args->{'alias'} );
$args->{'session'} = POE::Session->create(
object_states => [
lib/Agent/TCLI/Transport/XMPP.pm view on Meta::CPAN
sub _init :Init {
my ($self, $args) = @_;
# Validate deep arguments
# $self->Verbose("Validating arguments \n" ,1);
# my %jabber_connection = validate ($args->{'jabber_connection'}, {
# jabber_package => { regex => qr/^POE::Component::Jabber/,
# type => Params::Validate::SCALAR | Params::Validate::SCALARREF },
# server => { type => Params::Validate::SCALAR | Params::Validate::SCALARREF },
# port => { optional => 1, default => 5222,
# callbacks =>
# { 'is a number' => sub { Scalar::Utils->looks_like_a_number($_[0]) }
# }},
# password => { type => Params::Validate::SCALAR | Params::Validate::SCALARREF },
# });
}
=back
=head2 METHODS
( run in 0.556 second using v1.01-cache-2.11-cpan-64827b87656 )