Domain Registrant Tests
RP 2024 Section 2.7.2
Test group: [rdapResponseProfile2024_2_7_2_Validation]
- Test case -63000: If the queried RDAP server is a registrar (such as with the --gtld-registrar command line parameter or through the configuration object), verify that the domain object has one entity with the “registrant” role.
Registrant Handle
Test group: [rdapResponseProfile_registrant_handle]
These tests only apply to an entity with the “registrant” role, if present.
If the handle of the entity with the “registrant” role is present, the following tests apply:
- Test case -63100: The handle of the entity object above shall comply with the following format specified in RFC5730: "(\w|_){1,80}-\w{1,8}".
- Test case -63101: If the handle of the entity object above complies with the format: "(\w|_){1,80}-\w{1,8}", validate that the string followed by a hyphen ("-", ASCII value 0x002D) is registered in EPPROID.
If the handle is NOT in the entity object with the registrant, the following tests apply:
- Test case -63102: Verify that a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registry Registrant ID”.
- Test case -63103: In the redaction object from the above test, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the prePath property is either absent or is present with a valid JSONPath expression.
- Test case -63104: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to an empty set.
- Test case -63105: In the redaction object from the above test, verify that the method property is either absent or is present as is a JSON string of “removal”.
RP 2024 Section 2.7.4.1
Test group: [rdapResponseProfile2024_2_7_4_1_Validation]
These tests only apply to an entity with the “registrant” role, if present.
- Test case -63200: Verify the fn property of all the vCard objects of the entity with the “registrant” role is present.
If the fn property above is present but empty, the following tests apply:
- Test case -63201: Verify that a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Name”.
- Test case -63202: In the redaction object from the above test, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the postPath property is present with a valid JSONPath expression.
- Test case -63203: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to a non-empty set.
- Test case -63204: In the redaction object from the above test, verify that the method property is present as is a JSON string of “emptyValue”.
RP 2024 Section 2.7.4.2
Test group: [rdapResponseProfile2024_2_7_4_2_Validation]
These tests only apply to an entity with the “registrant” role, if present.
If the org property on the vCards for the entity with the role of registrant is not present, the following tests apply:
- Test case -63300: Verify that a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Organization”.
- Test case -63301: In the redaction object from the above test, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the prePath property is either absent or is present with a valid JSONPath expression.
- Test case -63302: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to an empty set.
- Test case -63303: In the redaction object from the above test, verify that the method property is either absent or is present as is a JSON string of “removal”.
RP 2024 Section 2.7.4.3
Test group: [rdapResponseProfile2024_2_7_4_3_Validation]
These tests only apply to an entity with the “registrant” role, if present.
- Test case -63400: Verify the street value (zero-indexed 2) of the adr property of all the vCard objects of the entity with the “registrant” role is present.
If the street value of the adr property above is present but empty, the following tests apply:
- Test case -63401: Verify that a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Street”.
- Test case -63402: In the redaction object from the above test, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the postPath property is present with a valid JSONPath expression.
- Test case -63403: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to a non-empty set.
- Test case -63404: In the redaction object from the above test, verify that the method property is present as is a JSON string of “emptyValue”.
RP 2024 Section 2.7.4.4
Test group: [rdapResponseProfile2024_2_7_4_4_Validation]
These tests only apply to an entity with the “registrant” role, if present.
- Test case -63500: Verify the city value (zero-indexed 3) of the adr property of all the vCard objects of the entity with the “registrant” role is present.
If the city value of the adr property above is present but empty, the following tests apply:
- Test case -63501: Verify that a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant City”.
- Test case -63502: In the redaction object from the above test, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the postPath property is present with a valid JSONPath expression.
- Test case -63503: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to a non-empty set.
- Test case -63504: In the redaction object from the above test, verify that the method property is present as is a JSON string of “emptyValue”.
RP 2024 Section 2.7.4.6
Test group: [rdapResponseProfile_2_7_4_6_Validation]
These tests only apply to an entity with the “registrant” role, if present.
- Test case -63600: Verify the postal code value (zero-indexed 5) of the adr property of all the vCard objects of the entity with the “registrant” role is present.
If the postal code value of the adr property above is present but empty, the following tests apply:
- Test case -63601: Verify that a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Postal Code”.
- Test case -63602: In the redaction object from the above test, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the postPath property is present with a valid JSONPath expression.
- Test case -63603: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to a non-empty set.
- Test case -63604: In the redaction object from the above test, verify that the method property is present as is a JSON string of “emptyValue”.
RP 2024 Section 2.7.4.8
Test group: [rdapResponseProfile2024_2_7_4_8_Validation]
These tests only apply to an entity with the “registrant” role, if present.
If a tel property with a “voice” parameter on the vCards for the entity with the role of registrant is not present, the following tests apply:
- Test case -63700: Verify that a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Phone”.
- Test case -63701: In the redaction object from the above test, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the prePath property is either absent or is present with a valid JSONPath expression.
- Test case -63702: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to an empty set.
- Test case -63703: In the redaction object from the above test, verify that the method property is either absent or is present as is a JSON string of “removal”.
RP 2024 Section 2.7.5.1
Test group: [rdapResponseProfile2024_2_7_5_1_Validation]
These tests only apply to an entity with the “registrant” role, if present.
If a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Phone Ext”, these tests apply:
- Test case -63800: In the redaction object from the above, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the prePath property is either absent or is present with a valid JSONPath expression.
- Test case -63801: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to an empty set.
- Test case -63802: In the redaction object from the above test, verify that the method property is either absent or is present as is a JSON string of “removal”.
RP 2024 Section 2.7.5.2
Test group: [rdapResponseProfile_2_7_5_2_Validation]
These tests only apply to an entity with the “registrant” role, if present.
If a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Fax”, these tests apply:
- Test case -63900: In the redaction object from the above, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the prePath property is either absent or is present with a valid JSONPath expression.
- Test case -63901: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to an empty set.
- Test case -63902: In the redaction object from the above test, verify that the method property is either absent or is present as is a JSON string of “removal”.
RP Section 2.7.5.3
Test group: [rdapResponseProfile_2_7_5_3_Validation]
These tests only apply to an entity with the “registrant” role, if present.
If a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Fax Ext”, these tests apply:
- Test case -64000: In the redaction object from the above, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the prePath property is either absent or is present with a valid JSONPath expression.
- Test case -64001: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to an empty set.
- Test case -64002: In the redaction object from the above test, verify that the method property is either absent or is present as is a JSON string of “removal”.
RP 2024 Section 2.7.4.9
Test group: [rdapResponseProfile2024_2_7_4_9_Validation]
These tests only apply to an entity with the “registrant” role, if present, on queries of a gTLD registrar (i.e. --gtld-registrar
).
If a redaction object (see RFC 9537) is in the redacted array with a name object containing the type property which is a JSON string of “Registrant Email”, these tests apply:
- Test case -64100: Verify that the contact-uri property and the email property do not exist together on any vCards for the entity with the role of “registrant”.
- Test case -64101: Verify that either the contact-uri property or the email property exists on all vCards for the entity with the role of “registrant”.
- Test case -64102: In the redaction object from the above test, verify that the method property is present as is a JSON string of “replacementValue”.
Given the above, if the email property exists on any of the vCards, the following tests apply:
- Test case -64103: In the redaction object from the above, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the postPath property is either absent or is present with a valid JSONPath expression.
- Test case -64104: With the JSONPath expression from above, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to a non-empty set.
Given the above, if the contact-uri property exists on any of the vCards, the following tests apply:
- Test case -64105: In the redaction object from the above, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the replacementPath property is either absent or is present with a valid JSONPath expression.
- Test case -64106: In the redaction object from the above, if the pathLang property is either absent or is present as a JSON string of “jsonpath”, then verify that the prePath property is either absent or is present with a valid JSONPath expression.
- Test case -64107: With the JSONPath expression from above in replacementPath, if the pathLang property is either absent or is present as a string of “jsonpath” then verify that the expression evaluates to a non-empty set.
If a redaction object (see RFC 9537) is NOT in the redacted array with a name object containing the type property which is a JSON string of “Registrant Email”, these tests apply:
- Validate that a properly formed email address is in an email property on at least one of the vCards.