Example usage for org.springframework.mock.web MockHttpServletRequest setScheme

List of usage examples for org.springframework.mock.web MockHttpServletRequest setScheme

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletRequest setScheme.

Prototype

public void setScheme(String scheme) 

Source Link

Usage

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));
}