def setUp(self): """ Set up stores and an offering. """ store = Store(dbdir=self.mktemp()) appStore1 = SubStore.createNew(store, ("app", "test1.axiom")) appStore2 = SubStore.createNew(store, ("app", "test2.axiom")) self.firstOffering = Offering(u'first offering', None, None, None, None, None, []) firstInstalledOffering = InstalledOffering( store=store, application=appStore1, offeringName=self.firstOffering.name) ss1 = appStore1.open() self.installApp(ss1) # (bypass Item.__setattr__) object.__setattr__(firstInstalledOffering, 'getOffering', lambda: self.firstOffering) secondOffering = Offering(u'second offering', None, None, None, None, None, []) secondInstalledOffering = InstalledOffering( store=store, application=appStore2, offeringName=secondOffering.name) # (bypass Item.__setattr__) object.__setattr__(secondInstalledOffering, 'getOffering', lambda: secondOffering) self.fragment = _OfferingsFragment(FrontPage(store=store))
def test_offeringsFragmentLoader(self): """ L{_OfferingsFragment.docFactory} is the I{front-page} template loaded from the store's ITemplateNameResolver. """ self.fakeResolver.correctName = 'front-page' frontPage = FrontPage(store=self.store) offeringsFragment = _OfferingsFragment(frontPage) self.assertIdentical(offeringsFragment.docFactory, self.correctDocumentFactory)
def test_offeringChild(self): """ Installing an offering makes its shared items accessible under a child of L{_PublicFrontPage} with the offering's name. """ frontPage = FrontPage(store=self.siteStore) resource = _PublicFrontPage(frontPage, self.webViewer) request = FakeRequest() result, segments = resource.locateChild(request, ('test_offering', )) self.assertIdentical(result.userStore, self.substore) self.assertTrue(IWebViewer.providedBy(result.webViewer))
def test_rootChild(self): """ When no default offering has been selected, L{PublicFrontPage.locateChild} returns an L{_OfferingsFragment} wrapped by the L{IWebViewer}. """ frontPage = FrontPage(store=self.siteStore) resource = _PublicFrontPage(frontPage, self.webViewer) request = FakeRequest() ctx = context.WebContext() ctx.remember(request, inevow.IRequest) result, segments = resource.locateChild(ctx, ('', )) self.assertIsInstance(result, PublicPage) self.assertIsInstance(result.fragment, _OfferingsFragment)
def test_nonExistentChild(self): """ L{_PublicFrontPage.locateChild} returns L{rend.NotFound} for a child segment which does not exist. """ store = Store() frontPage = FrontPage(store=store) resource = _PublicFrontPage(frontPage, IWebViewer(self.siteStore)) request = FakeRequest() ctx = context.WebContext() ctx.remember(request, inevow.IRequest) result = resource.locateChild(ctx, ('foo', )) self.assertIdentical(result, rend.NotFound)
def createDatabase(s): """ Create a L{FrontPage} item. """ FrontPage(store=s, publicViews=17, privateViews=42)