@Test public void nativeRequest() { assertSame(servletRequest, request.getNativeRequest()); assertSame(servletRequest, request.getNativeRequest(ServletRequest.class)); assertSame(servletRequest, request.getNativeRequest(HttpServletRequest.class)); assertSame(servletRequest, request.getNativeRequest(MockHttpServletRequest.class)); assertNull(request.getNativeRequest(MultipartRequest.class)); assertSame(servletResponse, request.getNativeResponse()); assertSame(servletResponse, request.getNativeResponse(ServletResponse.class)); assertSame(servletResponse, request.getNativeResponse(HttpServletResponse.class)); assertSame(servletResponse, request.getNativeResponse(MockHttpServletResponse.class)); assertNull(request.getNativeResponse(MultipartRequest.class)); }
@Test public void checkNotModifiedETagForHEAD() { String eTag = "\"Foo\""; servletRequest.setMethod("HEAD"); servletRequest.addHeader("If-None-Match", eTag); request.checkNotModified(eTag); assertEquals(304, servletResponse.getStatus()); }
@Test public void checkNotModifiedTimeStampForHEAD() { long currentTime = new Date().getTime(); servletRequest.setMethod("HEAD"); servletRequest.addHeader("If-Modified-Since", currentTime); request.checkNotModified(currentTime); assertEquals(304, servletResponse.getStatus()); }
@Test public void checkModifiedETagForHEAD() { String currentETag = "\"Foo\""; String oldEtag = "Bar"; servletRequest.setMethod("HEAD"); servletRequest.addHeader("If-None-Match", oldEtag); request.checkNotModified(currentETag); assertEquals(200, servletResponse.getStatus()); assertEquals(currentETag, servletResponse.getHeader("ETag")); }
@Test public void checkModifiedTimeStampForHEAD() { long currentTime = new Date().getTime(); long oneMinuteAgo = currentTime - (1000 * 60); servletRequest.setMethod("HEAD"); servletRequest.addHeader("If-Modified-Since", oneMinuteAgo); request.checkNotModified(currentTime); assertEquals(200, servletResponse.getStatus()); assertEquals("" + currentTime, servletResponse.getHeader("Last-Modified")); }
@Test public void parameters() { servletRequest.addParameter("param1", "value1"); servletRequest.addParameter("param2", "value2"); servletRequest.addParameter("param2", "value2a"); assertEquals("value1", request.getParameter("param1")); assertEquals(1, request.getParameterValues("param1").length); assertEquals("value1", request.getParameterValues("param1")[0]); assertEquals("value2", request.getParameter("param2")); assertEquals(2, request.getParameterValues("param2").length); assertEquals("value2", request.getParameterValues("param2")[0]); assertEquals("value2a", request.getParameterValues("param2")[1]); Map paramMap = request.getParameterMap(); assertEquals(2, paramMap.size()); assertEquals(1, ((String[]) paramMap.get("param1")).length); assertEquals("value1", ((String[]) paramMap.get("param1"))[0]); assertEquals(2, ((String[]) paramMap.get("param2")).length); assertEquals("value2", ((String[]) paramMap.get("param2"))[0]); assertEquals("value2a", ((String[]) paramMap.get("param2"))[1]); }
@Test public void locale() { servletRequest.addPreferredLocale(Locale.UK); assertEquals(Locale.UK, request.getLocale()); }
@Test public void decoratedNativeRequest() { HttpServletRequest decoratedRequest = new HttpServletRequestWrapper(servletRequest); HttpServletResponse decoratedResponse = new HttpServletResponseWrapper(servletResponse); ServletWebRequest request = new ServletWebRequest(decoratedRequest, decoratedResponse); assertSame(decoratedRequest, request.getNativeRequest()); assertSame(decoratedRequest, request.getNativeRequest(ServletRequest.class)); assertSame(decoratedRequest, request.getNativeRequest(HttpServletRequest.class)); assertSame(servletRequest, request.getNativeRequest(MockHttpServletRequest.class)); assertNull(request.getNativeRequest(MultipartRequest.class)); assertSame(decoratedResponse, request.getNativeResponse()); assertSame(decoratedResponse, request.getNativeResponse(ServletResponse.class)); assertSame(decoratedResponse, request.getNativeResponse(HttpServletResponse.class)); assertSame(servletResponse, request.getNativeResponse(MockHttpServletResponse.class)); assertNull(request.getNativeResponse(MultipartRequest.class)); }