Refine search
protected MockHttpServletRequest makeRequest(String body, String queryString) throws UnsupportedEncodingException { MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("localhost"); request.setContextPath("/geoserver"); request.setRequestURI("/geoserver"); request.setQueryString(queryString != null ? queryString : ""); request.setRemoteAddr("127.0.0.1"); request.setServletPath("/geoserver"); request.setContentType("application/x-www-form-urlencoded"); request.setMethod("POST"); request.setContent(body.getBytes("UTF-8")); MockHttpSession session = new MockHttpSession(new MockServletContext()); request.setSession(session); request.setUserPrincipal(null); return request; }
@Override protected WebApplicationContext initWebAppContext() { MockServletContext servletContext = new MockServletContext(); StubWebApplicationContext wac = new StubWebApplicationContext(servletContext); registerMvcSingletons(wac); servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac); return wac; }
@Test public void shouldDelegateToTheGivenServlet() throws IOException, ServletException { MockServletContext ctx = new MockServletContext(); ctx.addInitParameter(DelegatingListener.DELEGATE_SERVLET, DummyServlet.class.getCanonicalName()); ServletContextEvent evt = new ServletContextEvent(ctx); DelegatingListener listener = new DelegatingListener(); listener.contextInitialized(evt); assertThat((DummyServlet) ctx.getAttribute(DelegatingListener.DELEGATE_SERVLET), isA(DummyServlet.class)); DelegatingServlet servlet = new DelegatingServlet(); servlet.init(new MockServletConfig(ctx)); servlet.service(httpServletRequest, new MockHttpServletResponse()); verify(servletRequestWrapper).setRequestURI("/go/stuff/action"); } }
@Test public void registerContextAndGetContext() { MockServletContext sc2 = new MockServletContext(); sc.setContextPath("/"); sc.registerContext("/second", sc2); assertSame(sc, sc.getContext("/")); assertSame(sc2, sc.getContext("/second")); }
private MockServletContext mockServletContext(String servletPath) { MockServletContext servletContext = spy(new MockServletContext()); final ServletRegistration registration = mock(ServletRegistration.class); when(registration.getMappings()).thenReturn(Collections.singleton(servletPath)); Answer<Map<String, ? extends ServletRegistration>> answer = invocation -> Collections.singletonMap("spring", registration); when(servletContext.getServletRegistrations()).thenAnswer(answer); return servletContext; }
MockHttpServletRequest request = new GeoServerMockHttpServletRequest(); request.setScheme("http"); request.setServerName("localhost"); request.setContextPath("/geoserver"); request.setRequestURI( ResponseUtils.stripQueryString(ResponseUtils.appendPath("/geoserver/", path))); MockHttpSession session = new MockHttpSession(new MockServletContext()); request.setSession(session);
@Test public void testIgnorePatternsWithInvalidClassname() throws Exception { final AuthenticationFilter f = new AuthenticationFilter(); final MockServletContext context = new MockServletContext(); context.addInitParameter("casServerLoginUrl", CAS_LOGIN_URL); context.addInitParameter("ignorePattern", "=valueToIgnore"); context.addInitParameter("ignoreUrlPatternType", "unknown.class.name"); context.addInitParameter("service", CAS_SERVICE_URL); f.init(new MockFilterConfig(context)); final MockHttpServletRequest request = new MockHttpServletRequest(); final String URL = CAS_SERVICE_URL + "?param=valueToIgnore"; request.setRequestURI(URL); final MockHttpSession session = new MockHttpSession(); request.setSession(session); 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); System.out.println(response.getRedirectedUrl()); } }
/** * Create new MockServletConfig. * @param servletContext the ServletContext that the JSP page runs in * @param request the current HttpServletRequest * @param response the current HttpServletResponse * @param servletConfig the ServletConfig (hardly ever accessed from within a tag) */ public MockPageContext(@Nullable ServletContext servletContext, @Nullable HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable ServletConfig servletConfig) { this.servletContext = (servletContext != null ? servletContext : new MockServletContext()); this.request = (request != null ? request : new MockHttpServletRequest(servletContext)); this.response = (response != null ? response : new MockHttpServletResponse()); this.servletConfig = (servletConfig != null ? servletConfig : new MockServletConfig(servletContext)); }
@Test public void testRetrieveSameOutputStream() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("GET", "http://www.geoserver.org"); request.addHeader("accept-encoding", "gzip"); MockHttpServletResponse response = new MockHttpServletResponse(); response.setContentType("text/plain"); // run the filter GZIPFilter filter = new GZIPFilter(); MockServletContext context = new MockServletContext(); MockFilterConfig config = new MockFilterConfig(context); config.addInitParameter("compressed-types", "text/plain"); filter.init(config); MockFilterChain chain = new MockFilterChain() { @Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { AlternativesResponseStream alternatives = (AlternativesResponseStream) response.getOutputStream(); GZIPResponseStream gzipStream = (GZIPResponseStream) alternatives.getStream(); assertThat( gzipStream.delegateStream, CoreMatchers.instanceOf(DelegatingServletOutputStream.class)); } }; filter.doFilter(request, response, chain); }
@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); 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()); }
/** * Create a new MockServletConfig. * @param servletContext the ServletContext that the servlet runs in * @param servletName the name of the servlet */ public MockServletConfig(@Nullable ServletContext servletContext, String servletName) { this.servletContext = (servletContext != null ? servletContext : new MockServletContext()); this.servletName = servletName; }
@Test public void testNotGZippedMantainsContentLength() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("GET", "http://www.geoserver.org"); request.addHeader("accept-encoding", "gzip"); MockHttpServletResponse response = new MockHttpServletResponse(); response.setContentType("text/css"); // run the filter GZIPFilter filter = new GZIPFilter(); MockServletContext context = new MockServletContext(); context.setInitParameter("compressed-types", "text/plain"); MockFilterConfig config = new MockFilterConfig(context); filter.init(config); MockFilterChain chain = new MockFilterChain() { @Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { response.setContentLength(1000); AlternativesResponseStream alternatives = (AlternativesResponseStream) response.getOutputStream(); ServletOutputStream gzipStream = alternatives.getStream(); gzipStream.write(1); } }; filter.doFilter(request, response, chain); assertTrue(response.containsHeader("Content-Length")); assertEquals("1000", response.getHeader("Content-Length")); }
if (null == applicationContext) { servletContext = new MockServletContext("", new FileSystemResourceLoader()); applicationContext = this.getConfigUtils().createApplicationContext(servletContext); servletContext.setAttribute( WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, applicationContext); } else { this.request = new MockHttpServletRequest(); this.request.setAttribute(RequestContext.REQCTX, reqCtx); this.response = new MockHttpServletResponse(); this.request.setSession(new MockHttpSession(servletContext)); if (refresh) { try {
@Before public void setup() { this.servletContext = spy(new MockServletContext()); this.request = new MockHttpServletRequest("GET", ""); this.request.setMethod("GET"); this.response = new MockHttpServletResponse(); this.chain = new MockFilterChain(); }
protected void setUp() { servletContext = new MockServletContext(); servletContext.setAttribute("aFoo", "bar"); request = new MockHttpServletRequest(); request.setAttribute("rFoo", "bar"); request.getSession(true).setAttribute("sFoo", "bar"); response = new MockHttpServletResponse(); context = new ServletExternalContext(servletContext, request, response); }
@Before public void setUp() { ServletContext servletContext = new MockServletContext(); MockHttpServletRequest mockRequest = new MockHttpServletRequest(servletContext); mockRequest.setAttribute(FROM_CUSTOM_MOCK, FROM_CUSTOM_MOCK); RequestContextHolder.setRequestAttributes(new ServletWebRequest(mockRequest, new MockHttpServletResponse())); this.wac.setServletContext(servletContext); new AnnotatedBeanDefinitionReader(this.wac).register(WebConfig.class); this.wac.refresh(); this.mockMvc = webAppContextSetup(this.wac) .defaultRequest(get("/").requestAttr(FROM_MVC_TEST_DEFAULT, FROM_MVC_TEST_DEFAULT)) .alwaysExpect(status().isOk()) .build(); }
@Test public void registerServletParamPropertySources_GenericWebApplicationContext() { MockServletContext servletContext = new MockServletContext(); servletContext.addInitParameter("pCommon", "pCommonContextValue"); servletContext.addInitParameter("pContext1", "pContext1Value"); GenericWebApplicationContext ctx = new GenericWebApplicationContext(); ctx.setServletContext(servletContext); ctx.refresh(); ConfigurableEnvironment environment = ctx.getEnvironment(); assertThat(environment, instanceOf(StandardServletEnvironment.class)); MutablePropertySources propertySources = environment.getPropertySources(); assertThat(propertySources.contains(StandardServletEnvironment.SERVLET_CONTEXT_PROPERTY_SOURCE_NAME), is(true)); // ServletContext params are available assertThat(environment.getProperty("pCommon"), is("pCommonContextValue")); assertThat(environment.getProperty("pContext1"), is("pContext1Value")); // Servlet* PropertySources have precedence over System* PropertySources assertThat(propertySources.precedenceOf(PropertySource.named(StandardServletEnvironment.SERVLET_CONTEXT_PROPERTY_SOURCE_NAME)), lessThan(propertySources.precedenceOf(PropertySource.named(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME)))); // Replace system properties with a mock property source for convenience MockPropertySource mockSystemProperties = new MockPropertySource(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME); mockSystemProperties.setProperty("pCommon", "pCommonSysPropsValue"); mockSystemProperties.setProperty("pSysProps1", "pSysProps1Value"); propertySources.replace(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME, mockSystemProperties); // assert that servletcontext init params resolve with higher precedence than sysprops assertThat(environment.getProperty("pCommon"), is("pCommonContextValue")); assertThat(environment.getProperty("pSysProps1"), is("pSysProps1Value")); }
private String getXStreamHeader() throws IOException, ServletException { MockHttpServletRequest request = new MockHttpServletRequest("GET", "http://www.geoserver.org"); MockHttpServletResponse response = new MockHttpServletResponse(); XFrameOptionsFilter filter = new XFrameOptionsFilter(); MockServletContext context = new MockServletContext(); MockFilterConfig config = new MockFilterConfig(context); MockFilterChain mockChain = new MockFilterChain(); filter.doFilter(request, response, mockChain); return response.getHeader("X-Frame-Options"); } }
protected void initServletMockObjects() { servletContext = new MockServletContext(resourceLoader); httpSession = new MockHttpSession(servletContext); response = new MockHttpServletResponse(); request = new MockHttpServletRequest(servletContext); request.setSession(httpSession); pageContext = new MockPageContext(servletContext, request, response); session = new SessionMap<String, Object>(request); }
@Test public void customRedirectStrategy() throws Exception { final AuthenticationFilter f = new AuthenticationFilter(); final MockServletContext context = new MockServletContext(); context.addInitParameter("casServerLoginUrl", CAS_LOGIN_URL); context.addInitParameter("service", CAS_SERVICE_URL); context.addInitParameter("authenticationRedirectStrategyClass", "org.jasig.cas.client.authentication.FacesCompatibleAuthenticationRedirectStrategy"); f.init(new MockFilterConfig(context)); }