@Test
public void testHandleRequest__OK() throws Exception {
Request request = createStrictMock(Request.class);
ResourceInstance resource = createStrictMock(ResourceInstance.class);
Query query = createMock(Query.class);
Predicate predicate = createMock(Predicate.class);
Result result = createStrictMock(Result.class);
Renderer renderer = new DefaultRenderer();
Capture<ResultStatus> resultStatusCapture = new Capture<ResultStatus>();
Map<String, TemporalInfo> mapPartialResponseFields = new HashMap<String, TemporalInfo>();
mapPartialResponseFields.put("foo", null);
mapPartialResponseFields.put("bar/c", null);
mapPartialResponseFields.put("bar/d/e", null);
mapPartialResponseFields.put("category/", null);
//expectations
expect(request.getResource()).andReturn(resource);
expect(resource.getQuery()).andReturn(query);
expect(request.getPageRequest()).andReturn(null);
expect(request.getSortRequest()).andReturn(null);
expect(request.getRenderer()).andReturn(renderer);
expect(request.getFields()).andReturn(mapPartialResponseFields);
query.addProperty("foo", null);
query.addProperty("bar/c", null);
query.addProperty("bar/d/e", null);
query.addProperty("category/", null);
expect(request.getQueryPredicate()).andReturn(predicate);
query.setUserPredicate(predicate);
query.setPageRequest(null);
query.setSortRequest(null);
query.setRenderer(renderer);
expect(query.execute()).andReturn(result);
result.setResultStatus(capture(resultStatusCapture));
replay(request, resource, query, predicate, result);
//test