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

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

Introduction

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

Prototype

public void setQueryString(@Nullable String queryString) 

Source Link

Usage

From source file:com.spotify.apollo.http.server.ApolloRequestHandlerTest.java

private MockHttpServletRequest mockRequest(String method, String requestURI) {
    QueryStringDecoder decoder = new QueryStringDecoder(requestURI);

    final MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest(method, decoder.path());

    mockHttpServletRequest//from  ww w.  ja va 2  s  . c  o m
            .setParameters(decoder.parameters().entrySet().stream().collect(toMap(Map.Entry::getKey, e -> {
                List<String> value = e.getValue();
                return value.toArray(new String[value.size()]);
            })));
    mockHttpServletRequest.setQueryString(requestURI.replace(decoder.path() + "?", ""));

    return mockHttpServletRequest;
}

From source file:org.jasig.cas.client.authentication.AuthenticationFilterTests.java

@Test
public void testRedirectWithQueryString() throws Exception {
    final MockHttpSession session = new MockHttpSession();
    final MockHttpServletRequest request = new MockHttpServletRequest();
    final MockHttpServletResponse response = new MockHttpServletResponse();
    request.setQueryString("test=12456");
    request.setRequestURI("/test");
    request.setSecure(true);/*from   w  w w.  j  a  v a2 s.  c  o m*/
    final FilterChain filterChain = new FilterChain() {

        public void doFilter(ServletRequest request, ServletResponse response)
                throws IOException, ServletException {
            // nothing to do
        }
    };

    request.setSession(session);
    this.filter = new AuthenticationFilter();

    final MockFilterConfig config = new MockFilterConfig();
    config.addInitParameter("casServerLoginUrl", CAS_LOGIN_URL);
    config.addInitParameter("serverName", "localhost:8443");
    this.filter.init(config);

    this.filter.doFilter(request, response, filterChain);

    assertEquals(CAS_LOGIN_URL + "?service=" + URLEncoder.encode(
            "https://localhost:8443" + request.getRequestURI() + "?" + request.getQueryString(), "UTF-8"),
            response.getRedirectedUrl());
}

From source file:org.opennms.netmgt.ncs.rest.AbstractSpringJerseyRestTestCase.java

protected String sendRequest(String requestType, String url, Map<?, ?> parameters, int expectedStatus)
        throws Exception {
    final MockHttpServletRequest request = createRequest(requestType, url);
    request.setParameters(parameters);/*from   ww  w  .  ja  va  2 s.  com*/
    request.setQueryString(getQueryString(parameters));
    return sendRequest(request, expectedStatus);
}

From source file:fi.okm.mpass.shibboleth.authn.impl.ValidateWilmaResponseTest.java

/**
 * Initialize the servlet request for testing.
 * /*from  w  ww.j ava  2s . co m*/
 * @param addNonce Whether or not to include nonce
 * @param addUserid Whether or not to include userid
 * @param addChecksum Whether or not to include checksum
 * @return
 */
protected MockHttpServletRequest initializeServletRequest(final boolean addNonce, final boolean addUserid,
        final boolean addChecksum) {
    final MockHttpServletRequest servletRequest = new MockHttpServletRequest();
    servletRequest.setScheme("https");
    servletRequest.setServerName("mock-proxy.mpass.id");
    servletRequest.setServerPort(443);
    servletRequest.setRequestURI("/idp/profile/SAML2/Redirect/SSO");
    servletRequest.setQueryString(generateQuery(addNonce, addUserid, addChecksum));
    return servletRequest;
}

From source file:fr.mby.saml2.sp.opensaml.core.OpenSaml20IntegrationTest.java

protected MockHttpServletRequest buildSloRedirectRequest(final String relayState,
        final Resource redirectEncodedResource) throws IOException, UnsupportedEncodingException {
    final String encodedRequest = SamlTestResourcesHelper.readFile(redirectEncodedResource);
    final MockHttpServletRequest request = new MockHttpServletRequest("GET", SP_SLO_REDIRECT_URI_ENDPOINT);
    request.setServerName(SP_AUTHN_SERVER_NAME_ENDPOINT);
    request.setQueryString("?SAMLRequest=" + encodedRequest + "&RelayState=" + relayState);
    request.setParameter("SAMLRequest", URLDecoder.decode(encodedRequest, "UTF-8"));
    request.setParameter("RelayState", relayState);
    return request;
}

