Skip to content

Domain Tests

RP Section 2.2

Test group: [rdapResponseProfile_2_2_Validation]

If the handle is in the topmost domain object, the following tests apply:

  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}".
    {
      "code": -46200,
      "value": "<domain object>",
      "message": "The handle in the domain object does not comply with the format (\\w|_){1,80}-\\w{1,8} specified in RFC5730."
    }
    
  2. 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.
    {
      "code": -46201,
      "value": "<domain object>",
      "message": "The globally unique identifier in the domain object handle is not registered in EPPROID."
    }
    

If the handle is NOT in the topmost domain object, the following tests apply:

  1. Test case -46202: 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 Domain ID”.
    {
      "code": -46202,
      "value": "<redacted data structure>",
      "message": "a redaction of type Registry Domain ID is required."
    }
    
  2. Test case -46203: 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 as a JSON string of “$.handle”.
    {
      "code": -46203,
      "value": "<redaction object>",
      "message": "jsonpath is invalid for Registry Domain ID"
    }
    
  3. Test case -46204: 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”.
    {
      "code": -46204,
      "value": "<redaction object>",
      "message": "Registry Domain ID redaction method must be removal if present"
    }
    

RP Section 2.6.3

Test group: [rdapResponseProfile_2_6_3_Validation]

  1. Test case -46601: Validate that the notices member contains an element in the JSON array with a title “Status Codes”.
    {
      "code": -46601,
      "value": "<notices array structure>",
      "message": "The notice for Status Codes was not found."
    }
    
  2. Test case -46602: With the notice object above, validate that it contains a description array containing one string of “For more information on domain status codes, please visit https://icann.org/epp”. This test should ignore extra whitespace and trailing punctuation.
    {
      "code": -46602,
      "value": "<notice structure>",
      "message": "The notice for Status Codes does not have the proper description."
    }
    
  3. Test case -46603: With the notice object above, validate that it contains a links array.
    {
      "code": -46603,
      "value": "<notice structure>",
      "message": "The notice for Status Codes does not have links."
    }
    
  4. Test case -46604: With the links array above, validate that it contains one link object with an href property of “https://icann.org/epp”.
    {
      "code": -46604,
      "value": "<notice structure>",
      "message": "The notice for Status Codes does not have a link to the status codes."
    }
    
  5. Test case -46605: With the link object above, validate that it contains a rel property that is a string of “glossary”.
    {
      "code": -46605,
      "value": "<notice structure>",
      "message": "The notice for Status Codes does not have a link relation type of glossary"
    }
    
  6. Test case -46606: With the link object above, validate that it contains a value property that is a string of the URL used to query for this response.
    {
      "code": -46606,
      "value": "<notice structure>",
      "message": "The notice for Status Codes does not have a link value of the request URL."
    }
    

RP Section 2.10

Test group: [rdapResponseProfile_2_10_Validation]

  1. Test case -46701: Validate that the notices member contains an element in the JSON array with a title ““RDDS Inaccuracy Complaint Form”.
    {
      "code": -46701,
      "value": "<notices array structure>",
      "message": "The notice for RDDS Inaccuracy Complaint Form was not found."
    }
    
  2. Test case -46702: With the notice object above, validate that it contains a description array containing one string of “URL of the ICANN RDDS Inaccuracy Complaint Form: https://icann.org/wicf”. This test should ignore extra whitespace and trailing punctuation.
    {
      "code": -46702,
      "value": "<notice structure>",
      "message": "The notice for RDDS Inaccuracy Complaint Form does not have the proper description."
    }
    
  3. Test case -46703: With the notice object above, validate that it contains a links array.
    {
      "code": -46703,
      "value": "<notice structure>",
      "message": "The notice for RDDS Inaccuracy Complaint Form does not have links."
    }
    
  4. Test case -46704: With the links array above, validate that it contains one link object with an href property of “https://icann.org/wicf”.
    {
      "code": -46704,
      "value": "<notice structure>",
      "message": "The notice for RDDS Inaccuracy Complaint Form does not have a link to the complaint form."
    }
    
  5. Test case -46705: With the link object above, validate that it contains a rel property that is a string of “help”.
    {
      "code": -46705,
      "value": "<notice structure>",
      "message": "The notice for RDDS Inaccuracy Complaint Form does not have a link relation type of help"
    }
    
  6. Test case -46706: With the link object above, validate that it contains a value property that is a string of the URL used to query for this response.
    {
      "code": -46706,
      "value": "<notice structure>",
      "message": "The notice for RDDS Inaccuracy Complaint Form does not have a link value of the request URL."
    }
    

RP 2024 Section 2.7.3

Test group: [rdapResponseProfile2024_2_7_3_Validation]

  1. Test case -47600: For every entity of the domain (i.e. the top-level entities of the domain, not entities subordinate to other entities) excluding entities with the roles “registrar”, “registrant”, or “technical”, verify the handle is of the format: "(\w|_){1,80}-\w{1,8}".
    {
      "code": -47600,
      "value": "<entity handle>",
      "message": "The handle in the entity object does not comply with the format (\\w|_){1,80}-\\w{1,8} specified in RFC5730."
    }
    
  2. Test case -47601: With the handle above, verify the string followed by a hyphen (“-”, ASCII value 0x002D) is registered in the EPPROID dataset.
    {
      "code": -47601,
      "value": "<entity handle>",
      "message": "The globally unique identifier in the entity object handle is not registered in EPPROID."
    }
    

RP 2024 Section 2.4.6

Test group: [rdapResponseProfile2024_2_4_6_Validation]

  1. Test case -47700: Verify that the domain object has one entity with the role “registrar” with one link object in the links array with a rel property of the string “about”.
    {
      "code": -47700,
      "value": "<domain structure>",
      "message": "A domain must have link to the RDAP base URL of the registrar."
    }
    
  2. Test case -47701: With the handle of the “registrar” entity, verify that the “value” property of the link object above matches one of the base URLs in the registrarId data set.
    {
      "code": -47701,
      "value": "<link structure>",
      "message": "The registrar base URL is not registered with IANA."
    }
    
  3. Test case -47702: With the link object above, validate the href property contains an URL with the “https” scheme.
    {
      "code": -47702,
      "value": "<link structure>",
      "message": "The registrar RDAP base URL must have an https scheme."
    }
    
  4. Test case -47703: With the link object above, verify that the href property is a valid URI according to the rules in webUriValidation.
    {
      "code": -47703,
      "value": "<link structure>",
      "message": "The ‘value’ property is not a valid Web URI according to [webUriValidation]."
    }