Agent-TCLI-Package-Net

 view release on metacpan or  search on metacpan

t/dev/TCLI.Package.Net.SMTP.Live.t  view on Meta::CPAN

# process options
my ($verbose,$poe_td,$poe_te);
eval { GetOptions (
  		"verbose+"		=> \$verbose,
  		"event_trace+"		=> \$poe_te,
  		"default_trace+"		=> \$poe_td,
)};
if($@) {die "ERROR: $@";}

$verbose = 0 unless defined($verbose);
$poe_td = 0 unless defined($poe_td);
$poe_te = 0 unless defined($poe_te);

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_ok('Agent::TCLI::Package::Net::SMTP');

my $testee = "smtp";

# Need to use the test-builder for diagnostic output instead of printing
# Using a ref to verbose to support dynamic changing of verbosity while running
my $test1 = Agent::TCLI::Package::Net::SMTP->new({
	'verbose' 	=> \$verbose,
	'do_verbose'	=> sub { diag( @_ ) },
	});

my $test_master = Agent::TCLI::Transport::Test->new({

#    'verbose'   	=> \$verbose,        # Verbose sets level or warnings
	'do_verbose'	=> sub { diag( @_ ) },

    'control_options'	=> {
	     'packages' 	=> [ $test1 ],
    },

});

my $t = Agent::TCLI::Testee->new(
	'test_master'	=> $test_master,
	'addressee'		=> 'self',
);

$t->is_body('smtp','Context now: smtp','Context now: smtp');
$t->ok('set to=hacker@testing.erichacker.com');
$t->ok('set from=testee@testing.erichacker.com');
$t->ok('set subject="Test Body Message"');
$t->ok('send body="test 1"');
$t->ok('set subject="Test File Message"');
$t->ok('sendtext textfile="Build.PL"');

$t->ok('set subject="Test Msg Message"');
$t->ok('sendmsg msgfile="t/dev/email.wmsg"');

# Other address formats
$t->ok('set from="\"Testee\" <testee@testing.erichacker.com>"');
$t->ok('send subj="test address escaped quotes"');

$t->ok('set from="\"Testee Jr\" <testee@testing.erichacker.com>"');
$t->ok('send subj="test address escaped quotes with space"');

$t->ok('set from="Testee Jr <testee@testing.erichacker.com>"');
$t->ok('send subj="test address space no quotes"');


# fail for noexistant file
$t->not_ok('sendtext textfile="DONTREADME"');

# fail for bad address
$t->not_ok('set from="Testee testee@testing.erichacker.com"');



$test_master->run;



( run in 1.539 second using v1.01-cache-2.11-cpan-df04353d9ac )