246 lines
9.6 KiB
Markdown
246 lines
9.6 KiB
Markdown
|
|
# 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
|