# Specification of test Scenarios for Delegation01 ## Table of contents * [Background](#background) * [Test Case](#test-case) * [Test scenarios](#test-scenarios) * [Test zone names](#test-zone-names) * [All message tags](#all-message-tags) * [Test scenarios and message tags](#test-scenarios-and-message-tags) * [Test zone setup] ## Background See the [test scenario README file]. ## Test Case This document specifies test scenarios for test case [Delegation01]. ## Test scenarios The purpose of the test scenarios is to cover all reasonable contexts where different message tags are output when [Delegation01] is run on a test zone. The message tags are defined in the test case ([Delegation01]) and the scenarios are defined below. The test scenarios are structured as stated in the [test scenario README file]. ## Test zone names The test zone for each test scenario in this document is a subdomain delegated from the base name (`delegation01.xa`) and that subdomain having the same name as the scenario. The names of those zones are given in section [Test zone setup] below. ## All message tags The test case can output any of these message tags, but not necessarily in any combination. See [Delegation01] for the specification of the tags. * ENOUGH_IPV4_NS_CHILD * ENOUGH_IPV4_NS_DEL * ENOUGH_IPV6_NS_CHILD * ENOUGH_IPV6_NS_DEL * ENOUGH_NS_CHILD * ENOUGH_NS_DEL * NOT_ENOUGH_IPV4_NS_CHILD * NOT_ENOUGH_IPV4_NS_DEL * NOT_ENOUGH_IPV6_NS_CHILD * NOT_ENOUGH_IPV6_NS_DEL * NOT_ENOUGH_NS_CHILD * NOT_ENOUGH_NS_DEL * NO_IPV4_NS_CHILD * NO_IPV4_NS_DEL * NO_IPV6_NS_CHILD * NO_IPV6_NS_DEL ## Test scenarios and message tags If a message tag is not listed for the scenario, its presence or non-presence is irrelevant to the test scenario and must be ignored. Scenario name | Mandatory message tag | Forbidden message tags :-----------------------------|:---------------------------------------------------------|:------------------------------------------- ENOUGH-1 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2) ENOUGH-2 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2) ENOUGH-3 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2) ENOUGH-DEL-NOT-CHILD | ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_DEL, NOT_ENOUGH_IPV4_NS_CHILD, NOT_ENOUGH_IPV6_NS_CHILD, NOT_ENOUGH_NS_CHILD | 2) ENOUGH-CHILD-NOT-DEL | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV6_NS_CHILD, ENOUGH_NS_CHILD, NOT_ENOUGH_IPV4_NS_DEL, NOT_ENOUGH_IPV6_NS_DEL, NOT_ENOUGH_NS_DEL | 2) IPV6-AND-DEL-OK-NO-IPV4-CHILD | ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV4_NS_CHILD | 2) IPV4-AND-DEL-OK-NO-IPV6-CHILD | ENOUGH_IPV4_NS_DEL, ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV6_NS_CHILD | 2) NO-IPV4-1 | ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV4_NS_CHILD, NO_IPV4_NS_DEL | 2) NO-IPV4-2 | ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV4_NS_CHILD, NO_IPV4_NS_DEL | 2) NO-IPV4-3 | ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV4_NS_CHILD, NO_IPV4_NS_DEL | 2) NO-IPV6-1 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV6_NS_CHILD, NO_IPV6_NS_DEL | 2) NO-IPV6-2 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV6_NS_CHILD, NO_IPV6_NS_DEL | 2) NO-IPV6-3 | ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL, NO_IPV6_NS_CHILD, NO_IPV6_NS_DEL | 2) MISMATCH-DELEGATION-CHILD-1 | ENOUGH_IPV4_NS_CHILD, NOT_ENOUGH_IPV4_NS_DEL, ENOUGH_IPV6_NS_CHILD, NOT_ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2) MISMATCH-DELEGATION-CHILD-2 | NOT_ENOUGH_IPV4_NS_CHILD, ENOUGH_IPV4_NS_DEL, NOT_ENOUGH_IPV6_NS_CHILD, ENOUGH_IPV6_NS_DEL, ENOUGH_NS_CHILD, ENOUGH_NS_DEL | 2) 1\) All tags except for those specified as "Forbidden message tags" (no instances for these test scenarios) 2\) All tags except for those specified as "Mandatory message tags" ## Test zone setup Assumptions for the scenario specifications unless otherwise specified for the specific scenario: * For each scenario zone there are two name servers configured. * Both name servers (ns1 and ns2) are equal in delegation and in zone. * Both name servers are in-bailiwick. * Both name servers have both IPv4 and IPv6 addresses. * All required glue records are present in the delegation. * All glue exactly match the authoritative address records in correct zone (not more and not less records). * All name server IP addresses respond with identical zone content. ### ENOUGH-1 This is the main happy path. * Zone: enough-1.delegation01.xa ### ENOUGH-2 This is also a happy path. Out-of-bailiwick. * Zone: enough-2.delegation01.xa * Both ns1 and ns2 are out-of-bailiwick. * ns1 is "ns1.enough-2.delegation01.xb" * ns2 is "ns2.enough-2.delegation01.xb" * Delegation is without glue. * The test zone ("child") has no address records for the name server names. * The "delegation01.xb" zone has the full set of address records. ### ENOUGH-3 This is also a happy path. Also out-of-bailiwick, but with sibling glue. * Zone: enough-3.delegation01.xa * Both ns1 and ns2 are out-of-bailiwick * ns1 is "ns1.enough-3.sibling.delegation01.xa" * ns2 is "ns2.enough-3.sibling.delegation01.xa" * Delegation is with glue. * The child zone has no address records for the name server names. * The two name servers are defined directly in the parent zone with full set of address records. ### ENOUGH-DEL-NOT-CHILD Only one name server in child zone. * Zone: enough-del-not-child.delegation01.xa * The child zone defines only one name server, ns1. * Delegation is complete. ### ENOUGH-CHILD-NOT-DEL Only one name server in delegation. * Zone: enough-child-not-del.delegation01.xa * The delegation has only one name server, for ns1. * The child has two name servers with full set of address records. ### IPV6-AND-DEL-OK-NO-IPV4-CHILD No IPv4 in zone. * Zone: ipv6-and-del-ok-no-ipv4-child.delegation01.xa * No A records for ns1 and ns2 in zone. * Delegation is complete. ### IPV4-AND-DEL-OK-NO-IPV6-CHILD No IPv6 in zone. * Zone: ipv4-and-del-ok-no-ipv6-child.delegation01.xa * No AAAA records for ns1 and ns2 in zone. * Delegation is complete. ### NO-IPV4-1 No IPv4 in delegation or zone. * Zone: no-ipv4-1.delegation01.xa * No A glue for ns1 and ns2. * No A records in zone for ns1 and ns2. ### NO-IPV4-2 No IPv4 in delegation or zone. Out-of-bailiwick name servers and no glue. * Zone: no-ipv4-2.delegation01.xa * Both ns1 and ns2 are out-of-bailiwick under the xb tree. * ns1 is "ns1.no-ipv4-2.delegation01.xb" * ns2 is "ns2.no-ipv4-2.delegation01.xb" * Delegation is without glue. * The test zone ("child") has no address records for the name server names * The "delegation01.xb" zone has full set of address records for this. * AAAA only, not A ### NO-IPV4-3 No IPv4 in delegation or zone. Out-of-bailiwick name servers, but with sibling glue. * Zone: no-ipv4-3.delegation01.xa * Both ns1 and ns2 are out-of-bailiwick * ns1 is "ns1.no-ipv4-3.sibling.delegation01.xa" * ns2 is "ns2.no-ipv4-3.sibling.delegation01.xa" * Delegation is with glue. * The child zone has no address records for the name server names * The sibling names have full sets of address records. * AAAA only, not A. ### NO-IPV6-1 No IPv6 in delegation or zone. * Zone: no-ipv6-1.delegation01.xa * No AAAA glue for ns1 and ns2. * No AAAA records in zone for ns1 and ns2. ### NO-IPV6-2 No IPv6 in delegation or zone. Out-of-bailiwick name servers and no glue. * Zone: no-ipv6-2.delegation01.xa * Both ns1 and ns2 are out-of-bailiwick under the xb tree. * ns1 is "ns1.no-ipv6-2.delegation01.xb" * ns2 is "ns2.no-ipv6-2.delegation01.xb" * Delegation is without glue. * The test zone ("child") has no address records for the name servers names * The "delegation01.xb" zone has full set of address records for this. * A only, not AAAA ### NO-IPV6-3 No IPv6 in delegation or zone. Out-of-bailiwick name servers, but with sibling glue. * Zone: no-ipv6-3.delegation01.xa * Both ns1 and ns2 are out-of-bailiwick * ns1 is "ns1.no-ipv6-3.sibling.delegation01.xa" * ns2 is "ns2.no-ipv6-3.sibling.delegation01.xa" * Delegation is with glue. * The child zone has no address records for the name server names * The sibling names has full set of address records. * A only, not AAAA. ### MISMATCH-DELEGATION-CHILD-1 Missing glue, only IPv4 on ns1 and only IPv6 on ns2. * Zone: mismatch-delegation-child-1.delegation01.xa * Only IPv4 glue on ns1. * Only IPv6 glue on ns2. * Full set in zone. ### MISMATCH-DELEGATION-CHILD-2 The zone has only IPv4 on ns1 and only IPv6 on ns2. * Zone: mismatch-delegation-child-2.delegation01.xa * Only IPv4 on ns1 in zone. * Only IPv6 on ns2 in zone. * Full set in delegation. [Delegation01]: ../../tests/Delegation-TP/delegation01.md [RCODE Name]: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6 [Test scenario README file]: ../README.md [Test zone setup]: #test-zone-setup