From e38778b4d0bce9edd11a758258c3809f2b75b475 Mon Sep 17 00:00:00 2001 From: Sankaranarayanan Viswanathan Date: Thu, 9 Oct 2014 08:31:34 -0400 Subject: [PATCH] Added tests to UserREST.login --- .../frontend/resource/UserRestTest.java | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/test/java/com/commafeed/frontend/resource/UserRestTest.java diff --git a/src/test/java/com/commafeed/frontend/resource/UserRestTest.java b/src/test/java/com/commafeed/frontend/resource/UserRestTest.java new file mode 100644 index 00000000..337b6398 --- /dev/null +++ b/src/test/java/com/commafeed/frontend/resource/UserRestTest.java @@ -0,0 +1,64 @@ +package com.commafeed.frontend.resource; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.when; + +import javax.servlet.http.HttpSession; + +import org.junit.Test; + +import com.commafeed.backend.model.User; +import com.commafeed.backend.service.UserService; +import com.commafeed.frontend.model.request.LoginRequest; +import com.google.common.base.Optional; + +public class UserRestTest { + + @Test public void + login_should_not_populate_http_session_if_unsuccessfull() { + // Absent user + Optional absentUser = Optional.absent(); + + // Create UserService partial mock + UserService service = mock(UserService.class); + when(service.login("user", "password")).thenReturn(absentUser); + when(service.login(any(String.class), any(String.class), any(HttpSession.class))).thenCallRealMethod(); + + HttpSession session = mock(HttpSession.class); + UserREST userREST = new UserREST(null, null, null, service, null, null, null); + + LoginRequest req = new LoginRequest(); + req.setName("user"); + req.setPassword("password"); + + userREST.login(req, session); + + verifyZeroInteractions(session); + } + + @Test public void + login_should_populate_http_session_if_successfull() { + // Create a user + User user = new User(); + + // Create UserService partial mock + UserService service = mock(UserService.class); + when(service.login("user", "password")).thenReturn(Optional.of(user)); + when(service.login(any(String.class), any(String.class), any(HttpSession.class))).thenCallRealMethod(); + + HttpSession session = mock(HttpSession.class); + UserREST userREST = new UserREST(null, null, null, service, null, null, null); + + LoginRequest req = new LoginRequest(); + req.setName("user"); + req.setPassword("password"); + + userREST.login(req, session); + + verify(session).setAttribute("user", user); + } + +}