I am trying to mock RequestResponseFactory in my test class but I am getting null pointer exception.
Code:
String html = "";
HttpServletRequest request = requestResponseFactory.createRequest(HttpConstants.METHOD_GET, path);
WCMMode.DISABLED.toRequest(request);
ByteArrayOutputStream out = new ByteArrayOutputStream();
HttpServletResponse response = requestResponseFactory.createResponse(out);
try {
requestProcessor.processRequest(request, response, (org.apache.sling.api.resource.ResourceResolver) resolver);
response.getWriter().flush();
html = out.toString(UTF_8);
} catch (Exception e) {
}
Test File:
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
RequestResponseFactory requestResponseFactory = mock(RequestResponseFactory.class);
PrivateAccessor.setField(servlet, "requestResponseFactory", requestResponseFactory);
String html = "";
when(requestResponseFactory.createRequest(HttpConstants.METHOD_GET, path)).thenReturn(request);
request = requestResponseFactory.createRequest(HttpConstants.METHOD_GET, path);
WCMMode.DISABLED.toRequest(context.request());
ByteArrayOutputStream out = new ByteArrayOutputStream();
when(requestResponseFactory.createResponse(out)).thenReturn(response);
response = requestResponseFactory.createResponse(out);
try {
requestProcessor.processRequest(request, response,
(org.apache.sling.api.resource.ResourceResolver) resolver);
response.getWriter().flush();
html = out.toString(UTF_8);
} catch (Exception e) {
}
Suggest me how to mock @reference objects in mockito.
Note: I am using Junit5 and mokito and AEM 6.5.