#!/usr/bin/perl
# ThreatNet::Message basic functionality tests
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
# Does everything load?
use Test::More tests => 21;
use ThreatNet::Message::IPv4 ();
# Create the test data
my @good = (
'123.123.123.123',
'0.123.123.123',
'123.123.123.123 comment',
);
my @bad = (
undef,
[],
\"stringref",
{},
sub () { 1 },
'123.123.123.456'
);
foreach my $ip ( @good ) {
my ($nums) = $ip =~ /^([\d\.]+)/;
my $Message = ThreatNet::Message::IPv4->new( $ip );
isa_ok( $Message, 'ThreatNet::Message::IPv4' );
isa_ok( $Message->IP, 'Net::IP' );
is( $Message->ip, $nums, '->ip returns as expected' );
ok( $Message->created, '->created returns true' );
ok( $Message->event_time, '->event_time returns true' );
}
foreach my $ip ( @bad ) {
my $Message = ThreatNet::Message::IPv4->new( $ip );
is( $Message, undef, 'Bad value returns undef' );
}