Zonemaster::Engine::Test::DNSSEC(3pm)

NAME
Zonemaster::Engine::Test::DNSSEC - Module implementing tests focused on DNSSEC

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

METHODS

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

    Runs the default set of tests for that module, i.e. between one and seventeen tests depending on the tested zone. If DNSSEC07 finds no DNSKEY nor DS RRs, no other test is run. If DNSSEC07 finds a DNSKEY RR, DNSSEC06 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.

_ip_disabled_message()
        my $bool = _ip_disabled_message( $logentry_array_ref, $ns, @query_type_array );

    Checks if the IP version of a given name server is allowed to be queried. If not, it adds a logging message and returns true. Else, it returns false.

    Takes a reference to an array of Zonemaster::Engine::Logger::Entry objects, a Zonemaster::Engine::Nameserver object and an array of strings (query type).

    Returns a boolean.

TESTS

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

    Runs the DNSSEC01 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec01.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC02 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec02.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC03 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec03.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC04 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec04.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC05 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec05.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC06 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec06.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC07 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec07.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC08 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec08.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC09 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec09.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC10 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec10.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC11 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec11.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC13 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec13.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC14 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec14.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC15 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec15.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC16 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec16.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC17 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec17.md>.

    Takes a Zonemaster::Engine::Zone object.

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

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

    Runs the DNSSEC18 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/DNSSEC-TP/dnssec18.md>.

    Takes a Zonemaster::Engine::Zone object.

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