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

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

Introduction

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

Prototype

public void setRequestURI(@Nullable String requestURI) 

Source Link

Usage

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

/**
 *
 * @param blogLanguage//from   w  w w .ja va 2s. com
 * @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");
}

From source file:org.hdiv.filter.ValidatorHelperTest.java

/**
 * Validation test for an init action./*w w  w  . ja va  2 s .c o m*/
 */
public void testValidateHashActionIsStartPage() {

    MockHttpServletRequest request = (MockHttpServletRequest) HDIVUtil.getHttpServletRequest();

    this.dataComposer.beginRequest(this.targetName);
    request.setRequestURI("/testing.do");

    String pageState = this.dataComposer.endRequest();
    this.dataComposer.endPage();

    request.addParameter(hdivParameter, pageState);

    RequestWrapper requestWrapper = new RequestWrapper(request);
    assertTrue(helper.validate(requestWrapper).isValid());
}

From source file:com.enonic.cms.business.portal.instruction.PostProcessInstructionExecutorImplTest.java

private MockHttpServletRequest setUpMockRequest(String serverName) {
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setServerName(serverName);/*from  ww w  .j a  v a  2 s  .c o m*/
    request.setRequestURI("/site/0/");
    return request;
}

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 ww.j av a 2  s  . c  om
    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:git.irbis.spring3.controllerusageexample.customers.web.ListCustomersControllerTest.java

/**
 * Test of request: show all customers.//from w w w.  ja v  a2s.c o m
 */
@Test
public void testListCustomers() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    ListCustomersController listCustomersController = new ListCustomersController(
            new CustomerRepositoryMockImpl());
    request.setMethod("GET");
    request.setRequestURI("/listcustomers");

    try {
        ModelAndView mv = new AnnotationMethodHandlerAdapter().handle(request, response,
                listCustomersController);

        ModelAndViewAssert.assertViewName(mv, "listcustomers");
        List<Customer> customers = (List<Customer>) mv.getModel().get("customers");

        assertNotNull(customers);
        assertEquals(5, customers.size());
    } catch (Exception ex) {
        fail();
    }
}

From source file:git.irbis.spring3.controllerusageexample.customers.web.ListCustomersControllerTest.java

/**
 * Test of request: show customers started from lastname, result success.
 *//*from   ww w  .jav  a  2  s . c om*/
@Test
public void testListCustomersByLastNameSuccess() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    ListCustomersController listCustomersController = new ListCustomersController(
            new CustomerRepositoryMockImpl());
    request.setMethod("GET");
    request.setRequestURI("/listcustomers/last");

    try {
        ModelAndView mv = new AnnotationMethodHandlerAdapter().handle(request, response,
                listCustomersController);

        ModelAndViewAssert.assertViewName(mv, "listcustomers");
        List<Customer> customers = (List<Customer>) mv.getModel().get("customers");

        assertNotNull(customers);
        assertEquals(5, customers.size());
    } catch (Exception ex) {
        fail();
    }
}

From source file:git.irbis.spring3.controllerusageexample.customers.web.ListCustomersControllerTest.java

/**
 * Test of request: show customers by lastname, result failure.
 */// w  ww.  j av a  2  s  .c  o  m
@Test
public void testListCustomersByLastNameFailure() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    ListCustomersController listCustomersController = new ListCustomersController(
            new CustomerRepositoryMockImpl());
    request.setMethod("GET");
    request.setRequestURI("/listcustomers/first");

    try {
        ModelAndView mv = new AnnotationMethodHandlerAdapter().handle(request, response,
                listCustomersController);

        ModelAndViewAssert.assertViewName(mv, "listcustomers");
        List<Customer> customers = (List<Customer>) mv.getModel().get("customers");

        assertNotNull(customers);
        assertTrue(customers.isEmpty());
    } catch (Exception ex) {
        fail();
    }
}

From source file:git.irbis.spring3.controllerusageexample.customers.web.ListCustomersControllerTest.java

/**
 * Test of request: show customers by lastname, result success.
 *//*w w  w.  ja va2  s. c o m*/
@Test
public void testFindCustomerByLastNameSuccess() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    ListCustomersController listCustomersController = new ListCustomersController(
            new CustomerRepositoryMockImpl());
    request.setMethod("GET");
    request.setRequestURI("/listcustomers/lastname2");

    try {
        ModelAndView mv = new AnnotationMethodHandlerAdapter().handle(request, response,
                listCustomersController);

        ModelAndViewAssert.assertViewName(mv, "listcustomers");
        List<Customer> customers = (List<Customer>) mv.getModel().get("customers");

        assertNotNull(customers);
        assertEquals(1, customers.size());
    } catch (Exception ex) {
        fail();
    }
}

From source file:git.irbis.spring3.controllerusageexample.customers.web.ListCustomersControllerTest.java

/**
 * Test of request: show customers started from firstname, result success.
 *///from   ww  w.  j  ava 2s. c  o m
@Test
public void testListCustomersByFirstNameSuccess() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    ListCustomersController listCustomersController = new ListCustomersController(
            new CustomerRepositoryMockImpl());
    request.setMethod("GET");
    request.setRequestURI("/listcustomers");
    request.setParameter("firstName", "first");
    request.setParameter("lastName", "");

    try {
        ModelAndView mv = new AnnotationMethodHandlerAdapter().handle(request, response,
                listCustomersController);

        ModelAndViewAssert.assertViewName(mv, "listcustomers");
        List<Customer> customers = (List<Customer>) mv.getModel().get("customers");

        assertNotNull(customers);
        assertEquals(5, customers.size());
    } catch (Exception ex) {
        fail();
    }
}

From source file:git.irbis.spring3.controllerusageexample.customers.web.ListCustomersControllerTest.java

/**
 * Test of request: show customer by fistname, result success.
 *///  w w  w. j av  a  2 s  .c  om
@Test
public void testFindCustomerByFirstNameSuccess() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    ListCustomersController listCustomersController = new ListCustomersController(
            new CustomerRepositoryMockImpl());
    request.setMethod("GET");
    request.setRequestURI("/listcustomers");
    request.setParameter("firstName", "firstname1");
    request.setParameter("lastName", "");

    try {
        ModelAndView mv = new AnnotationMethodHandlerAdapter().handle(request, response,
                listCustomersController);

        ModelAndViewAssert.assertViewName(mv, "listcustomers");
        List<Customer> customers = (List<Customer>) mv.getModel().get("customers");

        assertNotNull(customers);
        assertEquals(1, customers.size());
    } catch (Exception ex) {
        fail();
    }
}