private AdminRequest deserAdminRequestAndVerify(DataInputStream requestStream, ClusterMap clusterMap,
      int correlationId, String clientId, AdminRequestOrResponseType adminRequestType, PartitionId id)
      throws IOException {
    AdminRequest deserializedAdminRequest = AdminRequest.readFrom(requestStream, clusterMap);
    Assert.assertEquals(deserializedAdminRequest.getCorrelationId(), correlationId);
    Assert.assertEquals(deserializedAdminRequest.getClientId(), clientId);
    Assert.assertEquals(deserializedAdminRequest.getType(), adminRequestType);
    if (id != null) {
      Assert.assertTrue(deserializedAdminRequest.getPartitionId().isEqual(id.toPathString()));
    } else {
      Assert.assertNull(deserializedAdminRequest.getPartitionId());
    }
    return deserializedAdminRequest;
  }
De-serializes {@code adminRequest} and verifies the fields.
@param requestStream the {@link DataInputStream} that contains the request stream
@param clusterMap the {@link ClusterMap} to use for deser
@param correlationId the correlation id of the request
@param clientId the client of the request
@param adminRequestType the {@link AdminRequestOrResponseType}
@param id the partition ID in the request (can be {@code null}).
@return the deserialized {@link AdminRequest}
@throws IOException
ambry-protocol/src/test/java/com/github/ambry/protocol/RequestResponseTest.java