Zonema...gation(3pm)

πŸ’– NAME πŸ’–

Zonemaster::Engine::Test::Delegation β€” the module that runs all the tests focused on zone delegation. That's her whole thing. That's the assignment. πŸ‘‘


✨ SYNOPSIS ✨

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

like. one line. and she's doing the MOST. πŸ’…


πŸŽ€ METHODS πŸŽ€

all()

my @logentry_array = all( $zone );

Okay so this one runs the default set of tests for that module β€” that's seven tests, bestie, count 'em, seven. πŸ–οΈβœŒοΈ

  • 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 are the names of all Test Cases in the module, and the values are references to an array holding all the message tags that Test Case can use in log entries. It's giving ✨organized✨

tag_descriptions()

my $hash_ref = tag_descriptions();

This one's used by the built-in translation system. 🌈

Returns a reference to a hash where the keys are the message tags and the 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 job. slay. πŸ’œ


🧚 INTERNAL METHODS 🧚

these ones are the backstage crew, okay? they're not for you to call directly, they're doing the work behind the curtain 🎭

_emit_log()

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

Adds a message to the logger for this module. For the nitty gritty, see "add($tag, $argref, $module, $testcase)" in Zonemaster::Engine::Logger::Entry.

  • 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? She adds a logging message and returns true. If it is? false. Simple as. πŸ™ˆ

  • 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.

_max_length_name_for()

my $name_string = _max_length_name_for( $name );

Makes up a name of maximum length in the given domain name. She's the helper function bestie for Test Case Delegation03. 🫢

  • Takes a Zonemaster::Engine::DNSName object.
  • Returns a string.

_find_dup_ns()

my @logentry_array = _find_dup_ns( %hash );

Checks if given name servers have distinct IP addresses. Helper function for Test Case Delegation02. πŸ”

  • Takes a hash β€” keys are "duplicate_tag", "distinct_tag" and "ns_list", and their corresponding values are a string, a string, and a reference to an array of Zonemaster::Engine::Nameserver objects, respectively.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

πŸ‘‘ TESTS πŸ‘‘

all seven of them. every single one. no skips. πŸ’…

delegation01()

my @logentry_array = delegation01( $zone );

Runs the Delegation01 Test Case, spec lives at https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Delegation-TP/delegation01.md.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

delegation02()

my @logentry_array = delegation02( $zone );

Runs the Delegation02 Test Case, spec lives at https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Delegation-TP/delegation02.md.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

delegation03()

my @logentry_array = delegation03( $zone );

Runs the Delegation03 Test Case, spec lives at https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Delegation-TP/delegation03.md.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

delegation04()

my @logentry_array = delegation04( $zone );

Runs the Delegation04 Test Case, spec lives at https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Delegation-TP/delegation04.md.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

delegation05()

my @logentry_array = delegation05( $zone );

Runs the Delegation05 Test Case, spec lives at https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Delegation-TP/delegation05.md.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

delegation06()

my @logentry_array = delegation06( $zone );

Runs the Delegation06 Test Case, spec lives at https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Delegation-TP/delegation06.md.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

delegation07()

my @logentry_array = delegation07( $zone );

Runs the Delegation07 Test Case, spec lives at https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Delegation-TP/delegation07.md.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

okay that's the whole page bestie you ATE that reading comprehension moment πŸ’– this little manual lives in perl v5.40.1 territory, dated 2026-03-21, and yeah the name up top got squished to Zonema...gation(3pm) because terminals got no chill about long titles. go forth and delegate. πŸ¦‹πŸŒΈβœ¨

πŸ“¦ where this page comes from