@Test public void getRequestURLWithDefaultsAndHttps() { request.setScheme("https"); request.setServerPort(443); StringBuffer requestURL = request.getRequestURL(); assertEquals("https://localhost", requestURL.toString()); }
@Test public void getRequestURL() { request.setServerPort(8080); request.setRequestURI("/path"); assertEquals("http://localhost:8080/path", request.getRequestURL().toString()); request.setScheme("https"); request.setServerName("example.com"); request.setServerPort(8443); assertEquals("https://example.com:8443/path", request.getRequestURL().toString()); }
@Test public void isSecureWithHttpSchemeAndSecureFlagIsFalse() { assertFalse(request.isSecure()); request.setScheme("http"); request.setSecure(false); assertFalse(request.isSecure()); }
@Test public void isSecureWithHttpSchemeAndSecureFlagIsTrue() { assertFalse(request.isSecure()); request.setScheme("http"); request.setSecure(true); assertTrue(request.isSecure()); }
@Test public void isSecureWithHttpsSchemeAndSecureFlagIsFalse() { assertFalse(request.isSecure()); request.setScheme("https"); request.setSecure(false); assertTrue(request.isSecure()); }
@Test public void isSecureWithHttpsSchemeAndSecureFlagIsTrue() { assertFalse(request.isSecure()); request.setScheme("https"); request.setSecure(true); assertTrue(request.isSecure()); }
@Test public void saveClientRedirect_On_Regular_Get() throws Exception { request.setSession(session); request.setScheme("http"); request.setServerName("localhost"); request.setRequestURI("/test"); request.setMethod(HttpMethod.GET.name()); spy.saveRequest(request, new MockHttpServletResponse()); verify(spy, times(1)).saveClientRedirect(request, "http://localhost/test"); }
@Before public void setUp() { this.casServiceUrl = "https://localhost:8443/j_spring_security_cas"; this.request = new MockHttpServletRequest(); this.request.setScheme("https"); this.request.setServerName("localhost"); this.request.setServerPort(8443); this.request.setRequestURI("/cas-sample/secure/"); this.artifactPattern = DefaultServiceAuthenticationDetails .createArtifactPattern(ServiceProperties.DEFAULT_CAS_ARTIFACT_PARAMETER); }
@Test public void protocolAndScheme() { assertEquals(MockHttpServletRequest.DEFAULT_PROTOCOL, request.getProtocol()); assertEquals(MockHttpServletRequest.DEFAULT_SCHEME, request.getScheme()); request.setProtocol("HTTP/2.0"); request.setScheme("https"); assertEquals("HTTP/2.0", request.getProtocol()); assertEquals("https", request.getScheme()); }
@Test public void testSecurityProtocol() { MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("https"); request.setServerPort(8443); request.setServerName("localhost"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); String url = UaaUrlUtils.getUaaUrl("/something"); assertThat(url, is("https://localhost:8443/something")); }
@Test public void resolveWhenAuthorizationRequestIncludesPort80ThenExpandedRedirectUriExcludesPort() { ClientRegistration clientRegistration = this.registration1; String requestUri = this.authorizationRequestBaseUri + "/" + clientRegistration.getRegistrationId(); MockHttpServletRequest request = new MockHttpServletRequest("GET", requestUri); request.setScheme("http"); request.setServerName("example.com"); request.setServerPort(80); request.setServletPath(requestUri); OAuth2AuthorizationRequest authorizationRequest = this.resolver.resolve(request); assertThat(authorizationRequest.getAuthorizationRequestUri()) .matches("https://example.com/login/oauth/authorize\\?" + "response_type=code&client_id=client-id&" + "scope=read:user&state=.{15,}&" + "redirect_uri=http://example.com/login/oauth2/code/registration-id"); }
@Test public void resolveWhenAuthorizationRequestIncludesPort443ThenExpandedRedirectUriExcludesPort() { ClientRegistration clientRegistration = this.registration1; String requestUri = this.authorizationRequestBaseUri + "/" + clientRegistration.getRegistrationId(); MockHttpServletRequest request = new MockHttpServletRequest("GET", requestUri); request.setScheme("https"); request.setServerName("example.com"); request.setServerPort(443); request.setServletPath(requestUri); OAuth2AuthorizationRequest authorizationRequest = this.resolver.resolve(request); assertThat(authorizationRequest.getAuthorizationRequestUri()) .matches("https://example.com/login/oauth/authorize\\?" + "response_type=code&client_id=client-id&" + "scope=read:user&state=.{15,}&" + "redirect_uri=https://example.com/login/oauth2/code/registration-id"); }
@Test public void testLocalhostPortAndContextPathUrl() { MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("localhost"); request.setServerPort(8080); request.setContextPath("/uaa"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); String url = UaaUrlUtils.getUaaUrl("/something"); assertThat(url, is("http://localhost:8080/uaa/something")); }
@Test public void testZonedAndMultiDomainUrls() { IdentityZoneHolder.set(MultitenancyFixture.identityZone("testzone1-id", "testzone1")); MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("testzone1.login.localhost"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); String url = UaaUrlUtils.getUaaUrl("/something"); assertThat(url, is("http://testzone1.login.localhost/something")); }
public MockHttpServletRequest buildRequest(ServletContext servletContext) { Charset charset = getCharset(); String httpMethod = this.webRequest.getHttpMethod().name(); UriComponents uriComponents = uriComponents(); String path = uriComponents.getPath(); MockHttpServletRequest request = new HtmlUnitMockHttpServletRequest( servletContext, httpMethod, (path != null ? path : "")); parent(request, this.parentBuilder); String host = uriComponents.getHost(); request.setServerName(host != null ? host : ""); // needs to be first for additional headers authType(request); request.setCharacterEncoding(charset.name()); content(request, charset); contextPath(request, uriComponents); contentType(request); cookies(request); headers(request); locales(request); servletPath(uriComponents, request); params(request, uriComponents); ports(uriComponents, request); request.setProtocol("HTTP/1.1"); request.setQueryString(uriComponents.getQuery()); String scheme = uriComponents.getScheme(); request.setScheme(scheme != null ? scheme : ""); request.setPathInfo(null); return postProcess(request); }
@Test public void testGetUaaUrlWithZoneAndPath() throws Exception { setIdentityZone("zone1"); MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("zone1.localhost"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); assertEquals("http://zone1.localhost/login", UaaUrlUtils.getUaaUrl("/login")); }
@Test public void testGetHostWithZone() throws Exception { setIdentityZone("zone1"); MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("zone1.localhost"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); assertEquals("zone1.localhost", UaaUrlUtils.getUaaHost()); }
@Test public void testGetBaseURL() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("login.domain"); request.setRequestURI("/something"); request.setServletPath("/something"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); assertEquals("http://login.domain", UaaUrlUtils.getBaseURL(request)); }
@Test public void testGetBaseURLWhenPathMatchesHostname() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("login.domain"); request.setRequestURI("/login"); request.setServletPath("/login"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); assertEquals("http://login.domain", UaaUrlUtils.getBaseURL(request)); }
@Test public void testGetBaseURLOnLocalhost() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("localhost"); request.setServerPort(8080); request.setRequestURI("/uaa/something"); request.setServletPath("/something"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); assertEquals("http://localhost:8080/uaa", UaaUrlUtils.getBaseURL(request)); }