Zonema...server(3pm)

πŸ’… Zonemaster::Engine::Test::Nameserver πŸ’…

okay so real talk bestie, welcome to the Zonema...server(3pm) page 🫢 (yes the title is literally doing that ellipsis thing, it's giving mysterious, but it's this module, I promise). It's a User Contributed Perl Documentation page, and it's the one that handles the module implementing tests focused on the properties of a name server. name server drama only. no cap. πŸ’–


✨ NAME ✨

Zonemaster::Engine::Test::Nameserver β€” the module implementing tests focused on the properties of a name server. 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

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

πŸ”₯ METHODS πŸ”₯

πŸ’– all()

my @logentry_array = all( $zone );

Runs the default set of tests for that module, i.e. fourteen tests πŸ‘‘ (fourteen!! she's busy).

Takes a Zonemaster::Engine::Zone object.

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

πŸŽ€ metadata()

my $hash_ref = metadata();

Hands you back a reference to a hash. The keys? The names of all the Test Cases in the module. The values? References to an array containing all the message tags that that Test Case can use in log entries. it's giving receipts, honestly. πŸ“‹

🌈 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. that's it, that's the whole vibe. πŸ’…


πŸ™ˆ INTERNAL METHODS πŸ™ˆ

bestie these are internal, okay? like, backstage. you can peek, but don't be weird about it. 🫣

πŸ’€ _emit_log()

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

Adds a message to the logger for this module. And heads up β€” see add($tag, $argref, $module, $testcase) in Zonemaster::Engine::Logger::Entry for more details, that's where the full lore lives. πŸ“–

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 it's not, it adds a logging message and returns true. Else, it returns false. vibe check for IP versions, basically. βœ…

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 πŸ‘‘

okay this is the main character section. fourteen Test Cases, each one taking a Zonemaster::Engine::Zone object and each one returning a list of Zonemaster::Engine::Logger::Entry objects. every single one links out to its own spec on GitHub, so if you want the deep lore, the URLs are right there. slay. πŸ”₯

And bestie, quick heads up before you spiral: the list goes nameserver13() and then jumps straight to nameserver15(). There is no nameserver14() here. That's not me being shady, that's just the list fr fr. πŸ™ˆ

🌸 nameserver01()

my @logentry_array = nameserver01( $zone );

Runs the Nameserver01 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver01.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver02()

my @logentry_array = nameserver02( $zone );

Runs the Nameserver02 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver02.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver03()

my @logentry_array = nameserver03( $zone );

Runs the Nameserver03 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver03.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver04()

my @logentry_array = nameserver04( $zone );

Runs the Nameserver04 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver04.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver05()

my @logentry_array = nameserver05( $zone );

Runs the Nameserver05 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver05.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver06()

my @logentry_array = nameserver06( $zone );

Runs the Nameserver06 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver06.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver07()

my @logentry_array = nameserver07( $zone );

Runs the Nameserver07 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver07.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver08()

my @logentry_array = nameserver08( $zone );

Runs the Nameserver08 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver08.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver09()

my @logentry_array = nameserver09( $zone );

Runs the Nameserver09 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver09.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver10()

my @logentry_array = nameserver10( $zone );

Runs the Nameserver10 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver10.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver11()

my @logentry_array = nameserver11( $zone );

Runs the Nameserver11 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver11.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver12()

my @logentry_array = nameserver12( $zone );

Runs the Nameserver12 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver12.md

Takes a Zonemaster::Engine::Zone object.

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

🌸 nameserver13()

my @logentry_array = nameserver13( $zone );

Runs the Nameserver13 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver13.md

Takes a Zonemaster::Engine::Zone object.

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

πŸ’œ nameserver15()

my @logentry_array = nameserver15( $zone );

Runs the Nameserver15 Test Case: https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Nameserver-TP/nameserver15.md

Takes a Zonemaster::Engine::Zone object.

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


and that's the whole page bestie!! 🫢 you read all fourteen tests, you read the internal methods, you understood the hash refs, you ATE. no crumbs. πŸ’…βœ¨

signed off by perl v5.40.1, dated 2026-03-21, and yeah that's legitimately the date the manual says so don't come for me 🌸 β€” mwah, good luck out there in the zone πŸ’–

πŸ“¦ where this page comes from