From source file:fr.mby.saml2.sp.opensaml.core.OpenSaml20IntegrationTest.java

protected MockHttpServletRequest buildSloRedirectResponse(final String relayState,
        final Resource redirectEncodedResource) throws IOException, UnsupportedEncodingException {
    final String encodedRequest = SamlTestResourcesHelper.readFile(redirectEncodedResource);
    final MockHttpServletRequest request = new MockHttpServletRequest("GET", SP_SLO_REDIRECT_URI_ENDPOINT);
    request.setServerName(SP_AUTHN_SERVER_NAME_ENDPOINT);
    request.setQueryString("?SAMLResponse=" + encodedRequest + "&RelayState=" + relayState);
    request.setParameter("SAMLResponse", URLDecoder.decode(encodedRequest, "UTF-8"));
    request.setParameter("RelayState", relayState);
    return request;
}

From source file:com.tasktop.c2c.server.common.service.tests.ajp.AjpProtocolTest.java

@Test
// Trying to recreate task 718
public void testGetThenPost() throws Exception {
    final byte[] POST_REQUEST_PAYLOAD = createData(431);

    GenericKeyedObjectPool uniSocketPool = new GenericKeyedObjectPool(new AjpPoolableConnectionFactory());
    uniSocketPool.setLifo(true);//  w  ww. ja  v a 2  s.  c o m
    uniSocketPool.setMaxIdle(1);
    uniSocketPool.setMaxTotal(1);
    uniSocketPool.setMinIdle(1);
    protocol.setSocketPool(uniSocketPool);

    for (int i = 0; i < 10; i++) {
        MockHttpServletRequest getRequest = new MockHttpServletRequest();

        getRequest.setMethod("GET");
        getRequest.setRequestURI("/alm/s/code2cloud/scm/test4.git/info/refs");
        getRequest.setQueryString("service=git-receive-pack");
        getRequest.addParameter("service", "git-receive-pack");
        getRequest.addHeader("Authorization", AUTH_HEADER);
        getRequest.addHeader("Host", "localhost:8888");
        getRequest.addHeader("User-Agent", "git/1.7.3.1");
        getRequest.addHeader("Accept", "*/*");
        getRequest.addHeader("Pragma", "no-cache");
        Payload getPayload = new Payload();
        getPayload.setResponseCode(HttpServletResponse.SC_OK);
        getPayload.setCharacterContent(GET_RESPONSE_PAYLOAD);

        MockHttpServletResponse response = new MockHttpServletResponse();
        TestServlet.setResponsePayload(getPayload);
        protocol.forward(getRequest, response);
        assertRequestIsExpected(getRequest, TestServlet.getLastRequest());
        assertResponseIsExpected(getPayload, response);

        MockHttpServletRequest postRequest = new MockHttpServletRequest();
        postRequest.setMethod("POST");
        postRequest.setRequestURI("/alm/s/code2cloud/scm/test4.git/git-receive-pack");
        postRequest.addHeader("Authorization", AUTH_HEADER);
        postRequest.addHeader("Host", "localhost:8888");
        postRequest.addHeader("Content-Length", "" + POST_REQUEST_PAYLOAD.length);
        postRequest.addHeader("Accept-Encoding", "deflate, gzip");
        postRequest.addHeader("User-Agent", "git/1.7.3.1");
        postRequest.addHeader("Accept", "application/x-git-receive-pack-result");
        postRequest.addHeader("Content-Type", "application/x-git-receive-pack-request");

        postRequest.setContent(POST_REQUEST_PAYLOAD);

        Payload postPayload = new Payload();
        postPayload.setResponseCode(HttpServletResponse.SC_OK);
        postPayload.setCharacterContent(POST_RESPONSE_PAYLOAD);

        response = new MockHttpServletResponse();
        TestServlet.setResponsePayload(postPayload);
        protocol.forward(postRequest, response);
        assertRequestIsExpected(postRequest, TestServlet.getLastRequest());
        assertResponseIsExpected(postPayload, response);
    }

}

