if (restliMethod != null)
{
builder.setHeader("X-RestLi-Method", restliMethod);
}
RestRequest request = builder.build();
RoutingResult result = _router.process(request, new RequestContext());
assertEquals(result.getResourceMethod().getType(), method);
assertEquals(result.getResourceMethod().getResourceModel().getResourceClass(), resourceClass);
assertEquals(result.getResourceMethod().getMethod().getName(), methodName);
// If hasBatchKeys, there are batch keys in the context, and if not, there are none.
assertEquals(hasBatchKeys, result.getContext().getPathKeys().getBatchIds() != null);
for (String pathKey : expectedPathKeys)
{
assertNotNull(result.getContext().getPathKeys().get(pathKey));
}
if (method != null)
{
String expectedOperationName;
switch (method)
{
case ACTION:
expectedOperationName = "action:" + result.getResourceMethod().getActionName();
break;
case FINDER:
expectedOperationName = "finder:" + result.getResourceMethod().getFinderName();
break;
default:
expectedOperationName = method.toString().toLowerCase();
}
assertEquals(result.getContext().getRawRequestContext().getLocalAttr(R2Constants.OPERATION),
expectedOperationName);
}
}