Search in sources :

Example 1 with CapturedOutput

use of cn.taketoday.framework.test.system.CapturedOutput in project today-infrastructure by TAKETODAY.

the class ErrorPageFilterTests method responseCommittedWhenFromClientAbortException.

@Test
void responseCommittedWhenFromClientAbortException(CapturedOutput output) throws Exception {
    this.filter.addErrorPages(new ErrorPage("/error"));
    this.response.setCommitted(true);
    this.chain = new TestFilterChain((request, response, chain) -> {
        chain.call();
        throw new ClientAbortException();
    });
    this.filter.doFilter(this.request, this.response, this.chain);
    assertThat(this.response.isCommitted()).isTrue();
    assertThat(output).doesNotContain("Cannot forward");
}
Also used : MockFilterConfig(cn.taketoday.mock.web.MockFilterConfig) RequestDispatcher(jakarta.servlet.RequestDispatcher) HttpServletRequest(jakarta.servlet.http.HttpServletRequest) Enumeration(java.util.Enumeration) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HashMap(java.util.HashMap) MockRequestDispatcher(cn.taketoday.mock.web.MockRequestDispatcher) ClientAbortException(org.apache.catalina.connector.ClientAbortException) DeferredResult(cn.taketoday.web.context.async.DeferredResult) ServletException(jakarta.servlet.ServletException) MockFilterChain(cn.taketoday.mock.web.MockFilterChain) OutputCaptureExtension(cn.taketoday.framework.test.system.OutputCaptureExtension) MockHttpServletRequest(cn.taketoday.mock.web.MockHttpServletRequest) ServletRequestContext(cn.taketoday.web.servlet.ServletRequestContext) ErrorPageFilter(cn.taketoday.framework.web.servlet.support.ErrorPageFilter) NestedServletException(cn.taketoday.web.servlet.NestedServletException) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) BDDMockito.given(org.mockito.BDDMockito.given) MissingRequestParameterException(cn.taketoday.web.bind.MissingRequestParameterException) Map(java.util.Map) WebAsyncManager(cn.taketoday.web.context.async.WebAsyncManager) WebAsyncUtils(cn.taketoday.web.context.async.WebAsyncUtils) ServletRequest(jakarta.servlet.ServletRequest) BDDMockito.then(org.mockito.BDDMockito.then) IOException(java.io.IOException) Test(org.junit.jupiter.api.Test) ErrorPage(cn.taketoday.framework.web.server.ErrorPage) HttpServletResponseWrapper(jakarta.servlet.http.HttpServletResponseWrapper) Mockito.never(org.mockito.Mockito.never) StandardServletAsyncWebRequest(cn.taketoday.web.context.async.StandardServletAsyncWebRequest) ServletResponse(jakarta.servlet.ServletResponse) CapturedOutput(cn.taketoday.framework.test.system.CapturedOutput) HttpStatus(cn.taketoday.http.HttpStatus) HttpServletResponse(jakarta.servlet.http.HttpServletResponse) MockHttpServletResponse(cn.taketoday.mock.web.MockHttpServletResponse) Mockito.mock(org.mockito.Mockito.mock) ErrorPage(cn.taketoday.framework.web.server.ErrorPage) ClientAbortException(org.apache.catalina.connector.ClientAbortException) Test(org.junit.jupiter.api.Test)

Example 2 with CapturedOutput

use of cn.taketoday.framework.test.system.CapturedOutput in project today-infrastructure by TAKETODAY.

the class ApplicationTests method runnersAreCalledAfterStartedIsLoggedAndBeforeApplicationReadyEventIsPublished.

