Advertisement
Guest User

Untitled

a guest
Dec 25th, 2015
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. @RunWith(MockitoJUnitRunner.class)
  2. public class LoginServletTest {
  3.  
  4. private static final String USER_SERVICE_CONTEXT_ATTRIBUTE = "userService";
  5. private static final String WELCOME_PAGE_URL = "welcome";
  6. private static final String LOGIN_PAGE_URL = "login";
  7. private static final String EMAIL_ATTRIBUTE_NAME = "email";
  8. private static final String PASSWORD_ATTRIBUTE_NAME = "password";
  9. private static final String TEST_EMAIL = "test_email@gmail.com";
  10. private static final String TEST_PASSWORD = "test_password";
  11. private static final String WRONG_EMAIL = "wrong_email@gmail.com";
  12. private static final String LOGIN_ERROR_ATTRIBUTE_NAME = "loginError";
  13. private static final String LOGIN_DTO_ATTRIBUTE_NAME = "loginDTO";
  14. private static final String LOGIN_ERROR_MESSAGE = "Wrong credentials. Please try again.";
  15. private static final String USER_ATTRIBUTE = "user";
  16.  
  17. private LoginServlet servlet = new LoginServlet();
  18.  
  19. @Mock
  20. private ServletConfig servletConfig;
  21. @Mock
  22. private ServletContext servletContext;
  23. @Mock
  24. private HttpServletRequest request;
  25. @Mock
  26. private HttpServletResponse response;
  27. @Mock
  28. private HttpSession session;
  29. @Mock
  30. private RequestDispatcher requestDispatcher;
  31. @Mock
  32. private UserService userService;
  33.  
  34. private User testUser;
  35.  
  36. @Before
  37. public void setUp() throws Exception {
  38. when(servletConfig.getServletContext()).thenReturn(servletContext);
  39. when(servletContext.getAttribute(USER_SERVICE_CONTEXT_ATTRIBUTE)).thenReturn(userService);
  40.  
  41. when(request.getServletContext()).thenReturn(servletContext);
  42. when(request.getRequestDispatcher(anyString())).thenReturn(requestDispatcher);
  43. when(request.getSession()).thenReturn(session);
  44.  
  45. testUser = new User();
  46. testUser.setEmail(TEST_EMAIL);
  47. testUser.setPassword(TEST_PASSWORD);
  48.  
  49. when(userService.loadUserByUsername(TEST_EMAIL)).thenReturn(testUser);
  50. when(userService.loadUserByUsername(WRONG_EMAIL)).thenReturn(null);
  51. }
  52.  
  53. @Test
  54. public void testServletInit() throws Exception {
  55. servlet.init(servletConfig);
  56. }
  57.  
  58. @Test
  59. public void testDoPostOnCorrectCredentials() throws Exception {
  60. servlet.init(servletConfig);
  61. mockGetRequestParams(TEST_EMAIL, TEST_PASSWORD);
  62. servlet.doPost(request, response);
  63.  
  64. verify(session).setAttribute(USER_ATTRIBUTE, testUser);
  65. verify(response).sendRedirect(WELCOME_PAGE_URL);
  66. }
  67.  
  68. @Test
  69. public void testDoPostOnWrongCredentials() throws Exception {
  70. servlet.init(servletConfig);
  71. mockGetRequestParams(WRONG_EMAIL, Strings.EMPTY);
  72. servlet.doPost(request, response);
  73. verify(session).setAttribute(LOGIN_ERROR_ATTRIBUTE_NAME, LOGIN_ERROR_MESSAGE);
  74. verify(session).setAttribute(LOGIN_DTO_ATTRIBUTE_NAME, WRONG_EMAIL);
  75. verify(response).sendRedirect(LOGIN_PAGE_URL);
  76. }
  77.  
  78. private void mockGetRequestParams(String email, String password) {
  79. when(request.getParameter(EMAIL_ATTRIBUTE_NAME)).thenReturn(email);
  80. when(request.getParameter(PASSWORD_ATTRIBUTE_NAME)).thenReturn(password);
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement