Search in sources :

Example 6 with NativeWebRequest

use of org.springframework.web.context.request.NativeWebRequest in project spring-security by spring-projects.

the class WebAsyncManagerIntegrationFilterTests method doFilterInternalRegistersSecurityContextCallableProcessor.

@Test
public void doFilterInternalRegistersSecurityContextCallableProcessor() throws Exception {
    SecurityContextHolder.setContext(securityContext);
    asyncManager.registerCallableInterceptors(new CallableProcessingInterceptorAdapter() {

        @Override
        public <T> void postProcess(NativeWebRequest request, Callable<T> task, Object concurrentResult) throws Exception {
            assertThat(SecurityContextHolder.getContext()).isNotSameAs(securityContext);
        }
    });
    filter.doFilterInternal(request, response, filterChain);
    VerifyingCallable verifyingCallable = new VerifyingCallable();
    asyncManager.startCallableProcessing(verifyingCallable);
    threadFactory.join();
    assertThat(asyncManager.getConcurrentResult()).isSameAs(securityContext);
}
Also used : CallableProcessingInterceptorAdapter(org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter) NativeWebRequest(org.springframework.web.context.request.NativeWebRequest) Test(org.junit.Test)

Example 7 with NativeWebRequest

use of org.springframework.web.context.request.NativeWebRequest in project simba-os by cegeka.

the class JSonArgumentResolverTest method nativeWebRequest.

private NativeWebRequest nativeWebRequest(String jsonBody) {
    NativeWebRequest request = mock(NativeWebRequest.class);
    HttpServletRequest servletRequest = mock(HttpServletRequest.class);
    when(request.getNativeRequest(HttpServletRequest.class)).thenReturn(servletRequest);
    when(servletRequest.getAttribute(JSonArgumentResolver.JSON_REQUEST_BODY)).thenReturn(jsonBody);
    return request;
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) NativeWebRequest(org.springframework.web.context.request.NativeWebRequest)

Example 8 with NativeWebRequest

use of org.springframework.web.context.request.NativeWebRequest in project spring-framework by spring-projects.

the class MvcNamespaceTests method testDefaultConfig.

@Test
public void testDefaultConfig() throws Exception {
    loadBeanDefinitions("mvc-config.xml", 14);
    RequestMappingHandlerMapping mapping = appContext.getBean(RequestMappingHandlerMapping.class);
    assertNotNull(mapping);
    assertEquals(0, mapping.getOrder());
    assertTrue(mapping.getUrlPathHelper().shouldRemoveSemicolonContent());
    mapping.setDefaultHandler(handlerMethod);
    MockHttpServletRequest request = new MockHttpServletRequest("GET", "/foo.json");
    NativeWebRequest webRequest = new ServletWebRequest(request);
    ContentNegotiationManager manager = mapping.getContentNegotiationManager();
    assertEquals(Collections.singletonList(MediaType.APPLICATION_JSON), manager.resolveMediaTypes(webRequest));
    RequestMappingHandlerAdapter adapter = appContext.getBean(RequestMappingHandlerAdapter.class);
    assertNotNull(adapter);
    assertEquals(false, new DirectFieldAccessor(adapter).getPropertyValue("ignoreDefaultModelOnRedirect"));
    List<HttpMessageConverter<?>> converters = adapter.getMessageConverters();
    assertTrue(converters.size() > 0);
    for (HttpMessageConverter<?> converter : converters) {
        if (converter instanceof AbstractJackson2HttpMessageConverter) {
            ObjectMapper objectMapper = ((AbstractJackson2HttpMessageConverter) converter).getObjectMapper();
            assertFalse(objectMapper.getDeserializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION));
            assertFalse(objectMapper.getSerializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION));
            assertFalse(objectMapper.getDeserializationConfig().isEnabled(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES));
            if (converter instanceof MappingJackson2XmlHttpMessageConverter) {
                assertEquals(XmlMapper.class, objectMapper.getClass());
            }
        }
    }
    assertNotNull(appContext.getBean(FormattingConversionServiceFactoryBean.class));
    assertNotNull(appContext.getBean(ConversionService.class));
    assertNotNull(appContext.getBean(LocalValidatorFactoryBean.class));
    assertNotNull(appContext.getBean(Validator.class));
    // default web binding initializer behavior test
    request = new MockHttpServletRequest("GET", "/");
    request.addParameter("date", "2009-10-31");
    request.addParameter("percent", "99.99%");
    MockHttpServletResponse response = new MockHttpServletResponse();
    HandlerExecutionChain chain = mapping.getHandler(request);
    assertEquals(1, chain.getInterceptors().length);
    assertTrue(chain.getInterceptors()[0] instanceof ConversionServiceExposingInterceptor);
    ConversionServiceExposingInterceptor interceptor = (ConversionServiceExposingInterceptor) chain.getInterceptors()[0];
    interceptor.preHandle(request, response, handlerMethod);
    assertSame(appContext.getBean(ConversionService.class), request.getAttribute(ConversionService.class.getName()));
    adapter.handle(request, response, handlerMethod);
    assertTrue(handler.recordedValidationError);
    assertEquals(LocalDate.parse("2009-10-31").toDate(), handler.date);
    assertEquals(Double.valueOf(0.9999), handler.percent);
    CompositeUriComponentsContributor uriComponentsContributor = this.appContext.getBean(MvcUriComponentsBuilder.MVC_URI_COMPONENTS_CONTRIBUTOR_BEAN_NAME, CompositeUriComponentsContributor.class);
    assertNotNull(uriComponentsContributor);
}
Also used : LocalValidatorFactoryBean(org.springframework.validation.beanvalidation.LocalValidatorFactoryBean) MockHttpServletRequest(org.springframework.mock.web.test.MockHttpServletRequest) NativeWebRequest(org.springframework.web.context.request.NativeWebRequest) FormattingConversionServiceFactoryBean(org.springframework.format.support.FormattingConversionServiceFactoryBean) ContentNegotiationManager(org.springframework.web.accept.ContentNegotiationManager) CompositeUriComponentsContributor(org.springframework.web.method.support.CompositeUriComponentsContributor) HandlerExecutionChain(org.springframework.web.servlet.HandlerExecutionChain) ConversionServiceExposingInterceptor(org.springframework.web.servlet.handler.ConversionServiceExposingInterceptor) MappingJackson2XmlHttpMessageConverter(org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter) ConversionService(org.springframework.core.convert.ConversionService) DirectFieldAccessor(org.springframework.beans.DirectFieldAccessor) MappingJackson2XmlHttpMessageConverter(org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter) AbstractJackson2HttpMessageConverter(org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter) HttpMessageConverter(org.springframework.http.converter.HttpMessageConverter) AbstractJackson2HttpMessageConverter(org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter) RequestMappingHandlerMapping(org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping) ServletWebRequest(org.springframework.web.context.request.ServletWebRequest) RequestMappingHandlerAdapter(org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Validator(org.springframework.validation.Validator) MockHttpServletResponse(org.springframework.mock.web.test.MockHttpServletResponse) Test(org.junit.Test)

Example 9 with NativeWebRequest

use of org.springframework.web.context.request.NativeWebRequest in project spring-security by spring-projects.

the class WebAsyncManagerIntegrationFilterTests method doFilterInternalRegistersSecurityContextCallableProcessorContextUpdated.

@Test
public void doFilterInternalRegistersSecurityContextCallableProcessorContextUpdated() throws Exception {
    SecurityContextHolder.setContext(SecurityContextHolder.createEmptyContext());
    asyncManager.registerCallableInterceptors(new CallableProcessingInterceptorAdapter() {

        @Override
        public <T> void postProcess(NativeWebRequest request, Callable<T> task, Object concurrentResult) throws Exception {
            assertThat(SecurityContextHolder.getContext()).isNotSameAs(securityContext);
        }
    });
    filter.doFilterInternal(request, response, filterChain);
    SecurityContextHolder.setContext(securityContext);
    VerifyingCallable verifyingCallable = new VerifyingCallable();
    asyncManager.startCallableProcessing(verifyingCallable);
    threadFactory.join();
    assertThat(asyncManager.getConcurrentResult()).isSameAs(securityContext);
}
Also used : CallableProcessingInterceptorAdapter(org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter) NativeWebRequest(org.springframework.web.context.request.NativeWebRequest) Test(org.junit.Test)

Example 10 with NativeWebRequest

use of org.springframework.web.context.request.NativeWebRequest in project spring-framework by spring-projects.

the class AbstractWebArgumentResolverAdapter method supportsParameter.

/**
	 * Actually resolve the value and check the resolved value is not
	 * {@link WebArgumentResolver#UNRESOLVED} absorbing _any_ exceptions.
	 */
@Override
public boolean supportsParameter(MethodParameter parameter) {
    try {
        NativeWebRequest webRequest = getWebRequest();
        Object result = this.adaptee.resolveArgument(parameter, webRequest);
        if (result == WebArgumentResolver.UNRESOLVED) {
            return false;
        } else {
            return ClassUtils.isAssignableValue(parameter.getParameterType(), result);
        }
    } catch (Exception ex) {
        // ignore (see class-level doc)
        logger.debug("Error in checking support for parameter [" + parameter + "], message: " + ex.getMessage());
        return false;
    }
}
Also used : NativeWebRequest(org.springframework.web.context.request.NativeWebRequest)

Aggregations

NativeWebRequest (org.springframework.web.context.request.NativeWebRequest)12 Test (org.junit.Test)7 HttpServletRequest (javax.servlet.http.HttpServletRequest)3 MockHttpServletRequest (org.springframework.mock.web.test.MockHttpServletRequest)3 ContentNegotiationManager (org.springframework.web.accept.ContentNegotiationManager)3 ServletWebRequest (org.springframework.web.context.request.ServletWebRequest)3 CallableProcessingInterceptorAdapter (org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter)3 RequestMappingHandlerMapping (org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping)3 AsyncEvent (javax.servlet.AsyncEvent)2 HandlerExecutionChain (org.springframework.web.servlet.HandlerExecutionChain)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 IOException (java.io.IOException)1 ServletException (javax.servlet.ServletException)1 DirectFieldAccessor (org.springframework.beans.DirectFieldAccessor)1 MutablePropertyValues (org.springframework.beans.MutablePropertyValues)1 ConversionService (org.springframework.core.convert.ConversionService)1 FormattingConversionServiceFactoryBean (org.springframework.format.support.FormattingConversionServiceFactoryBean)1 HttpMessageConverter (org.springframework.http.converter.HttpMessageConverter)1 AbstractJackson2HttpMessageConverter (org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter)1 MappingJackson2XmlHttpMessageConverter (org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter)1