Hi All,
Am writing one test case with RequestParameterMap, but it's throwing nullpointer exception .
Below one is the code snippet .
@test
public void validateUserData() {
Map<String, RequestParameter[]> params = new HashMap<>();
params.put("firstName", getRequestParameter("firstName", "test"));
params.put("lastName", getRequestParameter("lastName", "test last"));
when(request.getParameterMap()).thenReturn(params);
RequestParameterMap requestParameterMap = Mockito.mock(RequestParameterMap.class);
when(requestParameterMap.entrySet()).thenReturn(params.entrySet());
UserInfo user = userService.getUserInfo(requestParameterMap);
assertEquals("firstName", user.getFirstName());
}
when i try to get the values from requestParameterMap , it's giving null pointer exception.
Could you please help me resolve this issue .
Thanks
Solved! Go to Solution.
Views
Replies
Total Likes
Have you tried using AEM Mock's AemContext to create mock sling request context?
I highly, highly recommend using AEM Mocks when possible rather than mocking out everything yourself. These sorts of problems should go away, and also lets you write more natural tests.
https://wcm.io/testing/aem-mock/usage.html
can you please post complete test class here,
== The below code is correct and should work ==
RequestParameterMap requestParameterMap = mock(RequestParameterMap.class);
when(requestParameterMap.entrySet()).thenReturn(params.entrySet());
=== try this one
when(parameterMap.isEmpty()).thenReturn(Boolean.FALSE);
when(parameterMap.getValue("firstName")).thenReturn("test");
Have you tried using AEM Mock's AemContext to create mock sling request context?
I highly, highly recommend using AEM Mocks when possible rather than mocking out everything yourself. These sorts of problems should go away, and also lets you write more natural tests.
https://wcm.io/testing/aem-mock/usage.html
Views
Likes
Replies
Views
Likes
Replies