Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Specification of Test Scenarios for ZONE09

Table of contents

Background

See the test scenario README file.

Test Case

This document specifies defined test zones for test case Zone09.

Test scenarios

The purpose of the test scenarios is to cover all reasonable contexts where different message tags are outputted when Zone09 is run on a test zone. The message tags are defined in the test case (Zone09) 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 (zone09.xa) and that subdomain having the same name as the scenario except where the test domain must be the root zone, a TLD or a domain under .arpa. The names of those zones are given in section "Zone setup for test scenarios" below.

All message tags

The test case can output any of these message tags, but not necessarily in any combination. See Zone09 for the specification of the tags.

  • Z09_ARPA_EMAIL_DOMAIN
  • Z09_INCONSISTENT_MX
  • Z09_INCONSISTENT_MX_DATA
  • Z09_MISSING_MAIL_EXCHANGE
  • Z09_MX_DATA
  • Z09_MX_FOUND
  • Z09_NON_AUTH_MX_RESPONSE
  • Z09_NO_MX_FOUND
  • Z09_NO_MX_FOUND_OR_EXPECTED
  • Z09_NO_RESPONSE_MX_QUERY
  • Z09_NO_SERVERS_MX_RESPONSE
  • Z09_NULL_MX_NON_ZERO_PREF
  • Z09_NULL_MX_WITH_OTHER_MX
  • Z09_ROOT_EMAIL_DOMAIN
  • Z09_TLD_EMAIL_DOMAIN
  • Z09_UNEXPECTED_RCODE_MX
  • Z09_VALID_NULL_MX

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 nameMandatory message tagsForbidden message tags
ARPA-EMAIL-DOMAINZ09_ARPA_EMAIL_DOMAIN, Z09_MX_DATA2)
INCONSISTENT-MXZ09_INCONSISTENT_MX, Z09_MX_FOUND, Z09_NO_MX_FOUND, Z09_MX_DATA2)
INCONSISTENT-MX-DATA-1Z09_INCONSISTENT_MX_DATA, Z09_MX_DATA2)
INCONSISTENT-MX-DATA-2Z09_INCONSISTENT_MX_DATA, Z09_MX_DATA2)
INCONSISTENT-MX-DATA-3Z09_INCONSISTENT_MX_DATA, Z09_MX_DATA2)
INCONSISTENT-MX-DATA-4Z09_INCONSISTENT_MX_DATA, Z09_MX_DATA2)
MIXED-CASE-RDATA-1Z09_MX_DATA2)
MIXED-CASE-RDATA-2Z09_MX_DATA2)
MIXED-TTL-1Z09_MX_DATA2)
MIXED-TTL-2Z09_MX_DATA2)
MX-DATAZ09_MX_DATA2)
NO-MX-ARPAZ09_NO_MX_FOUND_OR_EXPECTED2)
NO-MX-ROOTZ09_NO_MX_FOUND_OR_EXPECTED2)
NO-MX-SLDZ09_MISSING_MAIL_EXCHANGE2)
NO-MX-TLDZ09_NO_MX_FOUND_OR_EXPECTED2)
NO-RESPONSE-MX-QUERY-1Z09_NO_RESPONSE_MX_QUERY, Z09_MX_DATA2)
NO-RESPONSE-MX-QUERY-2Z09_NO_RESPONSE_MX_QUERY, Z09_NO_SERVERS_MX_RESPONSE2)
NON-AUTH-MX-RESPONSEZ09_NON_AUTH_MX_RESPONSE, Z09_MX_DATA2)
NULL-MX-ARPAZ09_MX_DATA, Z09_VALID_NULL_MX2)
NULL-MX-NON-ZERO-PREFZ09_NULL_MX_NON_ZERO_PREF, Z09_MX_DATA2)
NULL-MX-ROOTZ09_MX_DATA, Z09_VALID_NULL_MX2)
NULL-MX-SLDZ09_MX_DATA, Z09_VALID_NULL_MX2)
NULL-MX-TLDZ09_MX_DATA, Z09_VALID_NULL_MX2)
NULL-MX-WITH-OTHER-MXZ09_NULL_MX_WITH_OTHER_MX, Z09_MX_DATA2)
ROOT-EMAIL-DOMAINZ09_ROOT_EMAIL_DOMAIN, Z09_MX_DATA2)
TLD-EMAIL-DOMAINZ09_TLD_EMAIL_DOMAIN, Z09_MX_DATA2)
UNEXPECTED-RCODE-MXZ09_UNEXPECTED_RCODE_MX, Z09_MISSING_MAIL_EXCHANGE2)
  • (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"

Zone setup for test scenarios

Assumptions for the zone setup for the test scenarios:

  • Only MX records in apex are considered.
  • Unless otherwise stated, all name servers respond authoritatively with the SOA record on SOA queries.
  • Unless otherwise stated, all name servers respond authoritatively with (or without) MX records on MX queries.
  • Unless otherwise stated, all responses are authoritative and with RCODE Name "NoError".
  • Unless otherwise stated all name servers for the zone respond with an identical, non-empty, non-Null MX RRset on MX query.
  • Unless otherwise stated all zones are served by two name servers whose name are in-domain.

ARPA-EMAIL-DOMAIN

  • Zone: "arpa-email-domain.zone09.arpa."
    • The test zone is under .ARPA.

INCONSISTENT-MX

  • Zone: "inconsistent-mx.zone09.xa."
    • One name server responds without MX RRset (NODATA).

INCONSISTENT-MX-DATA-1

  • Zone: "inconsistent-mx-data-1.zone09.xa."
    • The name servers respond with MX RRsets that are not equal. One server gives two MX records, while the other one gives just one of the two MX records.

INCONSISTENT-MX-DATA-2

  • Zone: "inconsistent-mx-data-2.zone09.xa."
    • Both name servers respond with MX RRsets that are not equal. One server gives one MX record, while the other one gives an MX record with the same mail exchange name but a different preference value.

INCONSISTENT-MX-DATA-3

  • Zone: "inconsistent-mx-data-3.zone09.xa."
    • Both name servers respond with MX RRsets that are not equal. Both servers give two MX records with the same two exchange names, but the preference values are different on the records between the two servers.

INCONSISTENT-MX-DATA-4

  • Zone: "inconsistent-mx-data-4.zone09.xa."
    • Both name servers respond with MX RRsets that are not equal.
    • ns1 gives two MX records with different preferences but the same exchange name.
    • ns2 gives one MX record equal to one of the MX records of ns1

MIXED-CASE-RDATA-1

  • Zone: "mixed-case-rdata-1.zone09.xa."
    • The zone responds with two MX record.
    • In ns1 the first MX is in upper case and the second in lower case.
    • In ns2 the first MX is in lower case and the second in upper case.

MIXED-CASE-RDATA-2

  • Zone: "mixed-case-rdata-2.zone09.xa."
    • The zone responds with one MX record.
    • In ns1 the MX record comes twice, once in lower case and once in upper case.
    • In ns2 the MX record comes once, in mixed lower and upper case.

MIXED-TTL-1

  • Zone: "mixed-ttl-1.zone09.xa."
    • The TTL of the MX RRset are different on the two NS.

MIXED-TTL-2

  • Zone: "mixed-ttl-2.zone09.xa."
    • The TTL of the records in the MX RRset are different.

MX-DATA

  • Zone: "mx-data.zone09.xa."

NO-MX-ARPA

  • Zone: "no-mx-arpa.zone09.arpa."
    • The test zone is under .ARPA.
    • All name servers respond with no MX RRset (NODATA).

NO-MX-ROOT

  • Zone: "." (root zone)
    • The test zone is the root zone.
    • All name servers respond with no MX RRset (NODATA).

NO-MX-SLD

  • Zone: "no-mx-sld.zone09.xa."
    • The test zone is neither root, TLD or under .ARPA.
    • All name servers respond with no MX RRset (NODATA).

NO-MX-TLD

  • Zone: "no-mx-tld-zone09." (TLD, dash "-", not dot ".")
    • The test zone is a TLD.
    • All name servers respond with no MX RRset (NODATA).

NO-RESPONSE-MX-QUERY-1

  • Zone: "no-response-mx-query-1.zone09.xa."
    • One name server does not respond on MX query.

NO-RESPONSE-MX-QUERY-2

  • Zone: "no-response-mx-query-2.zone09.xa."
    • No name server responds on MX query.

NON-AUTH-MX-RESPONSE

  • Zone: "non-auth-mx-response.zone09.xa."
    • The zone is served by three NS: ns1, ns2 and ns4.
    • Server ns4 returns with RCODE Name "NoError" and non-AA on MX query.

NULL-MX-ARPA

  • Zone: "null-mx-arpa.zone09.arpa."
    • The test zone is under .ARPA.
    • The MX RRset has a single, valid NULL MX.

NULL-MX-NON-ZERO-PREF

  • Zone: "null-mx-non-zero-pref.zone09.xa."
    • The MX RRset has a single Null MX record with a non-zero preference.

NULL-MX-ROOT

  • Zone: "." (root zone)
    • The test zone is the root zone.
    • The MX RRset has a single, valid NULL MX.

NULL-MX-SLD

  • Zone: "null-mx-sld.zone09.xa."
    • The MX RRset has a single, valid NULL MX.

NULL-MX-TLD

  • Zone: "null-mx-tld-zone09." (TLD, dash "-", not dot ".")
    • The test zone is a TLD.
    • The MX RRset has a single, valid NULL MX.

NULL-MX-WITH-OTHER-MX

  • Zone: "null-mx-with-other-mx.zone09.xa."
    • The MX RRset is a mix of Null MX and non-Null MX.

ROOT-EMAIL-DOMAIN

  • Zone: "." (root zone)
    • The test zone is the root zone.

TLD-EMAIL-DOMAIN

  • Zone: "tld-email-domain-zone09." (TLD, dash "-", not dot ".")
    • The test zone is a TLD zone.

UNEXPECTED-RCODE-MX

  • Zone: "unexpected-rcode-mx.zone09.xa."
    • One name server returns with any RCODE Name except "NoError".
    • The other returns no MX.