use of com.linkedin.restli.internal.server.MutablePathKeys in project rest.li by linkedin.
the class TestArgumentBuilder method testPathKeyParameterType.
@Test
@SuppressWarnings("deprecation")
public void testPathKeyParameterType() {
String testParamKey = "testParam";
String expectedTestParamValue = "testParamValue";
// mock setup
ServerResourceContext mockResourceContext = EasyMock.createMock(ServerResourceContext.class);
MutablePathKeys mockPathKeys = EasyMock.createMock(MutablePathKeys.class);
EasyMock.expect(mockPathKeys.get(testParamKey)).andReturn(expectedTestParamValue).anyTimes();
EasyMock.expect(mockResourceContext.getPathKeys()).andReturn(mockPathKeys).anyTimes();
EasyMock.expect(mockResourceContext.getRequestAttachmentReader()).andReturn(null);
EasyMock.replay(mockResourceContext, mockPathKeys);
List<Parameter<?>> parameters = new ArrayList<Parameter<?>>();
Parameter<String> param1 = new Parameter<String>(testParamKey, String.class, null, false, null, Parameter.ParamType.KEY, false, AnnotationSet.EMPTY);
Parameter<String> param2 = new Parameter<String>(testParamKey, String.class, null, false, null, Parameter.ParamType.ASSOC_KEY_PARAM, false, AnnotationSet.EMPTY);
Parameter<PathKeys> param3 = new Parameter<PathKeys>(testParamKey, PathKeys.class, null, false, null, Parameter.ParamType.PATH_KEYS, false, AnnotationSet.EMPTY);
Parameter<PathKeys> param4 = new Parameter<PathKeys>(testParamKey, PathKeys.class, null, false, null, Parameter.ParamType.PATH_KEYS_PARAM, false, AnnotationSet.EMPTY);
parameters.add(param1);
parameters.add(param2);
parameters.add(param3);
parameters.add(param4);
Object[] results = ArgumentBuilder.buildArgs(new Object[0], getMockResourceMethod(parameters), mockResourceContext, null);
Assert.assertEquals(results[0], expectedTestParamValue);
Assert.assertEquals(results[1], expectedTestParamValue);
Assert.assertEquals(results[2], mockPathKeys);
Assert.assertEquals(results[3], mockPathKeys);
}
Aggregations