From source file:fr.mby.saml2.sp.opensaml.core.OpenSaml20IntegrationTest.java

protected MockHttpServletRequest buildAuthnRedirectResponse(final String relayState,
        final Resource redirectEncodedResource) throws IOException, UnsupportedEncodingException {
    final String encodedRequest = SamlTestResourcesHelper.readFile(redirectEncodedResource);
    final MockHttpServletRequest request = new MockHttpServletRequest("GET", SP_AUTHN_REDIRECT_URI_ENDPOINT);
    request.setServerName(SP_AUTHN_SERVER_NAME_ENDPOINT);
    request.setQueryString("?SAMLResponse=" + encodedRequest + "&RelayState=" + relayState);
    request.setParameter("SAMLResponse", URLDecoder.decode(encodedRequest, "UTF-8"));
    request.setParameter("RelayState", relayState);
    return request;
}

From source file:org.jasig.cas.client.authentication.AuthenticationFilterTests.java

@Test
public void testIgnorePatternsWithExactMatching() throws Exception {
    final AuthenticationFilter f = new AuthenticationFilter();
    final MockServletContext context = new MockServletContext();
    context.addInitParameter("casServerLoginUrl", CAS_LOGIN_URL);

    final URL url = new URL(CAS_SERVICE_URL + "?param=valueToIgnore");

    context.addInitParameter("ignorePattern", url.toExternalForm());
    context.addInitParameter("ignoreUrlPatternType", "EXACT");
    context.addInitParameter("service", CAS_SERVICE_URL);
    f.init(new MockFilterConfig(context));

    final MockHttpServletRequest request = new MockHttpServletRequest();
    request.setScheme(url.getProtocol());
    request.setServerName(url.getHost());
    request.setServerPort(url.getPort());
    request.setQueryString(url.getQuery());
    request.setRequestURI(url.getPath());

    final MockHttpSession session = new MockHttpSession();
    request.setSession(session);/*  ww  w .ja va 2 s.  c  om*/

    final MockHttpServletResponse response = new MockHttpServletResponse();

    final FilterChain filterChain = new FilterChain() {
        public void doFilter(ServletRequest request, ServletResponse response)
                throws IOException, ServletException {
        }
    };

    f.doFilter(request, response, filterChain);
    assertNull(response.getRedirectedUrl());
}

From source file:org.wallride.service.PostService.java

/**
 *
 * @param blogLanguage//from   www . j a  v  a  2 s.  c om
 * @param type
 * @param maxRank
 * @see PostService#getPopularPosts(String, PopularPost.Type)
 */
