public ResourceProperties getResourceProperties()
  {
    return _resourceProperties;
  }
@Test
  public void testResourceProperties()
  {
    Set<ResourceMethod> expectedSupportedMethods = new HashSet<>();
    expectedSupportedMethods.add(ResourceMethod.GET);
    expectedSupportedMethods.add(ResourceMethod.BATCH_PARTIAL_UPDATE);

    ResourceSpec expectedResourceSpec = new ResourceSpecImpl(
                                          expectedSupportedMethods,
                                          null,
                                          null,
                                          ComplexResourceKey.class,
                                          TestRecord.class,
                                          TestRecord.class,
                                          TestRecord.class,
                                          Collections.<String, Object>emptyMap());

    Map<String, Object> pathKeys = new HashMap<>();
    pathKeys.put("id", new ComplexResourceKey<>(new TestRecord(), new TestRecord()));


    Request<TestRecord> request = new Request<>(ResourceMethod.GET, null,
        Collections.<String, String>emptyMap(),
        Collections.<HttpCookie>emptyList(),
        new EntityResponseDecoder<>(TestRecord.class),
        expectedResourceSpec, Collections.<String, Object>emptyMap(),
        Collections.<String, Class<?>>emptyMap(), null, "testRecord",
        pathKeys, RestliRequestOptions.DEFAULT_OPTIONS, null);

    ResourceProperties expectedResourceProperties =
        new ResourcePropertiesImpl(expectedResourceSpec.getSupportedMethods(),
                                   expectedResourceSpec.getKeyType(),
                                   expectedResourceSpec.getComplexKeyType(),
                                   expectedResourceSpec.getValueType(),
                                   expectedResourceSpec.getKeyParts());

    Assert.assertEquals(request.getResourceProperties(), expectedResourceProperties);
  }