use of org.springframework.mock.web.test.MockRequestDispatcher in project spring-framework by spring-projects.
the class InternalResourceViewTests method includeOnAttribute.
@Test
public void includeOnAttribute() throws Exception {
given(request.getAttribute(View.PATH_VARIABLES)).willReturn(null);
given(request.getAttribute(WebUtils.INCLUDE_REQUEST_URI_ATTRIBUTE)).willReturn("somepath");
given(request.getRequestDispatcher(url)).willReturn(new MockRequestDispatcher(url));
view.setUrl(url);
// Can now try multiple tests
view.render(model, request, response);
assertEquals(url, response.getIncludedUrl());
model.keySet().stream().forEach(key -> verify(request).setAttribute(key, model.get(key)));
}
use of org.springframework.mock.web.test.MockRequestDispatcher in project spring-framework by spring-projects.
the class InternalResourceViewTests method includeOnCommitted.
@Test
public void includeOnCommitted() throws Exception {
given(request.getAttribute(View.PATH_VARIABLES)).willReturn(null);
given(request.getAttribute(WebUtils.INCLUDE_REQUEST_URI_ATTRIBUTE)).willReturn(null);
given(request.getRequestDispatcher(url)).willReturn(new MockRequestDispatcher(url));
response.setCommitted(true);
view.setUrl(url);
// Can now try multiple tests
view.render(model, request, response);
assertEquals(url, response.getIncludedUrl());
model.keySet().stream().forEach(key -> verify(request).setAttribute(key, model.get(key)));
}
use of org.springframework.mock.web.test.MockRequestDispatcher in project spring-framework by spring-projects.
the class ViewResolverTests method testInternalResourceViewResolverWithSpecificContextBeans.
@Test
public void testInternalResourceViewResolverWithSpecificContextBeans() throws Exception {
MockServletContext sc = new MockServletContext();
final StaticWebApplicationContext wac = new StaticWebApplicationContext();
wac.registerSingleton("myBean", TestBean.class);
wac.registerSingleton("myBean2", TestBean.class);
wac.setServletContext(sc);
wac.refresh();
InternalResourceViewResolver vr = new InternalResourceViewResolver();
Properties props = new Properties();
props.setProperty("key1", "value1");
vr.setAttributes(props);
Map map = new HashMap();
map.put("key2", new Integer(2));
vr.setAttributesMap(map);
vr.setExposedContextBeanNames(new String[] { "myBean2" });
vr.setApplicationContext(wac);
MockHttpServletRequest request = new MockHttpServletRequest(sc) {
@Override
public RequestDispatcher getRequestDispatcher(String path) {
return new MockRequestDispatcher(path) {
@Override
public void forward(ServletRequest forwardRequest, ServletResponse forwardResponse) {
assertTrue("Correct rc attribute", forwardRequest.getAttribute("rc") == null);
assertEquals("value1", forwardRequest.getAttribute("key1"));
assertEquals(new Integer(2), forwardRequest.getAttribute("key2"));
assertNull(forwardRequest.getAttribute("myBean"));
assertSame(wac.getBean("myBean2"), forwardRequest.getAttribute("myBean2"));
}
};
}
};
HttpServletResponse response = new MockHttpServletResponse();
request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new AcceptHeaderLocaleResolver());
View view = vr.resolveViewName("example1", Locale.getDefault());
view.render(new HashMap(), request, response);
}
use of org.springframework.mock.web.test.MockRequestDispatcher in project spring-framework by spring-projects.
the class ViewResolverTests method testInternalResourceViewResolverWithContextBeans.
@Test
public void testInternalResourceViewResolverWithContextBeans() throws Exception {
MockServletContext sc = new MockServletContext();
final StaticWebApplicationContext wac = new StaticWebApplicationContext();
wac.registerSingleton("myBean", TestBean.class);
wac.registerSingleton("myBean2", TestBean.class);
wac.setServletContext(sc);
wac.refresh();
InternalResourceViewResolver vr = new InternalResourceViewResolver();
Properties props = new Properties();
props.setProperty("key1", "value1");
vr.setAttributes(props);
Map map = new HashMap();
map.put("key2", new Integer(2));
vr.setAttributesMap(map);
vr.setExposeContextBeansAsAttributes(true);
vr.setApplicationContext(wac);
MockHttpServletRequest request = new MockHttpServletRequest(sc) {
@Override
public RequestDispatcher getRequestDispatcher(String path) {
return new MockRequestDispatcher(path) {
@Override
public void forward(ServletRequest forwardRequest, ServletResponse forwardResponse) {
assertTrue("Correct rc attribute", forwardRequest.getAttribute("rc") == null);
assertEquals("value1", forwardRequest.getAttribute("key1"));
assertEquals(new Integer(2), forwardRequest.getAttribute("key2"));
assertSame(wac.getBean("myBean"), forwardRequest.getAttribute("myBean"));
assertSame(wac.getBean("myBean2"), forwardRequest.getAttribute("myBean2"));
}
};
}
};
HttpServletResponse response = new MockHttpServletResponse();
request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new AcceptHeaderLocaleResolver());
View view = vr.resolveViewName("example1", Locale.getDefault());
view.render(new HashMap(), request, response);
}
use of org.springframework.mock.web.test.MockRequestDispatcher in project spring-framework by spring-projects.
the class InternalResourceViewTests method alwaysInclude.
@Test
public void alwaysInclude() throws Exception {
given(request.getAttribute(View.PATH_VARIABLES)).willReturn(null);
given(request.getRequestDispatcher(url)).willReturn(new MockRequestDispatcher(url));
view.setUrl(url);
view.setAlwaysInclude(true);
// Can now try multiple tests
view.render(model, request, response);
assertEquals(url, response.getIncludedUrl());
model.keySet().stream().forEach(key -> verify(request).setAttribute(key, model.get(key)));
}
Aggregations