@CacheEvict(value = WallRideCacheConfiguration.POPULAR_POST_CACHE, key = "'list.type.' + #blogLanguage.language + '.' + #type")
public void updatePopularPosts(BlogLanguage blogLanguage, PopularPost.Type type, int maxRank) {
    logger.info("Start update of the popular posts");

    GoogleAnalytics googleAnalytics = blogLanguage.getBlog().getGoogleAnalytics();
    if (googleAnalytics == null) {
        logger.info("Configuration of Google Analytics can not be found");
        return;
    }

    Analytics analytics = GoogleAnalyticsUtils.buildClient(googleAnalytics);

    WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext,
            "org.springframework.web.servlet.FrameworkServlet.CONTEXT.guestServlet");
    if (context == null) {
        logger.info("GuestServlet is not ready yet");
        return;
    }

    final RequestMappingHandlerMapping mapping = context.getBean(RequestMappingHandlerMapping.class);

    Map<Post, Long> posts = new LinkedHashMap<>();

    int startIndex = 1;
    int currentRetry = 0;
    int totalResults = 0;

    do {
        try {
            LocalDate now = LocalDate.now();
            LocalDate startDate;
            switch (type) {
            case DAILY:
                startDate = now.minusDays(1);
                break;
            case WEEKLY:
                startDate = now.minusWeeks(1);
                break;
            case MONTHLY:
                startDate = now.minusMonths(1);
                break;
            default:
                throw new ServiceException();
            }

            DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            Analytics.Data.Ga.Get get = analytics.data().ga()
                    .get(googleAnalytics.getProfileId(), startDate.format(dateTimeFormatter),
                            now.format(dateTimeFormatter), "ga:sessions")
                    .setDimensions(String.format("ga:pagePath", googleAnalytics.getCustomDimensionIndex()))
                    .setSort(String.format("-ga:sessions", googleAnalytics.getCustomDimensionIndex()))
                    .setStartIndex(startIndex).setMaxResults(GoogleAnalyticsUtils.MAX_RESULTS);
            if (blogLanguage.getBlog().isMultiLanguage()) {
                get.setFilters("ga:pagePath=~/" + blogLanguage.getLanguage() + "/");
            }

            logger.info(get.toString());
            final GaData gaData = get.execute();
            if (CollectionUtils.isEmpty(gaData.getRows())) {
                break;
            }

            for (List row : gaData.getRows()) {
                UriComponents uriComponents = UriComponentsBuilder.fromUriString((String) row.get(0)).build();

                MockHttpServletRequest request = new MockHttpServletRequest(servletContext);
                request.setRequestURI(uriComponents.getPath());
                request.setQueryString(uriComponents.getQuery());
                MockHttpServletResponse response = new MockHttpServletResponse();

                BlogLanguageRewriteRule rewriteRule = new BlogLanguageRewriteRule(blogService);
                BlogLanguageRewriteMatch rewriteMatch = (BlogLanguageRewriteMatch) rewriteRule.matches(request,
                        response);
                try {
                    rewriteMatch.execute(request, response);
                } catch (ServletException e) {
                    throw new ServiceException(e);
                } catch (IOException e) {
                    throw new ServiceException(e);
                }

                request.setRequestURI(rewriteMatch.getMatchingUrl());

                HandlerExecutionChain handler;
                try {
                    handler = mapping.getHandler(request);
                } catch (Exception e) {
                    throw new ServiceException(e);
                }

                if (!(handler.getHandler() instanceof HandlerMethod)) {
                    continue;
                }

                HandlerMethod method = (HandlerMethod) handler.getHandler();
                if (!method.getBeanType().equals(ArticleDescribeController.class)
                        && !method.getBeanType().equals(PageDescribeController.class)) {
                    continue;
                }

                // Last path mean code of post
                String code = uriComponents.getPathSegments().get(uriComponents.getPathSegments().size() - 1);
                Post post = postRepository.findOneByCodeAndLanguage(code,
                        rewriteMatch.getBlogLanguage().getLanguage());
                if (post == null) {
                    logger.debug("Post not found [{}]", code);
                    continue;
                }

                if (!posts.containsKey(post)) {
                    posts.put(post, Long.parseLong((String) row.get(1)));
                }
                if (posts.size() >= maxRank) {
                    break;
                }
            }

            if (posts.size() >= maxRank) {
                break;
            }

            startIndex += GoogleAnalyticsUtils.MAX_RESULTS;
            totalResults = gaData.getTotalResults();
        } catch (IOException e) {
            logger.warn("Failed to synchronize with Google Analytics", e);
            if (currentRetry >= GoogleAnalyticsUtils.MAX_RETRY) {
                throw new GoogleAnalyticsException(e);
            }

            currentRetry++;
            logger.info("{} ms to sleep...", GoogleAnalyticsUtils.RETRY_INTERVAL);
            try {
                Thread.sleep(GoogleAnalyticsUtils.RETRY_INTERVAL);
            } catch (InterruptedException ie) {
                throw new GoogleAnalyticsException(e);
            }
            logger.info("Retry for the {} time", currentRetry);
        }
    } while (startIndex <= totalResults);

    popularPostRepository.deleteByType(blogLanguage.getLanguage(), type);

    int rank = 1;
    for (Map.Entry<Post, Long> entry : posts.entrySet()) {
        PopularPost popularPost = new PopularPost();
        popularPost.setLanguage(blogLanguage.getLanguage());
        popularPost.setType(type);
        popularPost.setRank(rank);
        popularPost.setViews(entry.getValue());
        popularPost.setPost(entry.getKey());
        popularPostRepository.saveAndFlush(popularPost);
        rank++;
    }

    logger.info("Complete the update of popular posts");
}