use of com.enonic.xp.site.Site in project xp by enonic.
the class ContentFixtures method newSite.
public static Site newSite() {
final PropertyTree siteConfigConfig = new PropertyTree();
siteConfigConfig.setLong("Field", 42L);
final SiteConfig siteConfig = SiteConfig.create().application(ApplicationKey.from("myapplication")).config(siteConfigConfig).build();
final Site.Builder site = Site.create();
site.id(ContentId.from("100123"));
site.siteConfigs(SiteConfigs.from(siteConfig));
site.name("my-content");
site.parentPath(ContentPath.ROOT);
return site.build();
}
use of com.enonic.xp.site.Site in project xp by enonic.
the class ControllerMappingsResolverTest method testNoDescriptors.
@Test
public void testNoDescriptors() {
final Content content = newContent();
final Site site = newSite();
final ControllerMappingsResolver resolver = new ControllerMappingsResolver(this.siteService);
final Optional<ControllerMappingDescriptor> mapping = resolver.resolve("/landing-page", ImmutableMultimap.of(), content, site.getSiteConfigs());
assertTrue(mapping.isEmpty());
}
use of com.enonic.xp.site.Site in project xp by enonic.
the class PageResolverTest method given_Content_without_Page_then_effective_Page_is_same_as_in_Template.
@Test
public void given_Content_without_Page_then_effective_Page_is_same_as_in_Template() {
// setup
Site site = Site.create().id(ContentId.from("site-id")).path(ContentPath.from("/site")).displayName("My Site").type(ContentTypeName.from("portal:site")).build();
PageTemplate template = PageTemplate.newPageTemplate().key(PageTemplateKey.from("t-1")).parentPath(site.getPath()).name("my-template").page(Page.create().descriptor(DescriptorKey.from("myapp:my-descriptor")).config(configA).regions(regionsA).build()).build();
Content content = Content.create().parentPath(site.getPath()).name("my-content").build();
when(pageTemplateService.getDefault(notNull())).thenReturn(template);
// exercise
PageResolverResult result = pageResolver.resolve(RenderMode.LIVE, content, site);
final Page effectivePage = result.getEffectivePage();
// verify
assertEquals(configA, effectivePage.getConfig());
assertEquals(regionsA, effectivePage.getRegions());
assertNull(effectivePage.getDescriptor());
assertEquals(template.getKey(), effectivePage.getTemplate());
assertEquals(DescriptorKey.from("myapp:my-descriptor"), result.getController());
}
use of com.enonic.xp.site.Site in project xp by enonic.
the class PageResolverTest method given_Content_with_Page_without_config_then_effective_Page_gets_config_from_Template.
@Test
public void given_Content_with_Page_without_config_then_effective_Page_gets_config_from_Template() {
// setup
Site site = Site.create().id(ContentId.from("site-id")).path(ContentPath.from("/site")).displayName("My Site").type(ContentTypeName.from("portal:site")).build();
PageTemplate template = PageTemplate.newPageTemplate().key(PageTemplateKey.from("t-1")).parentPath(site.getPath()).name("my-template").page(Page.create().descriptor(DescriptorKey.from("myapp:my-descriptor")).config(configA).regions(regionsA).build()).canRender(ContentTypeNames.from(ContentTypeName.templateFolder())).build();
Content content = Content.create().parentPath(site.getPath()).name("my-content").page(Page.create().template(template.getKey()).regions(regionsB).build()).type(ContentTypeName.templateFolder()).build();
when(pageTemplateService.getByKey(template.getKey())).thenReturn(template);
// exercise
PageResolverResult result = pageResolver.resolve(RenderMode.LIVE, content, site);
final Page effectivePage = result.getEffectivePage();
// verify
assertEquals(configA, effectivePage.getConfig());
assertEquals(regionsB, effectivePage.getRegions());
assertEquals(template.getKey(), effectivePage.getTemplate());
assertNull(effectivePage.getDescriptor());
}
use of com.enonic.xp.site.Site in project xp by enonic.
the class PageResolverTest method content_with_Page_without_template_or_descriptor.
@Test
public void content_with_Page_without_template_or_descriptor() {
Site site = Site.create().id(ContentId.from("site-id")).path(ContentPath.from("/site")).displayName("My Site").type(ContentTypeName.from("portal:site")).build();
final Page page = Page.create().build();
Content content = Content.create().page(page).parentPath(site.getPath()).name("my-content").build();
final WebException webExceptionInLive = assertThrows(WebException.class, () -> pageResolver.resolve(RenderMode.LIVE, content, site));
assertEquals(HttpStatus.NOT_FOUND, webExceptionInLive.getStatus());
assertEquals(webExceptionInLive.getMessage(), "Content page has neither template nor descriptor");
final WebException webExceptionInInline = assertThrows(WebException.class, () -> pageResolver.resolve(RenderMode.INLINE, content, site));
assertEquals(HttpStatus.IM_A_TEAPOT, webExceptionInInline.getStatus());
final WebException webExceptionInPreview = assertThrows(WebException.class, () -> pageResolver.resolve(RenderMode.PREVIEW, content, site));
assertEquals(HttpStatus.NOT_FOUND, webExceptionInPreview.getStatus());
final PageResolverResult result = pageResolver.resolve(RenderMode.EDIT, content, site);
final Page effectivePage = result.getEffectivePage();
assertSame(page, effectivePage);
assertNull(result.getController());
verifyNoInteractions(pageTemplateService);
}
Aggregations