raducotescu commented on code in PR #62:
URL:
https://github.com/apache/sling-org-apache-sling-engine/pull/62#discussion_r2121330810
##########
src/test/java/org/apache/sling/engine/impl/SlingHttpServletResponseImplTest.java:
##########
@@ -107,24 +107,33 @@ public void testNoViolationChecksOnCommitedResponse() {
@Test
public void testReset() {
- final SlingHttpServletResponse orig =
mock(SlingHttpServletResponse.class);
+ final SlingHttpServletResponse originalResponse =
mock(SlingHttpServletResponse.class);
final RequestData requestData = mock(RequestData.class);
- final DispatchingInfo info = new
DispatchingInfo(DispatcherType.INCLUDE);
- when(requestData.getDispatchingInfo()).thenReturn(info);
- info.setProtectHeadersOnInclude(true);
-
- final HttpServletResponse include = new
SlingHttpServletResponseImpl(requestData, orig);
-
- when(orig.isCommitted()).thenReturn(false);
- include.reset();
- verify(orig, times(1)).isCommitted();
- Mockito.verifyNoMoreInteractions(orig);
-
- when(orig.isCommitted()).thenReturn(true);
- include.reset();
- verify(orig, times(2)).isCommitted();
- verify(orig, times(1)).reset();
- Mockito.verifyNoMoreInteractions(orig);
+ DispatchingInfo dispatchingInfo = new
DispatchingInfo(DispatcherType.INCLUDE);
+ when(requestData.getDispatchingInfo()).thenReturn(dispatchingInfo);
+ dispatchingInfo.setProtectHeadersOnInclude(true);
+
+ final HttpServletResponse includeResponse = new
SlingHttpServletResponseImpl(requestData, originalResponse);
+
+ when(originalResponse.isCommitted()).thenReturn(false);
+ includeResponse.reset();
+ verify(originalResponse, times(1)).isCommitted();
+ Mockito.verifyNoMoreInteractions(originalResponse);
+
+ when(originalResponse.isCommitted()).thenReturn(true);
+ includeResponse.reset();
+ verify(originalResponse, times(2)).isCommitted();
+ verify(originalResponse, times(1)).reset();
+ Mockito.verifyNoMoreInteractions(originalResponse);
+
+ // check if reset is called on error handling
+ dispatchingInfo = new DispatchingInfo(DispatcherType.ERROR);
+ when(requestData.getDispatchingInfo()).thenReturn(dispatchingInfo);
+ dispatchingInfo.setProtectHeadersOnInclude(true);
+ when(originalResponse.isCommitted()).thenReturn(false);
+ includeResponse.reset();
+ verify(originalResponse, times(2)).reset();
+ Mockito.verifyNoMoreInteractions(originalResponse);
Review Comment:
I would follow through with this comment and create different mocks for each
test.
##########
src/test/java/org/apache/sling/engine/impl/filter/ErrorFilterChainTest.java:
##########
@@ -80,4 +85,29 @@ public void testResponseNotCommitted() throws IOException,
ServletException {
chain2.doFilter(request, response);
Mockito.verify(errorHandler, times(1)).handleError(anyInt(),
anyString(), eq(request), eq(response));
}
+
+ @Test
+ public void testResponseDispatcherInfoOnError() throws IOException,
ServletException {
+ // mocks a final method in SlingHttpServletResponseImpl, needs
mockito-inline
+ final DefaultErrorHandler handler = new DefaultErrorHandler();
+ final ErrorHandler errorHandler = Mockito.mock(ErrorHandler.class);
+ handler.setDelegate(errorHandler);
+
+ final SlingHttpServletRequest request =
Mockito.mock(SlingHttpServletRequest.class);
+ final SlingHttpServletResponseImpl response =
Mockito.mock(SlingHttpServletResponseImpl.class);
+ RequestData requestData = Mockito.mock(RequestData.class);
+ when(response.getRequestData()).thenReturn(requestData);
+
+ final ErrorFilterChain chain2 = new ErrorFilterChain(new
FilterHandle[0], handler, 404, "not found");
+ chain2.doFilter(request, response);
+ verify(response, times(1)).reset();
+
+ // called ones with thew error dispatcher info
Review Comment:
I don't understand this comment.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]