2013-11-26 22:53:19 +00:00
|
|
|
#!/usr/bin/perl -w -I ..
|
|
|
|
#
|
|
|
|
# utils.pm tests
|
|
|
|
#
|
2013-11-26 22:53:44 +00:00
|
|
|
# $Id: utils.t,v 1.3 2006/12/12 12:59:06 tonvoon Exp $
|
2013-11-26 22:53:19 +00:00
|
|
|
#
|
|
|
|
# Run with perl t/utils.t
|
|
|
|
|
|
|
|
use warnings;
|
|
|
|
use strict;
|
|
|
|
use Test::More;
|
|
|
|
use NPTest;
|
|
|
|
|
|
|
|
use lib "..";
|
|
|
|
use utils;
|
|
|
|
|
|
|
|
my $hostname_checks = {
|
|
|
|
"www.altinity.com" => 1,
|
|
|
|
"www.888.com" => 1,
|
|
|
|
"888.com" => 1,
|
|
|
|
"host-hyphened.com" => 1,
|
|
|
|
"rubbish" => 1,
|
|
|
|
"-start.com" => 0,
|
|
|
|
"nonfqdn-but-endsindot." => 1,
|
|
|
|
"fqdn.and.endsindot." => 1,
|
|
|
|
"lots.of.dots.dot.org" => 1,
|
|
|
|
"endingwithdoubledots.." => 0,
|
|
|
|
"toomany..dots" => 0,
|
|
|
|
".start.with.dot" => 0,
|
|
|
|
"10.20.30.40" => 1,
|
|
|
|
"10.20.30.40.50" => 0,
|
|
|
|
"10.20.30" => 0,
|
|
|
|
"10.20.30.40." => 1, # This is considered a hostname because of trailing dot. It probably won't exist though...
|
|
|
|
"888." => 1, # This is because it could be a domain
|
|
|
|
"host.888." => 1,
|
|
|
|
"where.did.that.!.come.from." => 0,
|
|
|
|
"no.underscores_.com" => 0,
|
2013-11-26 22:53:44 +00:00
|
|
|
"a.somecompany.com" => 1,
|
|
|
|
"host.a.com" => 1,
|
2013-11-26 22:53:19 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
plan tests => ((scalar keys %$hostname_checks) + 4);
|
|
|
|
|
|
|
|
foreach my $h (sort keys %$hostname_checks) {
|
|
|
|
is (utils::is_hostname($h), $hostname_checks->{$h}, "$h should return ".$hostname_checks->{$h});
|
|
|
|
}
|
|
|
|
|
|
|
|
is(utils::is_hostname(), 0, "No parameter errors");
|
|
|
|
is(utils::is_hostname(""), 0, "Empty string errors");
|
|
|
|
is(utils::is_hostname(0), 0, "0 also errors");
|
|
|
|
is(utils::is_hostname(1), 0, "1 also errors");
|