@Test
@SuppressWarnings("unchecked")
void runnersAreCalledAfterStartedIsLoggedAndBeforeApplicationReadyEventIsPublished(CapturedOutput output) throws Exception {
    Application application = new Application(ExampleConfig.class);
    ApplicationRunner applicationRunner = mock(ApplicationRunner.class);
    CommandLineRunner commandLineRunner = mock(CommandLineRunner.class);
    application.addInitializers((context) -> {
        ConfigurableBeanFactory beanFactory = context.getBeanFactory();
        beanFactory.registerSingleton("commandLineRunner", (CommandLineRunner) (args) -> {
            assertThat(output).contains("Started");
            commandLineRunner.run(args);
        });
        beanFactory.registerSingleton("applicationRunner", (ApplicationRunner) (args) -> {
            assertThat(output).contains("Started");
            applicationRunner.run(args);
        });
    });
    application.setApplicationType(ApplicationType.NONE_WEB);
    ApplicationListener<ApplicationReadyEvent> eventListener = mock(ApplicationListener.class);
    application.addListeners(eventListener);
    this.context = application.run();
    InOrder applicationRunnerOrder = Mockito.inOrder(eventListener, applicationRunner);
    applicationRunnerOrder.verify(applicationRunner).run(any(ApplicationArguments.class));
    applicationRunnerOrder.verify(eventListener).onApplicationEvent(any(ApplicationReadyEvent.class));
    InOrder commandLineRunnerOrder = Mockito.inOrder(eventListener, commandLineRunner);
    commandLineRunnerOrder.verify(commandLineRunner).run();
    commandLineRunnerOrder.verify(eventListener).onApplicationEvent(any(ApplicationReadyEvent.class));
}
Also used : ConfigurableBeanFactory(cn.taketoday.beans.factory.config.ConfigurableBeanFactory) BeforeEach(org.junit.jupiter.api.BeforeEach) LinkedMultiValueMap(cn.taketoday.core.LinkedMultiValueMap) Resource(cn.taketoday.core.io.Resource) ApplicationEvent(cn.taketoday.context.ApplicationEvent) PostConstruct(jakarta.annotation.PostConstruct) Ordered(cn.taketoday.core.Ordered) PropertySource(cn.taketoday.core.env.PropertySource) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) Assertions.assertThatNoException(org.assertj.core.api.Assertions.assertThatNoException) ApplicationContextInitializedEvent(cn.taketoday.framework.context.event.ApplicationContextInitializedEvent) ConfigurableWebEnvironment(cn.taketoday.web.context.ConfigurableWebEnvironment) StandardServletEnvironment(cn.taketoday.web.context.support.StandardServletEnvironment) Map(java.util.Map) ApplicationBuilder(cn.taketoday.framework.builder.ApplicationBuilder) BeanDefinitionRegistry(cn.taketoday.beans.factory.support.BeanDefinitionRegistry) BeanDefinitionOverrideException(cn.taketoday.beans.factory.support.BeanDefinitionOverrideException) ApplicationEnvironmentPreparedEvent(cn.taketoday.framework.context.event.ApplicationEnvironmentPreparedEvent) AbstractApplicationContext(cn.taketoday.context.support.AbstractApplicationContext) BeanNameGenerator(cn.taketoday.beans.factory.support.BeanNameGenerator) Profiles(cn.taketoday.core.env.Profiles) BeanCurrentlyInCreationException(cn.taketoday.beans.factory.BeanCurrentlyInCreationException) ObjectProvider(cn.taketoday.beans.factory.ObjectProvider) Bean(cn.taketoday.context.annotation.Bean) MockEnvironment(cn.taketoday.mock.env.MockEnvironment) Environment(cn.taketoday.core.env.Environment) Mockito.atLeastOnce(org.mockito.Mockito.atLeastOnce) Set(java.util.Set) ContextRefreshedEvent(cn.taketoday.context.event.ContextRefreshedEvent) ConfigurableApplicationContext(cn.taketoday.context.ConfigurableApplicationContext) ApplicationFailedEvent(cn.taketoday.framework.context.event.ApplicationFailedEvent) ApplicationContextException(cn.taketoday.context.ApplicationContextException) CapturedOutput(cn.taketoday.framework.test.system.CapturedOutput) CachedIntrospectionResults(cn.taketoday.beans.CachedIntrospectionResults) TestPropertySourceUtils(cn.taketoday.test.context.support.TestPropertySourceUtils) DefaultBeanNameGenerator(cn.taketoday.beans.factory.support.DefaultBeanNameGenerator) CommandLinePropertySource(cn.taketoday.core.env.CommandLinePropertySource) Mockito.mock(org.mockito.Mockito.mock) AvailabilityChangeEvent(cn.taketoday.framework.availability.AvailabilityChangeEvent) HttpHandler(cn.taketoday.http.server.reactive.HttpHandler) StringUtils(cn.taketoday.util.StringUtils) ConfigurableBeanFactory(cn.taketoday.beans.factory.config.ConfigurableBeanFactory) InstanceSupplier(cn.taketoday.framework.BootstrapRegistry.InstanceSupplier) DefaultResourceLoader(cn.taketoday.core.io.DefaultResourceLoader) Mockito.spy(org.mockito.Mockito.spy) ApplicationReadyEvent(cn.taketoday.framework.context.event.ApplicationReadyEvent) ArrayList(java.util.ArrayList) WebApplicationContext(cn.taketoday.web.WebApplicationContext) Assertions.assertThatExceptionOfType(org.assertj.core.api.Assertions.assertThatExceptionOfType) MultiValueMap(cn.taketoday.core.MultiValueMap) LinkedHashSet(java.util.LinkedHashSet) ArgumentMatchers.isA(org.mockito.ArgumentMatchers.isA) ApplicationPreparedEvent(cn.taketoday.framework.context.event.ApplicationPreparedEvent) Mono(reactor.core.publisher.Mono) AnnotationConfigReactiveWebServerApplicationContext(cn.taketoday.framework.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext) AfterEach(org.junit.jupiter.api.AfterEach) Mockito.never(org.mockito.Mockito.never) Condition(org.assertj.core.api.Condition) Assertions.assertThatIllegalArgumentException(org.assertj.core.api.Assertions.assertThatIllegalArgumentException) AnnotationConfigServletWebServerApplicationContext(cn.taketoday.framework.web.servlet.context.AnnotationConfigServletWebServerApplicationContext) MapPropertySource(cn.taketoday.core.env.MapPropertySource) ArgumentMatchers.argThat(org.mockito.ArgumentMatchers.argThat) Configuration(cn.taketoday.context.annotation.Configuration) NettyReactiveWebServerFactory(cn.taketoday.framework.web.embedded.netty.NettyReactiveWebServerFactory) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) ReadinessState(cn.taketoday.framework.availability.ReadinessState) ApplicationStartingEvent(cn.taketoday.framework.context.event.ApplicationStartingEvent) SimpleApplicationEventMulticaster(cn.taketoday.context.event.SimpleApplicationEventMulticaster) ArgumentMatcher(org.mockito.ArgumentMatcher) ApplicationEventMulticaster(cn.taketoday.context.event.ApplicationEventMulticaster) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ClassPathResource(cn.taketoday.core.io.ClassPathResource) AnnotationConfigApplicationContext(cn.taketoday.context.annotation.AnnotationConfigApplicationContext) StandardEnvironment(cn.taketoday.core.env.StandardEnvironment) BeanCreationException(cn.taketoday.beans.factory.BeanCreationException) Lazy(cn.taketoday.context.annotation.Lazy) ApplicationContextInitializer(cn.taketoday.context.ApplicationContextInitializer) ApplicationContext(cn.taketoday.context.ApplicationContext) CompositePropertySource(cn.taketoday.core.env.CompositePropertySource) BDDMockito.willThrow(org.mockito.BDDMockito.willThrow) ConfigurableEnvironment(cn.taketoday.core.env.ConfigurableEnvironment) ApplicationConversionService(cn.taketoday.format.support.ApplicationConversionService) Autowired(cn.taketoday.beans.factory.annotation.Autowired) AnnotationConfigUtils(cn.taketoday.context.annotation.AnnotationConfigUtils) ResourceLoader(cn.taketoday.core.io.ResourceLoader) SmartApplicationListener(cn.taketoday.context.event.SmartApplicationListener) Test(org.junit.jupiter.api.Test) List(java.util.List) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) StaticApplicationContext(cn.taketoday.context.support.StaticApplicationContext) HashMap(java.util.HashMap) ReactiveWebApplicationContext(cn.taketoday.framework.web.reactive.context.ReactiveWebApplicationContext) AtomicReference(java.util.concurrent.atomic.AtomicReference) ApplicationContextAware(cn.taketoday.context.aware.ApplicationContextAware) OutputCaptureExtension(cn.taketoday.framework.test.system.OutputCaptureExtension) ArgumentCaptor(org.mockito.ArgumentCaptor) ApplicationListener(cn.taketoday.context.ApplicationListener) Assertions.assertThatIllegalStateException(org.assertj.core.api.Assertions.assertThatIllegalStateException) InOrder(org.mockito.InOrder) Iterator(java.util.Iterator) UnsatisfiedDependencyException(cn.taketoday.beans.factory.UnsatisfiedDependencyException) BDDMockito.then(org.mockito.BDDMockito.then) TomcatServletWebServerFactory(cn.taketoday.framework.web.embedded.tomcat.TomcatServletWebServerFactory) Mockito(org.mockito.Mockito) AvailabilityState(cn.taketoday.framework.availability.AvailabilityState) LivenessState(cn.taketoday.framework.availability.LivenessState) Collections(java.util.Collections) ApplicationStartedEvent(cn.taketoday.framework.context.event.ApplicationStartedEvent) InOrder(org.mockito.InOrder) ApplicationReadyEvent(cn.taketoday.framework.context.event.ApplicationReadyEvent) Test(org.junit.jupiter.api.Test)

