Domain Tests
RP Section 2.1
Test group: [rdapResponseProfile_2_1_Validation]
The following steps should be used to test the RDAP protocol section 2.1 of the RDAP Response Profile 2.1.
- Test case -46100: If domain/
in the RDAP Query URI contains only A-label or NR-LDH labels, the topmost domain object shall contain a ldhName. - Test case -46101: If domain/
in the RDAP Query URI contains one or more U-label, the topmost domain object shall contain an unicodeName.
RP Section 2.2
Test group: [rdapResponseProfile_2_2_Validation]
The following steps should be used to test the RDAP protocol section 2.2 of the RDAP Response Profile 2.1:
- Test case -46200: The handle in the topmost domain object shall comply with the following format specified in RFC5730: "(\w|_){1,80}-\w{1,8}".
- Test case -46201: If the handle in the topmost domain object comply with the format: "(\w|_){1,80}-\w{1,8}", validate that the string followed by a hyphen ("-", ASCII value 0x002D) is registered in EPPROID.
- Test case -46205", validate that the string followed by a hyphen ("-", ASCII value 0x002D) is not “ICANNRST”. }: If the handle in the topmost domain object comply with the format: "(\w|_){1,80}-\w{1,8
RP Section 2.3.1.1
Test group: [rdapResponseProfile_2_3_1_1_Validation]
The following steps should be used to test the RDAP protocol section 2.3.1.1 of the RDAP Response Profile 2.1:
- Test case -46300: Validate that an eventAction of type "registration" exists in the topmost events structure.
RP Section 2.3.1.2
Test group: [rdapResponseProfile_2_3_1_2_Validation]
The following steps should be used to test the RDAP protocol section 2.3.1.2 of the RDAP Response Profile 2.1:
- Test case -46400: Validate that an eventAction type "expiration" exists in the topmost events structure.
Required Notices
Test group: [rdapResponseProfile_notices_included_Validation]
The following steps should be used to test that a notices member appear in the RDAP response:
- Test case -46500: Validate that a notices member appears in the RDAP response.
RP Section 2.6.3
Test group: [rdapResponseProfile_2_6_3_Validation]
The following steps should be used to test the RDAP protocol section 2.6.3 of the RDAP Response Profile 2.1:
- Test case -46600: Validate that the notices member contains an element in the JSON array with a title
“Status Codes”, a description containing the string “For more information on domain
status codes, please visit https://icann.org/epp” and a links member with an href
containing "https://icann.org/epp".
See Notice of EPP Status Codes in the conformance considerations for more information.
{ "code": -46600, "value": "<notices structure>", "message": "The notice for https://icann.org/epp was not found." }
RP Section 2.11
Test group: [rdapResponseProfile_2_11_Validation]
The following steps should be used to test the RDAP protocol section 2.11 of the RDAP Response Profile 2.1:
- Test case -46700: Validate that the notices member contains an element in the JSON array with a title
“RDDS Inaccuracy Complaint Form”, a description containing the string “URL of the
ICANN RDDS Inaccuracy Complaint Form: https://icann.org/wicf” and a links member
with an href containing "https://icann.org/wicf".
See Notice of RDDS Inaccuracy Report in the conformance considerations for more information.
{ "code": -46700, "value": "<notices structure>", "message": "The notice for https://icann.org/wicf was not found." }
- Test case -65300: Validate that the query “/domain/not-a-domain.invalid” yields an HTTP status code of 404.
RP Section 2.10
Test group: [rdapResponseProfile_2_10_Validation]
The following steps should be used to test the RDAP protocol section 2.10 of the RDAP Response Profile 2.1:
- Test case -46800: Validate that a secureDNS member is included in the domain object.
- Test case -46801: The JSON name delegationSigned shall appear.
- Test case -46802: If delegationSigned has a value of true, one dsData name/values or one keyData name/value shall appear.
RFC 5731 Validation
Test group: [rdapResponseProfile_rfc5731_Validation]
The following steps should be used to test that the status values comply with RFC5731:
- Test case -46900: Validate that the values of the status member in the topmost object comply with the following:
- "active" status MUST NOT be combined with any other status.
- "pending delete" status MUST NOT be combined with either "client delete prohibited" or "server delete prohibited" status.
- "pending renew" status MUST NOT be combined with either "client renew prohibited" or "server renew prohibited" status.
- "pending transfer" status MUST NOT be combined with either "client transfer prohibited" or "server transfer prohibited" status.
- "pending update" status MUST NOT be combined with either "client update prohibited" or "server update prohibited" status.
- The "pending create", "pending delete", "pending renew", "pending transfer", and "pending update" status values MUST NOT be combined with each other.
RFC 3915 Validation
Test group: [rdapResponseProfile_rfc3915_Validation]
The following steps should be used to test that the status values comply with RFC3915:
- Test case -47000 -- DEPRECATED, SEE 47001 and 47002: Validate that the values of the status member in the topmost object comply with the following:
- "redemption period" status MUST only be combined with "pending delete".
- "pending restore" status MUST only be combined with "pending delete".
- Test case -47001: If the topmost object is a domain, validate that if the “status” member has the value “redemption period” only if it also has the value “pending delete”.
- Test case -47002: If the topmost object is a domain, validate that if the “status” member has the value “pending restore” only if it also has the value “pending delete”.
RP Section 2.6.1
Test group: [rdapResponseProfile_2_6_1_Validation]
The following steps should be used to test the RDAP protocol section 2.6.1 of the RDAP Response Profile 2.1:
- Test case -47100: Validate that a status member in the topmost object contain at least one value.
RP Section 2.9.1 and 2.9.2
Test group: [rdapResponseProfile_2_9_1_and_2_9_2_Validation]
The following steps should be used to test the RDAP protocol section 2.9.1 and 2.9.2 of the RDAP Response Profile 2.1:
- Test case -47200: If the nameservers member is included within the domain object, validate that all nameserver objects contain the ldhName element.
- Test case -47201: If the nameservers member is included within the domain object, validate that all handles in the nameserver objects comply with the following format specified in RFC5730: "(\w|_){1,80}-\w{1,8}".
- Test case -47202: If the nameservers member is included within the domain object, validate that the string followed by a hyphen ("-", ASCII value 0x002D) is registered in EPPROID for all the handles that comply with the format "(\w|_){1,80}-\w{1,8}".
- Test case -47203: If the nameservers member is included within the domain object AND THE QUERY IS TO A GLTD REGISTRAR (i.e. --gtld-registrar option) and at least one nameserver object contains a handle or a status element, validate that all nameserver objects include a handle and a status element.
- Test case -47204: If the nameservers member is included within the domain object, validate that all status elements included in the nameserver objects comply with the following:
- "active" status MAY only be combined with "associated" status.
- "associated" status MAY be combined with any status.
- "pending delete" status MUST NOT be combined with either "client delete prohibited" or "server delete prohibited" status.
- "pending update" status MUST NOT be combined with either "client update prohibited" or "server update prohibited" status.
- The pending create, pending delete, pending renew, pending transfer, and pending update status values MUST NOT be combined with each other.
- Test case -47205: If the nameservers member is included within the domain object, validate that the handle is a string followed by a hyphen ("-", ASCII value 0x002D) is not “ICANNRST”.
RP Section 2.4.1
Test group: [rdapResponseProfile_2_4_1_Validation]
The following steps should be used to test the RDAP protocol section 2. 4 .1 of the RDAP Response Profile 2.1:
- Test case -47300: An entity with the registrar role within the topmost domain object shall exist.
- Test case -47301: Only one entity with the registrar role within the topmost domain object shall exist.
- Test case -47302: For the entity with the registrar role within the topmost domain object, validate that a fn member is included in all of the vcard objects.
RP Section 2.4.2 and 2.4.3
Test group: [rdapResponseProfile_2_4_2_and_2_4_3_Validation]
The following steps should be used to test the RDAP protocol section 2. 4. 2 and 2.4.3 of the RDAP Response Profile 2.1:
- Test case -47400: For the entity with the registrar role within the topmost object, validate that a publicIds member is included.
- Test case -47401: For the entity with the registrar role within the domain object, if a publicIds member is included, validate that the identifier member is a positive integer.
- Test case -47402: For the entity with the registrar role within the domain object, validate that the handle member is a positive integer.
- Test case -47403: For the entity with the registrar role within the domain object, if a publicIds member is included, validate that the identifier member equals the handle member.
- Test case -47404: For the entity with the registrar role within the domain object, validate that the value of the handle member exists in the registrarId.
RP Section 2.4.5
Test group: [rdapResponseProfile_2_4_5_Validation]
- Test case -47500: For the entity with the registrar role within the domain object, validate that an entity with the abuse role is included, and the entity with the abuse role includes a tel and email members in all the vcard objects.