NAME

Zonemaster::Engine::Test::Address - Module implementing tests focused on IP addresses of name servers

SYNOPSIS

my @results = Zonemaster::Engine::Test::Address->all( $zone );

METHODS

all()
my @logentry_array = all( $zone );

Runs the default set of tests for that module, i.e. between two and three tests depending on the tested zone. If ADDRESS02 passes, ADDRESS03 is run.

Takes a Zonemaster::Engine::Zone object.

Returns a list of Zonemaster::Engine::Logger::Entry objects.

metadata()
my $hash_ref = metadata();

Returns a reference to a hash, the keys of which are the names of all Test Cases in the module, and the corresponding values are references to an array containing all the message tags that the Test Case can use in log entries.

tag_descriptions()
my $hash_ref = tag_descriptions();

Used by the built-in translation system.

Returns a reference to a hash, the keys of which are the message tags and the corresponding values are strings (message IDs).

version()
my $version_string = version();

Returns a string containing the version of the current module.

INTERNAL METHODS

_emit_log()
my $log_entry = _emit_log( $message_tag_string, $hash_ref );

Adds a message to the logger for this module. See "add($tag, $argref, $module, $testcase)" in Zonemaster::Engine::Logger::Entry for more details.

Takes a string (message tag) and a reference to a hash (arguments).

Returns a Zonemaster::Engine::Logger::Entry object.

_find_special_address()
my $hash_ref = _find_special_address( $ip );

Verifies if an IP address is a special (private, reserved, ...) one.

Takes a Net::IP::XS object.

Returns a reference to a hash if true (see "_extract_iana_ip_blocks()" in Zonemaster::Engine::Constants), or undef if false.

TESTS

address01()
my @logentry_array = address01( $zone );

Runs the Address01 Test Case.

Takes a Zonemaster::Engine::Zone object.

Returns a list of Zonemaster::Engine::Logger::Entry objects.

address02()
my @logentry_array = address02( $zone );

Runs the Address02 Test Case.

Takes a Zonemaster::Engine::Zone object.

Returns a list of Zonemaster::Engine::Logger::Entry objects.

address03()
my @logentry_array = address03( $zone );

Runs the Address03 Test Case.

Takes a Zonemaster::Engine::Zone object.

Returns a list of Zonemaster::Engine::Logger::Entry objects.