Example 3 with CapturedOutput

use of cn.taketoday.framework.test.system.CapturedOutput in project today-framework by TAKETODAY.

the class ErrorPageFilterTests method responseCommittedWhenFromClientAbortException.

@Test
void responseCommittedWhenFromClientAbortException(CapturedOutput output) throws Exception {
    this.filter.addErrorPages(new ErrorPage("/error"));
    this.response.setCommitted(true);
    this.chain = new TestFilterChain((request, response, chain) -> {
        chain.call();
        throw new ClientAbortException();
    });
    this.filter.doFilter(this.request, this.response, this.chain);
    assertThat(this.response.isCommitted()).isTrue();
    assertThat(output).doesNotContain("Cannot forward");
}
Also used : MockFilterConfig(cn.taketoday.mock.web.MockFilterConfig) RequestDispatcher(jakarta.servlet.RequestDispatcher) HttpServletRequest(jakarta.servlet.http.HttpServletRequest) Enumeration(java.util.Enumeration) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HashMap(java.util.HashMap) MockRequestDispatcher(cn.taketoday.mock.web.MockRequestDispatcher) ClientAbortException(org.apache.catalina.connector.ClientAbortException) DeferredResult(cn.taketoday.web.context.async.DeferredResult) ServletException(jakarta.servlet.ServletException) MockFilterChain(cn.taketoday.mock.web.MockFilterChain) OutputCaptureExtension(cn.taketoday.framework.test.system.OutputCaptureExtension) MockHttpServletRequest(cn.taketoday.mock.web.MockHttpServletRequest) ServletRequestContext(cn.taketoday.web.servlet.ServletRequestContext) ErrorPageFilter(cn.taketoday.framework.web.servlet.support.ErrorPageFilter) NestedServletException(cn.taketoday.web.servlet.NestedServletException) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) BDDMockito.given(org.mockito.BDDMockito.given) MissingRequestParameterException(cn.taketoday.web.bind.MissingRequestParameterException) Map(java.util.Map) WebAsyncManager(cn.taketoday.web.context.async.WebAsyncManager) WebAsyncUtils(cn.taketoday.web.context.async.WebAsyncUtils) ServletRequest(jakarta.servlet.ServletRequest) BDDMockito.then(org.mockito.BDDMockito.then) IOException(java.io.IOException) Test(org.junit.jupiter.api.Test) ErrorPage(cn.taketoday.framework.web.server.ErrorPage) HttpServletResponseWrapper(jakarta.servlet.http.HttpServletResponseWrapper) Mockito.never(org.mockito.Mockito.never) StandardServletAsyncWebRequest(cn.taketoday.web.context.async.StandardServletAsyncWebRequest) ServletResponse(jakarta.servlet.ServletResponse) CapturedOutput(cn.taketoday.framework.test.system.CapturedOutput) HttpStatus(cn.taketoday.http.HttpStatus) HttpServletResponse(jakarta.servlet.http.HttpServletResponse) MockHttpServletResponse(cn.taketoday.mock.web.MockHttpServletResponse) Mockito.mock(org.mockito.Mockito.mock) ErrorPage(cn.taketoday.framework.web.server.ErrorPage) ClientAbortException(org.apache.catalina.connector.ClientAbortException) Test(org.junit.jupiter.api.Test)

