mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-16 04:58:46 +00:00
deps: Refactor dependencies (#3224)
* remove spring dep move junit, logging, mockito under dep mgmt * upgrade anti-corruption-layer deps * async method invocation * balking, bloc * bridge to bytecode * caching * callback - cqrs * component - health check * hexagonal - metadata mapping * rest of the patterns * remove checkstyle, take spotless into use
This commit is contained in:
@@ -24,88 +24,93 @@
|
||||
*/
|
||||
package com.iluwatar.compositeview;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
import jakarta.servlet.RequestDispatcher;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
class AppServletTest {
|
||||
|
||||
/* Written with reference from https://stackoverflow.com/questions/5434419/how-to-test-my-servlet-using-junit
|
||||
and https://stackoverflow.com/questions/50211433/servlets-unit-testing
|
||||
*/
|
||||
|
||||
class AppServletTest extends Mockito{
|
||||
private String msgPartOne = "<h1>This Server Doesn't Support";
|
||||
private String msgPartTwo = """
|
||||
Requests</h1>
|
||||
<h2>Use a GET request with boolean values for the following parameters<h2>
|
||||
<h3>'name'</h3>
|
||||
<h3>'bus'</h3>
|
||||
<h3>'sports'</h3>
|
||||
<h3>'sci'</h3>
|
||||
<h3>'world'</h3>""";
|
||||
private String destination = "newsDisplay.jsp";
|
||||
private final String msgPartOne = "<h1>This Server Doesn't Support";
|
||||
private final String msgPartTwo =
|
||||
"""
|
||||
Requests</h1>
|
||||
<h2>Use a GET request with boolean values for the following parameters<h2>
|
||||
<h3>'name'</h3>
|
||||
<h3>'bus'</h3>
|
||||
<h3>'sports'</h3>
|
||||
<h3>'sci'</h3>
|
||||
<h3>'world'</h3>""";
|
||||
private final String destination = "newsDisplay.jsp";
|
||||
|
||||
@Test
|
||||
void testDoGet() throws Exception {
|
||||
HttpServletRequest mockReq = Mockito.mock(HttpServletRequest.class);
|
||||
HttpServletResponse mockResp = Mockito.mock(HttpServletResponse.class);
|
||||
RequestDispatcher mockDispatcher = Mockito.mock(RequestDispatcher.class);
|
||||
HttpServletRequest mockReq = mock(HttpServletRequest.class);
|
||||
HttpServletResponse mockResp = mock(HttpServletResponse.class);
|
||||
RequestDispatcher mockDispatcher = mock(RequestDispatcher.class);
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
PrintWriter printWriter = new PrintWriter(stringWriter);
|
||||
|
||||
when(mockResp.getWriter()).thenReturn(printWriter);
|
||||
when(mockReq.getRequestDispatcher(destination)).thenReturn(mockDispatcher);
|
||||
|
||||
AppServlet curServlet = new AppServlet();
|
||||
curServlet.doGet(mockReq, mockResp);
|
||||
|
||||
verify(mockReq, times(1)).getRequestDispatcher(destination);
|
||||
verify(mockDispatcher).forward(mockReq, mockResp);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDoPost() throws Exception {
|
||||
HttpServletRequest mockReq = Mockito.mock(HttpServletRequest.class);
|
||||
HttpServletResponse mockResp = Mockito.mock(HttpServletResponse.class);
|
||||
HttpServletRequest mockReq = mock(HttpServletRequest.class);
|
||||
HttpServletResponse mockResp = mock(HttpServletResponse.class);
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
PrintWriter printWriter = new PrintWriter(stringWriter);
|
||||
|
||||
when(mockResp.getWriter()).thenReturn(printWriter);
|
||||
|
||||
AppServlet curServlet = new AppServlet();
|
||||
curServlet.doPost(mockReq, mockResp);
|
||||
printWriter.flush();
|
||||
|
||||
assertTrue(stringWriter.toString().contains(msgPartOne + " Post " + msgPartTwo));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDoPut() throws Exception {
|
||||
HttpServletRequest mockReq = Mockito.mock(HttpServletRequest.class);
|
||||
HttpServletResponse mockResp = Mockito.mock(HttpServletResponse.class);
|
||||
HttpServletRequest mockReq = mock(HttpServletRequest.class);
|
||||
HttpServletResponse mockResp = mock(HttpServletResponse.class);
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
PrintWriter printWriter = new PrintWriter(stringWriter);
|
||||
|
||||
when(mockResp.getWriter()).thenReturn(printWriter);
|
||||
|
||||
AppServlet curServlet = new AppServlet();
|
||||
curServlet.doPut(mockReq, mockResp);
|
||||
printWriter.flush();
|
||||
|
||||
assertTrue(stringWriter.toString().contains(msgPartOne + " Put " + msgPartTwo));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDoDelete() throws Exception {
|
||||
HttpServletRequest mockReq = Mockito.mock(HttpServletRequest.class);
|
||||
HttpServletResponse mockResp = Mockito.mock(HttpServletResponse.class);
|
||||
HttpServletRequest mockReq = mock(HttpServletRequest.class);
|
||||
HttpServletResponse mockResp = mock(HttpServletResponse.class);
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
PrintWriter printWriter = new PrintWriter(stringWriter);
|
||||
|
||||
when(mockResp.getWriter()).thenReturn(printWriter);
|
||||
|
||||
AppServlet curServlet = new AppServlet();
|
||||
curServlet.doDelete(mockReq, mockResp);
|
||||
printWriter.flush();
|
||||
|
||||
assertTrue(stringWriter.toString().contains(msgPartOne + " Delete " + msgPartTwo));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user