List of usage examples for org.springframework.mock.web MockHttpServletRequest setScheme
public void setScheme(String scheme)
From source file:org.jasig.cas.support.oauth.web.OAuth20AuthorizeControllerTests.java
@Test public void testOK() throws Exception { final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.AUTHORIZE_URL); mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID); mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI); mockRequest.setServerName(CAS_SERVER); mockRequest.setServerPort(CAS_PORT); mockRequest.setScheme(CAS_SCHEME); final MockHttpServletResponse mockResponse = new MockHttpServletResponse(); final ServicesManager servicesManager = mock(ServicesManager.class); final List<RegisteredService> services = new ArrayList<RegisteredService>(); services.add(getRegisteredService(REDIRECT_URI, SERVICE_NAME)); when(servicesManager.getAllServices()).thenReturn(services); final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController(); oauth20WrapperController.setLoginUrl(CAS_URL); oauth20WrapperController.setServicesManager(servicesManager); oauth20WrapperController.afterPropertiesSet(); final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse); final HttpSession session = mockRequest.getSession(); assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL)); assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME)); final View view = modelAndView.getView(); assertTrue(view instanceof RedirectView); final RedirectView redirectView = (RedirectView) view; assertEquals(OAuthUtils.addParameter(CAS_URL, "service", CAS_URL + CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL), redirectView.getUrl()); }
From source file:org.jasig.cas.support.oauth.web.OAuth20AuthorizeControllerTests.java
@Test public void testOKWithState() throws Exception { final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.AUTHORIZE_URL); mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID); mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI); mockRequest.setParameter(OAuthConstants.STATE, STATE); mockRequest.setServerName(CAS_SERVER); mockRequest.setServerPort(CAS_PORT); mockRequest.setScheme(CAS_SCHEME); final MockHttpServletResponse mockResponse = new MockHttpServletResponse(); final ServicesManager servicesManager = mock(ServicesManager.class); final List<RegisteredService> services = new ArrayList<RegisteredService>(); services.add(getRegisteredService(REDIRECT_URI, SERVICE_NAME)); when(servicesManager.getAllServices()).thenReturn(services); final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController(); oauth20WrapperController.setLoginUrl(CAS_URL); oauth20WrapperController.setServicesManager(servicesManager); oauth20WrapperController.afterPropertiesSet(); final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse); final HttpSession session = mockRequest.getSession(); assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL)); assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME)); assertEquals(STATE, session.getAttribute(OAuthConstants.OAUTH20_STATE)); final View view = modelAndView.getView(); assertTrue(view instanceof RedirectView); final RedirectView redirectView = (RedirectView) view; assertEquals(OAuthUtils.addParameter(CAS_URL, "service", CAS_URL + CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL), redirectView.getUrl()); }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
@Test public void testIncomingRequestIsSecuredButProtocolHeaderSaysItIsNotWithCustomValues() throws Exception { // PREPARE// www . jav a 2 s . c om XForwardedFilter xforwardedFilter = new XForwardedFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(XForwardedFilter.PROTOCOL_HEADER_PARAMETER, "x-forwarded-proto"); filterConfig.addInitParameter(XForwardedFilter.REMOTE_IP_HEADER_PARAMETER, "x-my-forwarded-for"); filterConfig.addInitParameter(XForwardedFilter.HTTP_SERVER_PORT_PARAMETER, "8080"); xforwardedFilter.init(filterConfig); MockFilterChain filterChain = new MockFilterChain(); MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("192.168.0.10"); request.setSecure(true); request.setScheme("https"); request.addHeader("x-my-forwarded-for", "140.211.11.130"); request.addHeader("x-forwarded-proto", "http"); MockHttpServletResponse response = new MockHttpServletResponse(); // TEST xforwardedFilter.doFilter(request, response, filterChain); // VERIFY boolean actualSecure = filterChain.getRequest().isSecure(); assertEquals("request must be unsecured as header x-forwarded-proto said it is http", false, actualSecure); String actualScheme = filterChain.getRequest().getScheme(); assertEquals("scheme must be http as header x-forwarded-proto said it is http", "http", actualScheme); int actualServerPort = filterChain.getRequest().getServerPort(); assertEquals("wrong http server port", 8080, actualServerPort); String actualRemoteAddr = ((HttpServletRequest) filterChain.getRequest()).getRemoteAddr(); assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); String actualRemoteHost = ((HttpServletRequest) filterChain.getRequest()).getRemoteHost(); assertEquals("remoteHost", "140.211.11.130", actualRemoteHost); ((HttpServletResponse) filterChain.getResponse()).sendRedirect("http://absolute/URL"); assertEquals("redirectedUrl", "http://absolute/URL", response.getRedirectedUrl()); }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
/** * Use <code>X-Real-IP</code> and <code>X-Secure</code> headers. * * @throws Exception//w w w . j a v a 2 s. c o m */ @Test public void testNGinxStyleIncomingRequest() throws Exception { // PREPARE XForwardedFilter xforwardedFilter = new XForwardedFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(XForwardedFilter.PROTOCOL_HEADER_PARAMETER, "X-Secure"); filterConfig.addInitParameter(XForwardedFilter.PROTOCOL_HEADER_HTTPS_VALUE_PARAMETER, "on"); filterConfig.addInitParameter(XForwardedFilter.REMOTE_IP_HEADER_PARAMETER, "X-Real-IP"); xforwardedFilter.init(filterConfig); MockFilterChain filterChain = new MockFilterChain(); MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("192.168.0.10"); request.setSecure(false); request.setScheme("http"); request.addHeader("X-Real-IP", "140.211.11.130"); request.addHeader("X-Secure", "on"); MockHttpServletResponse response = new MockHttpServletResponse(); // TEST xforwardedFilter.doFilter(request, response, filterChain); // VERIFY boolean actualSecure = filterChain.getRequest().isSecure(); assertEquals("request must be secured as header X-Secure='on'", true, actualSecure); String actualScheme = filterChain.getRequest().getScheme(); assertEquals("scheme must be https as header X-Secure='on'", "https", actualScheme); int actualServerPort = filterChain.getRequest().getServerPort(); assertEquals("wrong http server port", 443, actualServerPort); String actualRemoteAddr = ((HttpServletRequest) filterChain.getRequest()).getRemoteAddr(); assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); String actualRemoteHost = ((HttpServletRequest) filterChain.getRequest()).getRemoteHost(); assertEquals("remoteHost", "140.211.11.130", actualRemoteHost); ((HttpServletResponse) filterChain.getResponse()).sendRedirect("http://absolute/URL"); assertEquals("redirectedUrl", "http://absolute/URL", response.getRedirectedUrl()); }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
@Test public void testIncomingRequestIsSecuredButProtocolHeaderSaysItIsNotWithDefaultValues() throws Exception { // PREPARE/* w ww . j a va 2 s. c om*/ XForwardedFilter xforwardedFilter = new XForwardedFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(XForwardedFilter.PROTOCOL_HEADER_PARAMETER, "x-forwarded-proto"); xforwardedFilter.init(filterConfig); MockFilterChain filterChain = new MockFilterChain(); MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("192.168.0.10"); request.setSecure(true); request.setScheme("https"); request.addHeader("x-forwarded-for", "140.211.11.130"); request.addHeader("x-forwarded-proto", "http"); MockHttpServletResponse response = new MockHttpServletResponse(); // TEST xforwardedFilter.doFilter(request, response, filterChain); // VERIFY boolean actualSecure = filterChain.getRequest().isSecure(); assertEquals("request must be unsecured as header x-forwarded-proto said it is http", false, actualSecure); String actualScheme = filterChain.getRequest().getScheme(); assertEquals("scheme must be http as header x-forwarded-proto said it is http", "http", actualScheme); String actualRemoteAddr = ((HttpServletRequest) filterChain.getRequest()).getRemoteAddr(); assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); String actualRemoteHost = ((HttpServletRequest) filterChain.getRequest()).getRemoteHost(); assertEquals("remoteHost", "140.211.11.130", actualRemoteHost); String actualUrl = ((HttpServletResponse) filterChain.getResponse()).encodeURL("/relativeURL"); assertEquals("encodeURL relative", "http://localhost/relativeURL", actualUrl); actualUrl = ((HttpServletResponse) filterChain.getResponse()).encodeURL("https://absolute/URL"); assertEquals("encodeURL absolute", "https://absolute/URL", actualUrl); String actualRedirectUrl = ((HttpServletResponse) filterChain.getResponse()) .encodeRedirectURL("/relativeURL"); assertEquals("encodeRedirectURL relative", "http://localhost/relativeURL", actualRedirectUrl); ((HttpServletResponse) filterChain.getResponse()).sendRedirect("/relativeURL"); assertEquals("redirectedUrl", "http://localhost/relativeURL", response.getRedirectedUrl()); }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
@Test public void testToAbsoluteInResponse() { // PREPARE/* w w w.j a va2 s.co m*/ XForwardedFilter xFilter = new XForwardedFilter(); MockHttpServletRequest request = new MockHttpServletRequest(); HttpServletResponse mockResponse = new MockHttpServletResponse(); XForwardedResponse response = xFilter.new XForwardedResponse(mockResponse, request); request.setScheme("http"); request.setServerName("localhost"); request.setServerPort(80); request.setContextPath("/context"); request.setRequestURI("/context/dir/test"); // TEST and VERIFY assertEquals("relative uri", "http://localhost/context/dir/relativeURI", response.toAbsolute("relativeURI")); assertEquals("relative to host uri", "http://localhost/relativeURI", response.toAbsolute("/relativeURI")); assertEquals("relative to context root uri", "http://localhost/context/relativeURI", response.toAbsolute(request.getContextPath() + "/relativeURI")); assertEquals("absolute uri", "https://server/othercontext/uri", response.toAbsolute("https://server/othercontext/uri")); }
From source file:org.wrml.server.WrmlServletTest.java
private void initMockHttpRequest(MockHttpServletRequest req, URI uri) { req.setRequestURI(uri.toString());/*from ww w. j a v a 2s. co m*/ req.setPathInfo(uri.getPath()); req.setRemotePort(uri.getPort()); req.setRemoteHost(uri.getHost()); req.setScheme(uri.getScheme()); req.setContextPath("/"); }
From source file:org.cateproject.test.functional.mockmvc.HtmlUnitRequestBuilder.java
public MockHttpServletRequest buildRequest(ServletContext servletContext) { String charset = getCharset(); String httpMethod = webRequest.getHttpMethod().name(); UriComponents uriComponents = uriComponents(); MockHttpServletRequest result = new HtmlUnitMockHttpServletRequest(servletContext, httpMethod, uriComponents.getPath());//from w ww .j av a 2 s .c o m parent(result, parentBuilder); result.setServerName(uriComponents.getHost()); // needs to be first for additional headers authType(result); result.setCharacterEncoding(charset); content(result, charset); contextPath(result, uriComponents); contentType(result); cookies(result); headers(result); locales(result); servletPath(uriComponents, result); params(result, uriComponents); ports(uriComponents, result); result.setProtocol("HTTP/1.1"); result.setQueryString(uriComponents.getQuery()); result.setScheme(uriComponents.getScheme()); pathInfo(uriComponents, result); return parentPostProcessor == null ? result : parentPostProcessor.postProcessRequest(result); }
From source file:org.artifactory.util.HttpUtilsTest.java
public void getServletContextUrlHttps() throws EncoderException { String requestUrl = "https://lala.land.com"; MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", requestUrl); mockRequest.setServerName("lala.land.com"); mockRequest.setScheme("https"); mockRequest.setServerPort(443);//from w ww .j av a2 s. co m String servletContextUrl = HttpUtils.getServletContextUrl(mockRequest); assertEquals(servletContextUrl, requestUrl); }
From source file:org.cloudfoundry.identity.uaa.login.EmailChangeEmailServiceTest.java
public void testBeginEmailChangeInOtherZone(String zoneName) throws Exception { IdentityZone zone = MultitenancyFixture.identityZone("test-zone-id", "test"); zone.setName(zoneName);/*from ww w. jav a 2 s . com*/ IdentityZoneHolder.set(zone); MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("test.localhost"); request.setContextPath("/login"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); ScimUser user = new ScimUser("user-001", "user-name", "test-name", "test-name"); user.setPrimaryEmail("user@example.com"); Map<String, String> codeData = new HashMap<>(); codeData.put("user_id", "user-001"); codeData.put("client_id", "app"); codeData.put("redirect_uri", "http://app.com"); codeData.put("email", "new@example.com"); String zoneId = IdentityZoneHolder.get().getId(); when(scimUserProvisioning.retrieve("user-001", zoneId)).thenReturn(user); when(scimUserProvisioning.query(anyString(), eq(zoneId))) .thenReturn(Collections.singletonList(new ScimUser())); String data = JsonUtils.writeValueAsString(codeData); when(codeStore.generateCode(eq(data), any(Timestamp.class), eq(EMAIL.name()), anyString())).thenReturn( new ExpiringCode("the_secret_code", new Timestamp(System.currentTimeMillis()), data, EMAIL.name())); emailChangeEmailService.beginEmailChange("user-001", "user@example.com", "new@example.com", "app", "http://app.com"); verify(codeStore).generateCode(eq(JsonUtils.writeValueAsString(codeData)), any(Timestamp.class), eq(EMAIL.name()), eq(zoneId)); ArgumentCaptor<String> emailBodyArgument = ArgumentCaptor.forClass(String.class); Mockito.verify(messageService).sendMessage(eq("new@example.com"), eq(MessageType.CHANGE_EMAIL), eq(zoneName + " Email change verification"), emailBodyArgument.capture()); String emailBody = emailBodyArgument.getValue(); assertThat(emailBody, containsString(String.format("A request has been made to change the email for %s from %s to %s", zoneName, "user@example.com", "new@example.com"))); assertThat(emailBody, containsString( "<a href=\"http://test.localhost/login/verify_email?code=the_secret_code\">Verify your email</a>")); assertThat(emailBody, containsString("Thank you,<br />\n " + zoneName)); }