package io.lumify.web.routes; import io.lumify.miniweb.HandlerChain; import io.lumify.core.model.termMention.TermMentionRepository; import io.lumify.core.user.User; import io.lumify.web.CurrentUser; import io.lumify.web.WebApp; import org.mockito.Mockito; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.PrintWriter; import java.io.StringWriter; import static org.mockito.Mockito.when; public abstract class RouteTestBase { public HttpServletRequest mockRequest; public HttpServletResponse mockResponse; public HandlerChain mockHandlerChain; public WebApp mockApp; public StringWriter responseStringWriter; public ServletOutputStream mockResponseOutputStream; public TermMentionRepository mockTermMentionRepository; public User mockUser; public HttpSession mockHttpSession; public void setUp() throws Exception { responseStringWriter = new StringWriter(); mockResponseOutputStream = Mockito.mock(ServletOutputStream.class); mockApp = Mockito.mock(WebApp.class); mockRequest = Mockito.mock(HttpServletRequest.class); mockResponse = Mockito.mock(HttpServletResponse.class); mockHandlerChain = Mockito.mock(HandlerChain.class); mockTermMentionRepository = Mockito.mock(TermMentionRepository.class); mockUser = Mockito.mock(User.class); mockHttpSession = Mockito.mock(HttpSession.class); //request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() when(mockRequest.getScheme()).thenReturn("http"); when(mockRequest.getServerName()).thenReturn("testServerName"); when(mockRequest.getServerPort()).thenReturn(80); when(mockResponse.getWriter()).thenReturn(new PrintWriter(responseStringWriter)); when(mockResponse.getOutputStream()).thenReturn(mockResponseOutputStream); when(mockRequest.getSession()).thenReturn(mockHttpSession); when(CurrentUser.get(mockHttpSession)).thenReturn(mockUser.getUserId()); } }