@Test public void buildRequestRemotePort8080() throws Exception { webRequest.setUrl(new URL("http://example.com:8080/")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getRemotePort(), equalTo(8080)); }
@Test public void buildRequestQueryWithSingleQueryParamWithoutValueAndWithoutEqualsSign() throws Exception { String expectedQuery = "param"; webRequest.setUrl(new URL("http://example.com/example?" + expectedQuery)); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getQueryString(), equalTo(expectedQuery)); }
@Test public void buildRequestQueryWithSingleQueryParamWithValueSetToEncodedSpace() throws Exception { String expectedQuery = "param=%20"; webRequest.setUrl(new URL("http://example.com/example?" + expectedQuery)); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getQueryString(), equalTo(expectedQuery)); }
@Test public void buildRequestQueryWithMultipleQueryParams() throws Exception { String expectedQuery = "param1=value1¶m2=value2"; webRequest.setUrl(new URL("http://example.com/example?" + expectedQuery)); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getQueryString(), equalTo(expectedQuery)); }
@Test public void buildRequestContextPathUsesNoFirstSegmentWithDefault() throws MalformedURLException { webRequest.setUrl(new URL("http://example.com/")); String contextPath = requestBuilder.buildRequest(servletContext).getContextPath(); assertThat(contextPath, equalTo("")); }
@Test public void buildRequestPathInfoNull() throws Exception { webRequest.setUrl(new URL("http://example.com/example")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getPathInfo(), nullValue()); }
@Test public void buildRequestRemotePort80WithDefault() throws Exception { webRequest.setUrl(new URL("http://example.com/")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getRemotePort(), equalTo(80)); }
@Test public void buildRequestLocalMissing() throws Exception { webRequest.setUrl(new URL("http://localhost/test/this")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getLocalPort(), equalTo(-1)); }
@Test public void buildRequestQueryWithSingleQueryParam() throws Exception { String expectedQuery = "param=value"; webRequest.setUrl(new URL("http://example.com/example?" + expectedQuery)); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getQueryString(), equalTo(expectedQuery)); }
@Test public void buildRequestQueryWithSingleQueryParamWithoutValueButWithEqualsSign() throws Exception { String expectedQuery = "param="; webRequest.setUrl(new URL("http://example.com/example?" + expectedQuery)); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getQueryString(), equalTo(expectedQuery)); }
@Test public void buildRequestSchemeHttps() throws Exception { webRequest.setUrl(new URL("https://example.com/")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getScheme(), equalTo("https")); }
@Test public void buildRequestServerPortDefault() throws Exception { webRequest.setUrl(new URL("https://example.com/")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getServerPort(), equalTo(-1)); }
@Test public void buildRequestParameterMapDecodesParameterValue() throws Exception { webRequest.setUrl(new URL("http://example.com/example/?name=row%5B0%5D")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getParameterMap().size(), equalTo(1)); assertThat(actualRequest.getParameter("name"), equalTo("row[0]")); }
@Test public void buildRequestParameterMapFromSingleQueryParamWithoutValueAndWithoutEqualsSign() throws Exception { webRequest.setUrl(new URL("http://example.com/example/?name")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getParameterMap().size(), equalTo(1)); assertThat(actualRequest.getParameter("name"), equalTo("")); }
@Test public void buildRequestParameterMapFromSingleQueryParam() throws Exception { webRequest.setUrl(new URL("http://example.com/example/?name=value")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getParameterMap().size(), equalTo(1)); assertThat(actualRequest.getParameter("name"), equalTo("value")); }
@Test public void buildRequestParameterMapFromSingleQueryParamWithoutValueButWithEqualsSign() throws Exception { webRequest.setUrl(new URL("http://example.com/example/?name=")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getParameterMap().size(), equalTo(1)); assertThat(actualRequest.getParameter("name"), equalTo("")); }
@Test public void buildRequestParameterMapDecodesParameterName() throws Exception { webRequest.setUrl(new URL("http://example.com/example/?row%5B0%5D=value")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getParameterMap().size(), equalTo(1)); assertThat(actualRequest.getParameter("row[0]"), equalTo("value")); }
@Test public void buildRequestParameterMapFromSingleQueryParamWithValueSetToEncodedSpace() throws Exception { webRequest.setUrl(new URL("http://example.com/example/?name=%20")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getParameterMap().size(), equalTo(1)); assertThat(actualRequest.getParameter("name"), equalTo(" ")); }
@Test public void buildRequestAndAntPathRequestMatcher() throws Exception { webRequest.setUrl(new URL("http://example.com/app/login/authenticate")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); // verify it is going to work with Spring Security's AntPathRequestMatcher assertThat(actualRequest.getPathInfo(), nullValue()); assertThat(actualRequest.getServletPath(), equalTo("/login/authenticate")); }
@Test public void buildRequestParameterMapFromMultipleQueryParams() throws Exception { webRequest.setUrl(new URL("http://example.com/example/?name=value¶m2=value+2")); MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getParameterMap().size(), equalTo(2)); assertThat(actualRequest.getParameter("name"), equalTo("value")); assertThat(actualRequest.getParameter("param2"), equalTo("value 2")); }