Example 4 with CapturedOutput

use of cn.taketoday.framework.test.system.CapturedOutput in project today-framework by TAKETODAY.

the class ErrorPageFilterTests method errorMessageForRequestWithPathInfo.

@Test
void errorMessageForRequestWithPathInfo(CapturedOutput output) throws IOException, ServletException {
    this.request.setServletPath("/test");
    this.request.setPathInfo("/alpha");
    this.filter.addErrorPages(new ErrorPage("/error"));
    this.chain = new TestFilterChain((request, response, chain) -> {
        chain.call();
        throw new RuntimeException();
    });
    this.filter.doFilter(this.request, this.response, this.chain);
    assertThat(output).contains("request [/test/alpha]");
}
Also used : MockFilterConfig(cn.taketoday.mock.web.MockFilterConfig) RequestDispatcher(jakarta.servlet.RequestDispatcher) HttpServletRequest(jakarta.servlet.http.HttpServletRequest) Enumeration(java.util.Enumeration) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HashMap(java.util.HashMap) MockRequestDispatcher(cn.taketoday.mock.web.MockRequestDispatcher) ClientAbortException(org.apache.catalina.connector.ClientAbortException) DeferredResult(cn.taketoday.web.context.async.DeferredResult) ServletException(jakarta.servlet.ServletException) MockFilterChain(cn.taketoday.mock.web.MockFilterChain) OutputCaptureExtension(cn.taketoday.framework.test.system.OutputCaptureExtension) MockHttpServletRequest(cn.taketoday.mock.web.MockHttpServletRequest) ServletRequestContext(cn.taketoday.web.servlet.ServletRequestContext) ErrorPageFilter(cn.taketoday.framework.web.servlet.support.ErrorPageFilter) NestedServletException(cn.taketoday.web.servlet.NestedServletException) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) BDDMockito.given(org.mockito.BDDMockito.given) MissingRequestParameterException(cn.taketoday.web.bind.MissingRequestParameterException) Map(java.util.Map) WebAsyncManager(cn.taketoday.web.context.async.WebAsyncManager) WebAsyncUtils(cn.taketoday.web.context.async.WebAsyncUtils) ServletRequest(jakarta.servlet.ServletRequest) BDDMockito.then(org.mockito.BDDMockito.then) IOException(java.io.IOException) Test(org.junit.jupiter.api.Test) ErrorPage(cn.taketoday.framework.web.server.ErrorPage) HttpServletResponseWrapper(jakarta.servlet.http.HttpServletResponseWrapper) Mockito.never(org.mockito.Mockito.never) StandardServletAsyncWebRequest(cn.taketoday.web.context.async.StandardServletAsyncWebRequest) ServletResponse(jakarta.servlet.ServletResponse) CapturedOutput(cn.taketoday.framework.test.system.CapturedOutput) HttpStatus(cn.taketoday.http.HttpStatus) HttpServletResponse(jakarta.servlet.http.HttpServletResponse) MockHttpServletResponse(cn.taketoday.mock.web.MockHttpServletResponse) Mockito.mock(org.mockito.Mockito.mock) ErrorPage(cn.taketoday.framework.web.server.ErrorPage) Test(org.junit.jupiter.api.Test)

