AEM MockitoJUnitRunner for servlet how to set resourceResolverFactory for AEMContext
Hi,
Could some one provide inputs on the below
code in servlet is giving null exception for resourceResolverFactory .how to mock that using aemContext
Servelt class
public void doGet(final SlingHttpServletRequest request,
final SlingHttpServletResponse response){
@3214626
private ResourceResolverFactory resourceResolverFactory;
@9944223
public void doGet(final SlingHttpServletRequest request,
final SlingHttpServletResponse response) throws ServletException, IOException {
....
...
Map<String, Object> subService = new HashMap<>();
subService.put(ResourceResolverFactory.SUBSERVICE, SUB_SERVICE);
resourceResolver = resourceResolverFactory.getServiceResourceResolver(subService);
session = resourceResolver.adaptTo(Session.class);
......
response.setContentType(APPLICATION_JSON_UTF8);
}
In test class:-
@RunWith(MockitoJUnitRunner.class)
public class MyServletTest {
@InjectMocks
private MyServlet servlet;
@1227241
public final AemContext context = new AemContext(ResourceResolverType.JCR_MOCK);
@Mock
private MockSlingHttpServletRequest req;
@Mock
private MockSlingHttpServletResponse res;
@Before
public void init() throws Exception {
servlet = new MyServlet();
req = context.request();
res = context.response();
}
@2785667
public void doGet_shouldReturnHeaderAsExpected() throws IOException, ServletException {
servletUnderTest.doGet(req, res);
assertEquals(res.getContentType(), APPLICATION_JSON_UTF8);
}