@Test public void testWriteContentRemovesStreamingFiles() throws Exception { // GIVEN DelegatingBlobCachedEntry entry = new DelegatingBlobCachedEntry(5, null, null, 1, null, 0, null, 1); MockHttpServletRequest request = new MockHttpServletRequest(); File file = File.createTempFile("test", "txt"); request.setAttribute(DelegatingBlobCachedEntry.CONTENT_FILE_ATTRIBUTE, file); MockHttpServletResponse response = new MockHttpServletResponse(); // WHEN entry.writeContent(request, response, null, true); // THEN assertFalse(file.exists()); }
@Test public void testIsForward() { MockHttpServletRequest mock = new MockHttpServletRequest(); assertFalse(ServletUtil.isForward(mock)); mock.setAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE, "/test.html"); assertTrue(ServletUtil.isForward(mock)); mock.setAttribute(ServletUtil.INCLUDE_REQUEST_URI_ATTRIBUTE, "/test.jsp"); assertFalse(ServletUtil.isForward(mock)); }
@Test public void testGetDispatcherType() { MockHttpServletRequest mock = new MockHttpServletRequest(); assertEquals(DispatcherType.REQUEST, ServletUtil.getDispatcherType(mock)); mock.setAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE, "/test.html"); assertEquals(DispatcherType.FORWARD, ServletUtil.getDispatcherType(mock)); mock.setAttribute(ServletUtil.INCLUDE_REQUEST_URI_ATTRIBUTE, "/test.jsp"); assertEquals(DispatcherType.INCLUDE, ServletUtil.getDispatcherType(mock)); mock.removeAttribute(ServletUtil.INCLUDE_REQUEST_URI_ATTRIBUTE); mock.removeAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE); mock.setAttribute(ServletUtil.ERROR_REQUEST_STATUS_CODE_ATTRIBUTE, 500); assertEquals(DispatcherType.ERROR, ServletUtil.getDispatcherType(mock)); mock.setAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE, "/error.html"); assertEquals(DispatcherType.FORWARD, ServletUtil.getDispatcherType(mock)); mock.setAttribute(ServletUtil.INCLUDE_REQUEST_URI_ATTRIBUTE, "/error.jsp"); assertEquals(DispatcherType.INCLUDE, ServletUtil.getDispatcherType(mock)); }
@Test public void testIsInclude() { MockHttpServletRequest mock = new MockHttpServletRequest(); assertFalse(ServletUtil.isInclude(mock)); mock.setAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE, "/test.html"); assertFalse(ServletUtil.isInclude(mock)); mock.setAttribute(ServletUtil.INCLUDE_REQUEST_URI_ATTRIBUTE, "/test.jsp"); assertTrue(ServletUtil.isInclude(mock)); }
@Test public void testGetContextRelativePathInIncludeRequest() { // GIVEN MockHttpServletRequest mock = new MockHttpServletRequest(); mock.setRequestURI("/context/servlet/path"); mock.setServletPath("/servlet"); mock.setContextPath("/context"); mock.setPathInfo("/path"); mock.setAttribute(ServletUtil.INCLUDE_REQUEST_URI_ATTRIBUTE, "/context/include/path"); mock.setAttribute(ServletUtil.INCLUDE_CONTEXT_PATH_ATTRIBUTE, "/context"); // WHEN String contextRelativePath = ServletUtil.getContextRelativePath(mock); // THEN assertEquals("/include/path", contextRelativePath); }
@Test public void testGetOriginalRequestUriStripsPathParameterInForwardRequest() { MockHttpServletRequest mock = new MockHttpServletRequest(); mock.setRequestURI("/foo/bar/forward.html;jsessionid=EC910C89AE7B9E9A0CF7DF79622EEC74"); mock.setAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE, "/foo/bar.html;jsessionid=EC910C89AE7B9E9A0CF7DF79622EEC74"); String originalRequestURI = ServletUtil.getOriginalRequestURI(mock); assertEquals("/foo/bar.html", originalRequestURI); }
@Test public void testGetRequestUriStripsPathParameterInIncludeRequest() { MockHttpServletRequest mock = new MockHttpServletRequest(); mock.setRequestURI("/foo/bar.html;jsessionid=EC910C89AE7B9E9A0CF7DF79622EEC74"); mock.setAttribute(ServletUtil.INCLUDE_REQUEST_URI_ATTRIBUTE, "/foo/bar/include.html;jsessionid=EC910C89AE7B9E9A0CF7DF79622EEC74"); String requestUri = ServletUtil.getRequestUri(mock); assertEquals("/foo/bar/include.html", requestUri); }
@Test public void testGetOriginalRequestUri() { MockHttpServletRequest mock = new MockHttpServletRequest(); mock.setRequestURI("/some/path/and/some.file"); assertEquals("/some/path/and/some.file", ServletUtil.getOriginalRequestURI(mock)); mock.setAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE, mock.getRequestURI()); mock.setRequestURI("/forwarded/to/test/path"); assertEquals("/some/path/and/some.file", ServletUtil.getOriginalRequestURI(mock)); }
@Test public void testIsError() { MockHttpServletRequest mock = new MockHttpServletRequest(); assertFalse(ServletUtil.isError(mock)); assertFalse(ServletUtil.isForward(mock)); assertFalse(ServletUtil.isInclude(mock)); mock.setAttribute(ServletUtil.ERROR_REQUEST_STATUS_CODE_ATTRIBUTE, 500); assertTrue(ServletUtil.isError(mock)); assertFalse(ServletUtil.isForward(mock)); assertFalse(ServletUtil.isInclude(mock)); mock.setAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE, "/test.html"); assertTrue(ServletUtil.isError(mock)); assertTrue(ServletUtil.isForward(mock)); assertFalse(ServletUtil.isInclude(mock)); mock.setAttribute(ServletUtil.INCLUDE_REQUEST_URI_ATTRIBUTE, "/test.jsp"); assertTrue(ServletUtil.isError(mock)); assertFalse(ServletUtil.isForward(mock)); assertTrue(ServletUtil.isInclude(mock)); }
@Test public void testGetOriginalRequestUrlIncludingQueryString() { MockHttpServletRequest mock = new MockHttpServletRequest(); mock.setRequestURL("http://some.domain/foo/bar.html"); mock.setRequestURI("/foo/bar.html"); mock.setQueryString("a=5&b=6"); assertEquals("http://some.domain/foo/bar.html?a=5&b=6", ServletUtil.getOriginalRequestURLIncludingQueryString(mock)); mock.setAttribute(ServletUtil.FORWARD_REQUEST_URI_ATTRIBUTE, mock.getRequestURI()); mock.setAttribute(ServletUtil.FORWARD_QUERY_STRING_ATTRIBUTE, mock.getQueryString()); mock.setScheme("http"); mock.setServerName("some.domain"); mock.setServerPort(80); mock.setRequestURL("/forwarded/to/test/path"); mock.setQueryString("qwerty=yes"); assertEquals("http://some.domain/foo/bar.html?a=5&b=6", ServletUtil.getOriginalRequestURLIncludingQueryString(mock)); mock.setServerPort(8080); assertEquals("http://some.domain:8080/foo/bar.html?a=5&b=6", ServletUtil.getOriginalRequestURLIncludingQueryString(mock)); }