Example 5 with CapturedOutput

use of cn.taketoday.framework.test.system.CapturedOutput in project today-framework by TAKETODAY.

the class ErrorPageFilterTests method errorMessageForRequestWithoutPathInfo.

@Test
void errorMessageForRequestWithoutPathInfo(CapturedOutput output) throws IOException, ServletException {
    this.request.setServletPath("/test");
    this.filter.addErrorPages(new ErrorPage("/error"));
    this.chain = new TestFilterChain((request, response, chain) -> {
        chain.call();
        throw new RuntimeException();
    });
    this.filter.doFilter(this.request, this.response, this.chain);
    assertThat(output).contains("request [/test]");
}
Also used : MockFilterConfig(cn.taketoday.mock.web.MockFilterConfig) RequestDispatcher(jakarta.servlet.RequestDispatcher) HttpServletRequest(jakarta.servlet.http.HttpServletRequest) Enumeration(java.util.Enumeration) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HashMap(java.util.HashMap) MockRequestDispatcher(cn.taketoday.mock.web.MockRequestDispatcher) ClientAbortException(org.apache.catalina.connector.ClientAbortException) DeferredResult(cn.taketoday.web.context.async.DeferredResult) ServletException(jakarta.servlet.ServletException) MockFilterChain(cn.taketoday.mock.web.MockFilterChain) OutputCaptureExtension(cn.taketoday.framework.test.system.OutputCaptureExtension) MockHttpServletRequest(cn.taketoday.mock.web.MockHttpServletRequest) ServletRequestContext(cn.taketoday.web.servlet.ServletRequestContext) ErrorPageFilter(cn.taketoday.framework.web.servlet.support.ErrorPageFilter) NestedServletException(cn.taketoday.web.servlet.NestedServletException) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) BDDMockito.given(org.mockito.BDDMockito.given) MissingRequestParameterException(cn.taketoday.web.bind.MissingRequestParameterException) Map(java.util.Map) WebAsyncManager(cn.taketoday.web.context.async.WebAsyncManager) WebAsyncUtils(cn.taketoday.web.context.async.WebAsyncUtils) ServletRequest(jakarta.servlet.ServletRequest) BDDMockito.then(org.mockito.BDDMockito.then) IOException(java.io.IOException) Test(org.junit.jupiter.api.Test) ErrorPage(cn.taketoday.framework.web.server.ErrorPage) HttpServletResponseWrapper(jakarta.servlet.http.HttpServletResponseWrapper) Mockito.never(org.mockito.Mockito.never) StandardServletAsyncWebRequest(cn.taketoday.web.context.async.StandardServletAsyncWebRequest) ServletResponse(jakarta.servlet.ServletResponse) CapturedOutput(cn.taketoday.framework.test.system.CapturedOutput) HttpStatus(cn.taketoday.http.HttpStatus) HttpServletResponse(jakarta.servlet.http.HttpServletResponse) MockHttpServletResponse(cn.taketoday.mock.web.MockHttpServletResponse) Mockito.mock(org.mockito.Mockito.mock) ErrorPage(cn.taketoday.framework.web.server.ErrorPage) Test(org.junit.jupiter.api.Test)

