Skip to content

Nameserver Tests

RP Section 4.1

Test group: [rdapResponseProfile_4_1_Validation]

The following steps should be used to test the RDAP protocol section 4 .1 of the RDAP Response Profile 2.1:

  1. Test case -49100: If nameserver/ in the RDAP Query URI contains only A-label or NR- LDH labels, the topmost domain object shall contain a ldhName.
    {
      "code": -49100,
      "value": "<nameserver object>",
      "message": "The RDAP Query URI contains only A-label or NR-LDH labels, the topmost nameserver object does not contain a ldhName member. See section 2.1 of the RDAP_Response_Profile_2_1."
    }
    
  2. Test case -49101: If nameserver/ in the RDAP Query URI contains one or more U- label, the topmost domain object shall contain an unicodeName.
    {
      "code": -49101,
      "value": "<nameserver object>",
      "message": " The RDAP Query URI contains one or more U-label, the topmost nameserver object does not contain a unicodeName member. See section 2.1 of the RDAP_Response_Profile_2_1."
    }
    
  3. Test case -49102: The handle in the topmost nameserver object shall comply with the following format specified in RFC5730: "(\w|_){1,80}-\w{1,8}".
    {
      "code": -49102,
      "value": "<nameserver object>",
      "message": "The handle in the nameserver object does not comply with the format (\\w|_){1,80}-\\w{1,8} specified in RFC5730."
    }
    
  4. Test case -49103: If the handle in the topmost nameserver 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": -49103,
      "value": "<nameserver object>",
      "message": "The globally unique identifier in the nameserver object handle is not registered in EPPROID."
    }
    
  5. Test case -49104: If the handle in the topmost nameserver object comply with the format: "(\w|_){1,80}-\w{1,8}", validate that the string followed by a hyphen ("-", ASCII value 0x002D) is not “ICANNRST”.
    {
      "code": -49104,
      "value": "<nameserver object>",
      "message": "The globally unique identifier in the nameserver object handle is using an EPPROID reserved for testing by ICANN."
    }
    

RP Section 4.3

Test group: [rdapResponseProfile_4_3_Validation]

The following steps should be used to test the RDAP protocol section 4. 3 of the RDAP Response Profile 2.1.

The following steps shall only be executed if an entity with the registrar role exists within the topmost object, and the handle is different from "not applicable":

  1. Test case -49200: For the entity with the registrar role within the topmost object, validate that a publicIds member is included.
    {
      "code": -49200,
      "value": "<entity data structure>",
      "message": "A publicIds member is not included in the entity with the registrar role."
    }
    
  2. Test case -49201: 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.
    {
      "code": -49201,
      "value": "<publicIds data structure>",
      "message": "The identifier of the publicIds member of the entity with the registrar role is not a positive integer."
    }
    
  3. Test case -49202: For the entity with the registrar role within the domain object, validate that the handle member is a positive integer.
    {
      "code": -49202,
      "value": "<publicIds data structure>",
      "message": "The handle of the entity with the registrar role is not a positive integer."
    }
    
  4. Test case -49203: 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.
    {
      "code": -49203,
      "value": "<entity data structure>",
      "message": "The identifier of the publicIds member of the entity with the registrar role is not equal to the handle member."
    }
    
  5. Test case -49204: For the entity with the registrar role within the domain object, validate that the value of the handle member exists in the registrarId.
    {
      "code": -49204,
      "value": "<handle> + \n\n + <registrarId>",
      "message": "The handle references an IANA Registrar ID that does not exist in the registrarId ."
    }
    

The following steps shall only be executed if an entity with the registrar role exists within the topmost object, and the handle is "not applicable":

  1. Test case -49205: For the entity with the registrar role within the topmost object, validate that a publicIds member is not included.
    {
    "code": -49205,
    "value": "<entity data structure>",
    "message": "A publicIds member is included in the entity with the registrar role."
    }
    

Nameserver Status

Test group: [nameserver_status]

  1. Test case -49300: If a status element is included in the nameserver object, validate that it complies with the following:
    1. "active" status MAY only be combined with "associated" status.
    2. "associated" status MAY be combined with any status.
    3. "pending delete" status MUST NOT be combined with either "client delete prohibited" or "server delete prohibited" status.
    4. "pending update" status MUST NOT be combined with either "client update prohibited" or "server update prohibited" status.
    5. Test case -49300: The pending create, pending delete, pending renew, pending transfer, and pending update status values MUST NOT be combined with each other.
      {
        "code": -49300,
        "value": "<status data structure>",
        "message": "The values of the status data structure does not comply with RFC5732."
      }