URI uri = new URI(URLEncoder.encode(uriString, "UTF-8"));
PredicateCompiler compiler = createStrictMock(PredicateCompiler.class);
UriInfo uriInfo = createMock(UriInfo.class);
@SuppressWarnings("unchecked")
MultivaluedMap<String, String> queryParams = createMock(MultivaluedMap.class);
RequestHandler handler = createStrictMock(RequestHandler.class);
Result result = createMock(Result.class);
ResultStatus resultStatus = createMock(ResultStatus.class);
ResultPostProcessor processor = createStrictMock(ResultPostProcessor.class);
RequestBody body = createNiceMock(RequestBody.class);
ResourceInstance resource = createNiceMock(ResourceInstance.class);
ResourceDefinition resourceDefinition = createNiceMock(ResourceDefinition.class);
Renderer renderer = new DefaultRenderer();
Request request = getTestRequest(null, body, uriInfo, compiler, handler, processor, resource);
//expectations
expect(uriInfo.getQueryParameters()).andReturn(queryParams).anyTimes();
expect(queryParams.getFirst(QueryLexer.QUERY_MINIMAL)).andReturn(null);
expect(queryParams.getFirst(QueryLexer.QUERY_FORMAT)).andReturn(null);
expect(resource.getResourceDefinition()).andReturn(resourceDefinition);
expect(resourceDefinition.getRenderer(null)).andReturn(renderer);
expect(uriInfo.getRequestUri()).andReturn(uri).anyTimes();
expect(handler.handleRequest(request)).andReturn(result);
expect(result.getStatus()).andReturn(resultStatus).anyTimes();
expect(resultStatus.isErrorState()).andReturn(true).anyTimes();
replay(compiler, uriInfo, handler, queryParams, resource,
resourceDefinition, result, resultStatus, processor, body);