@Test public void testService() throws Exception { final Logger logger = EasyMock.createNiceMock(Logger.class); EasyMock.replay(logger); final HttpServletResponse response = EasyMock.createMock(HttpServletResponse.class); response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); final StringWriter sw = new StringWriter(); final PrintWriter printWriter = new PrintWriter(sw); EasyMock.expect(response.getWriter()).andReturn(printWriter).anyTimes(); EasyMock.replay(response); final String sessionId = "324908234890"; final HttpSession session = EasyMock.createMock(HttpSession.class); EasyMock.expect(session.getId()).andReturn(sessionId).anyTimes(); EasyMock.replay(session); final HttpServletRequest request = EasyMock.createMock(HttpServletRequest.class); EasyMock.expect(request.getServerPort()).andReturn(80).anyTimes(); EasyMock.expect(request.getContextPath()).andReturn("/path").anyTimes(); EasyMock.expect(request.getSession()).andReturn(session).anyTimes(); EasyMock.expect(request.getScheme()).andReturn("http").anyTimes(); EasyMock.expect(request.getServerName()).andReturn("localhost").anyTimes(); EasyMock.expect(request.getRequestURI()).andReturn("/path").anyTimes(); EasyMock.expect(request.getParameterNames()) .andReturn(new EnumerationEmpty<String>()) .anyTimes(); EasyMock.replay(request); final TimeZone timeZone = EasyMock.createMock(TimeZone.class); EasyMock.replay(timeZone); final TimeZoneUtil timeZoneUtil = EasyMock.createMock(TimeZoneUtil.class); EasyMock.expect(timeZoneUtil.getUTCTimeZone()).andReturn(timeZone).anyTimes(); EasyMock.replay(timeZoneUtil); final long startTime = 42l; final long endTime = 1337l; final Calendar calendar = EasyMock.createMock(Calendar.class); EasyMock.expect(calendar.getTimeInMillis()).andReturn(startTime); EasyMock.expect(calendar.getTimeInMillis()).andReturn(endTime); EasyMock.replay(calendar); final CalendarUtil calendarUtil = EasyMock.createMock(CalendarUtil.class); EasyMock.expect(calendarUtil.now(timeZone)).andReturn(calendar).anyTimes(); EasyMock.replay(calendarUtil); final ParseUtil parseUtil = EasyMock.createMock(ParseUtil.class); EasyMock.expect(parseUtil.parseLong(String.valueOf(startTime), endTime)).andReturn(startTime); EasyMock.replay(parseUtil); final Map<String, String> data = new HashMap<String, String>(); final HttpContext httpContext = EasyMock.createMock(HttpContext.class); EasyMock.expect(httpContext.getData()).andReturn(data).anyTimes(); EasyMock.replay(httpContext); final NavigationWidget navigationWidget = EasyMock.createMock(NavigationWidget.class); navigationWidget.render(request, response, httpContext); EasyMock.replay(navigationWidget); final Provider<HttpContext> httpContextProvider = new ProviderAdapter<HttpContext>(httpContext); final SessionIdentifier sessionIdentifier = EasyMock.createMock(SessionIdentifier.class); EasyMock.replay(sessionIdentifier); final UserIdentifier userIdentifier = EasyMock.createMock(UserIdentifier.class); EasyMock.replay(userIdentifier); final AuthenticationService authenticationService = EasyMock.createMock(AuthenticationService.class); EasyMock.expect(authenticationService.isLoggedIn(EasyMock.anyObject(SessionIdentifier.class))) .andReturn(true) .anyTimes(); EasyMock.expect(authenticationService.createSessionIdentifier(request)) .andReturn(sessionIdentifier) .anyTimes(); EasyMock.expect(authenticationService.getCurrentUser(sessionIdentifier)) .andReturn(userIdentifier) .anyTimes(); EasyMock.replay(authenticationService); final RedirectUtil redirectUtil = EasyMock.createMock(RedirectUtil.class); EasyMock.replay(redirectUtil); final UrlUtil urlUtil = EasyMock.createMock(UrlUtil.class); EasyMock.replay(urlUtil); final AuthorizationService authorizationService = EasyMock.createMock(AuthorizationService.class); authorizationService.expectAdminRole(sessionIdentifier); EasyMock.expect(authorizationService.hasAdminRole(sessionIdentifier)).andReturn(true); EasyMock.replay(authorizationService); final StorageService storageService = EasyMock.createNiceMock(StorageService.class); EasyMock.replay(storageService); final CacheService cacheService = EasyMock.createMock(CacheService.class); EasyMock.expect(cacheService.get("hostname")).andReturn("localhost").anyTimes(); EasyMock.replay(cacheService); final StorageGuiLinkFactory storageGuiLinkFactory = EasyMock.createNiceMock(StorageGuiLinkFactory.class); EasyMock.replay(storageGuiLinkFactory); final StorageGuiServlet storageServlet = new StorageGuiServlet( logger, calendarUtil, timeZoneUtil, parseUtil, authenticationService, navigationWidget, httpContextProvider, urlUtil, authorizationService, storageService, cacheService, storageGuiLinkFactory); storageServlet.service(request, response); final String content = sw.getBuffer().toString(); assertNotNull(content); assertTrue(content.contains("<h1>Storage</h1>")); }