use of com.tvd12.ezyhttp.server.core.view.ViewDialect in project ezyhttp by youngmonkeys.
the class ThymeleafViewContextTest method renderWithDialectButNotViewDialect.
@Test
public void renderWithDialectButNotViewDialect() throws Exception {
// given
TemplateResolver resolver = TemplateResolver.builder().build();
ViewDialect viewDialect = mock(ViewDialect.class);
ViewContext viewContext = new ThymeleafViewContextBuilder().templateResolver(resolver).viewDialects(Collections.singletonList(viewDialect)).build();
ServletContext servletContext = mock(ServletContext.class);
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
PrintWriter writer = mock(PrintWriter.class);
when(response.getWriter()).thenReturn(writer);
View view = View.builder().template("index.html").build();
// when
viewContext.render(servletContext, request, response, view);
// then
Asserts.assertNotNull(viewContext);
}
use of com.tvd12.ezyhttp.server.core.view.ViewDialect in project ezyhttp by youngmonkeys.
the class ThymeleafViewContext method createTemplateEngine.
private TemplateEngine createTemplateEngine() {
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
TemplateMode templateMode = TemplateMode.valueOf(metadata.getTemplateMode());
templateResolver.setTemplateMode(templateMode);
templateResolver.setPrefix(metadata.getPrefix());
templateResolver.setSuffix(metadata.getSuffix());
templateResolver.setCacheTTLMs((long) metadata.getCacheTTLMs());
templateResolver.setCacheable(metadata.isCacheable());
ThymeleafMessageResolver messageResolver = ThymeleafMessageResolver.builder().messageLocation(metadata.getMessagesLocation()).messageProviders(messageProviders).absentMessageResolver(absentMessageResolver).build();
TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
templateEngine.setMessageResolver(messageResolver);
templateEngine.addDialect(new LayoutDialect());
for (ViewDialect dialect : viewDialects) {
if (dialect instanceof IDialect) {
templateEngine.addDialect((IDialect) dialect);
}
}
return templateEngine;
}
use of com.tvd12.ezyhttp.server.core.view.ViewDialect in project ezyhttp by youngmonkeys.
the class ApplicationContextBuilderTest method buildViewContextTemplateResolverNotNullIsNull.
@Test
public void buildViewContextTemplateResolverNotNullIsNull() {
// given
EzyBeanContext beanContext = mock(EzyBeanContext.class);
ViewContextBuilder viewContextBuilder = mock(ViewContextBuilder.class);
when(beanContext.getSingleton(ViewContextBuilder.class)).thenReturn(viewContextBuilder);
TemplateResolver templateResolver = mock(TemplateResolver.class);
when(beanContext.getSingleton(TemplateResolver.class)).thenReturn(templateResolver);
when(viewContextBuilder.templateResolver(templateResolver)).thenReturn(viewContextBuilder);
ViewContext viewContext = mock(ViewContext.class);
when(viewContextBuilder.build()).thenReturn(viewContext);
EzySingletonFactory singletonFactory = mock(EzySingletonFactory.class);
when(beanContext.getSingletonFactory()).thenReturn(singletonFactory);
ViewDialect viewDialect = mock(ViewDialect.class);
List<ViewDialect> viewDialects = Collections.singletonList(viewDialect);
when(beanContext.getSingletonsOf(ViewDialect.class)).thenReturn(viewDialects);
when(viewContextBuilder.viewDialects(viewDialects)).thenReturn(viewContextBuilder);
ViewDecorator viewDecorator = mock(ViewDecorator.class);
List<ViewDecorator> viewDecorators = Collections.singletonList(viewDecorator);
when(beanContext.getSingletonsOf(ViewDecorator.class)).thenReturn(viewDecorators);
when(viewContextBuilder.viewDecorators(viewDecorators)).thenReturn(viewContextBuilder);
MessageProvider messageProvider = mock(MessageProvider.class);
List<MessageProvider> messageProviders = Collections.singletonList(messageProvider);
when(beanContext.getSingletonsOf(MessageProvider.class)).thenReturn(messageProviders);
when(viewContextBuilder.messageProviders(messageProviders)).thenReturn(viewContextBuilder);
AbsentMessageResolver absentMessageResolver = mock(AbsentMessageResolver.class);
when(beanContext.getSingleton(AbsentMessageResolver.class)).thenReturn(absentMessageResolver);
when(viewContextBuilder.absentMessageResolver(absentMessageResolver)).thenReturn(viewContextBuilder);
ApplicationContextBuilder sut = new ApplicationContextBuilder();
// when
ViewContext actual = MethodInvoker.create().object(sut).method("buildViewContext").param(EzyBeanContext.class, beanContext).invoke(ViewContext.class);
// then
Asserts.assertEquals(viewContext, actual);
verify(beanContext, times(1)).getSingleton(ViewContext.class);
verify(beanContext, times(1)).getSingleton(ViewContextBuilder.class);
verify(beanContext, times(1)).getSingleton(TemplateResolver.class);
verify(beanContext, times(1)).getSingletonsOf(ViewDialect.class);
verify(beanContext, times(1)).getSingletonsOf(ViewDecorator.class);
verify(beanContext, times(1)).getSingleton(AbsentMessageResolver.class);
verify(beanContext, times(1)).getSingletonsOf(MessageProvider.class);
verify(viewContextBuilder, times(1)).templateResolver(templateResolver);
verify(viewContextBuilder, times(1)).viewDialects(viewDialects);
verify(viewContextBuilder, times(1)).viewDecorators(viewDecorators);
verify(viewContextBuilder, times(1)).messageProviders(messageProviders);
verify(viewContextBuilder, times(1)).absentMessageResolver(absentMessageResolver);
verify(viewContextBuilder, times(1)).build();
verify(singletonFactory, times(1)).addSingleton(viewContext);
}
Aggregations