@Test(expected = SoyTofuException.class) public void shouldThrowExceptionIfTemplateDoesntExist() throws Exception { View view = cachingClosureTemplateViewResolver.resolveViewName( "com.tomakehurst.doesntexist", Locale.UK); view.render(model, request, response); }
@Test public void resolveViewNoMatchUseUnacceptableStatus() throws Exception { viewResolver.setUseNotAcceptableStatusCode(true); request.addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9"); ViewResolver viewResolverMock = createMock(ViewResolver.class); viewResolver.setViewResolvers(Collections.singletonList(viewResolverMock)); View viewMock = createMock("application_xml", View.class); String viewName = "view"; Locale locale = Locale.ENGLISH; expect(viewResolverMock.resolveViewName(viewName, locale)).andReturn(viewMock); expect(viewMock.getContentType()).andReturn("application/pdf").anyTimes(); replay(viewResolverMock, viewMock); View result = viewResolver.resolveViewName(viewName, locale); assertNotNull("Invalid view", result); MockHttpServletResponse response = new MockHttpServletResponse(); result.render(null, request, response); assertEquals("Invalid status code set", 406, response.getStatus()); verify(viewResolverMock, viewMock); }
private MockHttpServletResponse render(String viewName, Locale locale) throws Exception { GroovyTemplateViewResolver resolver = this.context.getBean(GroovyTemplateViewResolver.class); View view = resolver.resolveViewName(viewName, locale); assertThat(view, notNullValue()); HttpServletRequest request = new MockHttpServletRequest(); request.setAttribute(RequestContext.WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.context); MockHttpServletResponse response = new MockHttpServletResponse(); view.render(null, request, response); return response; }
private String render(View view) throws Exception { response = new MockHttpServletResponse(); view.render(model, request, response); return response.getContentAsString(); }