Aggregations

CapturedOutput (cn.taketoday.framework.test.system.CapturedOutput)8 OutputCaptureExtension (cn.taketoday.framework.test.system.OutputCaptureExtension)8 HashMap (java.util.HashMap)8 Map (java.util.Map)8 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)8 Test (org.junit.jupiter.api.Test)8 ExtendWith (org.junit.jupiter.api.extension.ExtendWith)8 BDDMockito.then (org.mockito.BDDMockito.then)8 Mockito.mock (org.mockito.Mockito.mock)8 Mockito.never (org.mockito.Mockito.never)8 ErrorPage (cn.taketoday.framework.web.server.ErrorPage)6 ErrorPageFilter (cn.taketoday.framework.web.servlet.support.ErrorPageFilter)6 HttpStatus (cn.taketoday.http.HttpStatus)6 MockFilterChain (cn.taketoday.mock.web.MockFilterChain)6 MockFilterConfig (cn.taketoday.mock.web.MockFilterConfig)6 MockHttpServletRequest (cn.taketoday.mock.web.MockHttpServletRequest)6 MockHttpServletResponse (cn.taketoday.mock.web.MockHttpServletResponse)6 MockRequestDispatcher (cn.taketoday.mock.web.MockRequestDispatcher)6 MissingRequestParameterException (cn.taketoday.web.bind.MissingRequestParameterException)6 DeferredResult (cn.taketoday.web.context.async.DeferredResult)6