def test_ftp(self): from ZODB.tests.util import DB from zope.app.server.ftp import FTPRequestFactory db = DB() factory = FTPRequestFactory(db) request = factory(BytesIO(b''), {'credentials': None, 'path': '/'}) self.assertTrue(request.publication.db is db) db.close()
def setup(self): db = DB() conn = db.open() root = conn.root() root[ZopePublication.root_name] = self provideAdapter(lambda ignored: self, adapts=(None, ), provides=ISchoolToolApplication) commit() createSiteManager(self, setsite=True) initializeSchoolToolPlugins(ApplicationInitializationEvent(self)) notify(CatalogStartUpEvent(self))
def setUpRoot(test): db = DB() conn = db.open() dbroot = conn.root() dbroot['root'] = root = siteSetUp(True) transaction.commit() test.globs['root'] = root zope.component.provideAdapter(SimpleKeyReference) sm = root.getSiteManager() intids = sm['default']['intids'] = zope.intid.IntIds() sm.registerUtility(intids, zope.intid.interfaces.IIntIds)
def setup(self): db = DB() conn = db.open() root = conn.root() root[ZopePublication.root_name] = self provideAdapter( lambda ignored: self, adapts=(None,), provides=ISchoolToolApplication) commit() createSiteManager(self, setsite=True) initializeSchoolToolPlugins(ApplicationInitializationEvent(self)) notify(CatalogStartUpEvent(self))
class PersistentInterfaceTest(unittest.TestCase): def setUp(self): self.db = DB() self.root = self.db.open().root() self.registry = ManagedRegistry() self.root["registry"] = self.registry transaction.commit() def tearDown(self): transaction.abort() # just in case def test_creation(self): class IFoo(PersistentInterface): pass class Foo(object): implements(IFoo) self.assert_(IFoo.providedBy(Foo())) self.assertEqual(IFoo._p_oid, None) def test_patch(self): self.registry.newModule("imodule", code) transaction.commit() imodule = self.registry.findModule("imodule") # test for a pickling bug self.assertEqual(imodule.Foo.__implemented__, imodule.IFoo) self.assert_(imodule.IFoo.providedBy(imodule.aFoo)) # the conversion should not affect Interface self.assert_(imodule.Interface is Interface)
def setUp(self): PlacefulSetup.setUp(self) self.db = DB()
class TestBootstrapSubscriber(PlacefulSetup, unittest.TestCase): def setUp(self): PlacefulSetup.setUp(self) self.db = DB() def tearDown(self): PlacefulSetup.tearDown(self) self.db.close() def createRootFolder(self): cx = self.db.open() root = cx.root() self.root_folder = rootFolder() root[ZopePublication.root_name] = self.root_folder transaction.commit() cx.close() def createRFAndSM(self): cx = self.db.open() root = cx.root() self.root_folder = rootFolder() root[ZopePublication.root_name] = self.root_folder self.site_manager = LocalSiteManager(self.root_folder) self.root_folder.setSiteManager(self.site_manager) sub_folder = Folder() self.root_folder["sub_folder"] = sub_folder sub_site_manager = LocalSiteManager(sub_folder) sub_folder.setSiteManager(sub_site_manager) transaction.commit() cx.close() def test_notify(self): for setup in (lambda: None), self.createRootFolder, self.createRFAndSM: setup() bootStrapSubscriber(EventStub(self.db)) cx = self.db.open() root = cx.root() root_folder = root.get(ZopePublication.root_name, None) self.assert_(IRootFolder.providedBy(root_folder)) package_name = '/++etc++site/default' package = traverse(root_folder, package_name) cx.close() def test_ensureUtilityForSubSite(self): self.createRFAndSM() db, connection, root, root_folder = getInformationFromEvent( EventStub(self.db)) sub_folder = root_folder['sub_folder'] ensureUtility(sub_folder, IErrorReportingUtility, 'ErrorReporting', ErrorReportingUtility, 'ErrorReporting') # Make sure it was created on the sub folder, not the root folder got_utility = zapi.getUtility(IErrorReportingUtility, name='ErrorReporting', context=sub_folder) got_path = zapi.getPath(got_utility) self.assertEquals("/sub_folder/++etc++site/default/ErrorReporting", got_path) def test_ensureUtility(self): self.createRFAndSM() db, connection, root, root_folder = getInformationFromEvent( EventStub(self.db)) # TODO: check EventSub root_folder = self.root_folder for i in range(2): cx = self.db.open() name = ensureUtility(root_folder, IErrorReportingUtility, 'ErrorReporting', ErrorReportingUtility, 'ErrorReporting') if i == 0: self.assertEqual(name, 'ErrorReporting') else: self.assertEqual(name, None) root = cx.root() root_folder = root[ZopePublication.root_name] package_name = '/++etc++site/default' package = traverse(self.root_folder, package_name) self.assert_(IErrorReportingUtility.providedBy( traverse(package, 'ErrorReporting'))) transaction.commit() cx.close()
def setUp(self): self.db = DB()
class TestBootstrapSubscriber(unittest.TestCase): layer = layer def setUp(self): self.db = DB() def tearDown(self): transaction.abort() self.db.close() def createRootFolder(self): cx = self.db.open() root = cx.root() self.root_folder = rootFolder() root[ZopePublication.root_name] = self.root_folder transaction.commit() cx.close() def createRFAndSM(self): cx = self.db.open() root = cx.root() self.root_folder = rootFolder() root[ZopePublication.root_name] = self.root_folder self.site_manager = LocalSiteManager(self.root_folder) self.root_folder.setSiteManager(self.site_manager) sub_folder = Folder() self.root_folder["sub_folder"] = sub_folder sub_site_manager = LocalSiteManager(sub_folder) sub_folder.setSiteManager(sub_site_manager) transaction.commit() cx.close() def test_notify(self): for setup in (lambda: None), self.createRootFolder, self.createRFAndSM: setup() bootStrapSubscriber(EventStub(self.db)) cx = self.db.open() root = cx.root() root_folder = root.get(ZopePublication.root_name, None) self.assert_(IRootFolder.providedBy(root_folder)) package_name = '/++etc++site/default' package = traverse(root_folder, package_name) cx.close() def test_ensureUtilityForSubSite(self): self.createRFAndSM() db, connection, root, root_folder = getInformationFromEvent( EventStub(self.db)) sub_folder = root_folder['sub_folder'] ensureUtility(sub_folder, IErrorReportingUtility, 'ErrorReporting', ErrorReportingUtility, 'ErrorReporting') # Make sure it was created on the sub folder, not the root folder got_utility = zope.component.getUtility(IErrorReportingUtility, name='ErrorReporting', context=sub_folder) got_path = getPath(got_utility) self.assertEquals("/sub_folder/++etc++site/default/ErrorReporting", got_path) def test_ensureUtility(self): self.createRFAndSM() db, connection, root, root_folder = getInformationFromEvent( EventStub(self.db)) # TODO: check EventSub root_folder = self.root_folder for i in range(2): cx = self.db.open() utility = ensureUtility(root_folder, IErrorReportingUtility, 'ErrorReporting', ErrorReportingUtility, 'ErrorReporting') utility2 = ensureUtility(root_folder, IErrorReportingUtility, 'ErrorReporting2', ErrorReportingUtility, 'ErrorReporting2') if utility != None: name = utility.__name__ name2 = utility2.__name__ else: name = None name2 = None if i == 0: self.assertEqual(name, 'ErrorReporting') self.assertEqual(name2, 'ErrorReporting2') else: self.assertEqual(name, None) self.assertEqual(name2, None) root = cx.root() root_folder = root[ZopePublication.root_name] package_name = '/++etc++site/default' package = traverse(self.root_folder, package_name) self.assert_(IErrorReportingUtility.providedBy( traverse(package, 'ErrorReporting'))) self.assert_(IErrorReportingUtility.providedBy( traverse(package, 'ErrorReporting2'))) transaction.commit() cx.close() def test_errorReportingSetup(self): """Error reporting is set up by an event handler in this package. We test whether the event handler works. """ self.createRFAndSM() event = DatabaseOpened(self.db) # this will open and close the database by itself errorlogBootStrapSubscriber(event) # this will re-open the database db, connection, root, root_folder = getInformationFromEvent(event) got_utility = zope.component.getUtility(IErrorReportingUtility, context=root_folder) self.failUnless(IErrorReportingUtility.providedBy(got_utility)) # we need to close again in the end connection.close() def test_bootstrapSusbcriber(self): self.createRFAndSM() event = DatabaseOpened(self.db) # this will open and close the database by itself sessionBootstrapSubscriber(event) db, connection, root, root_folder = getInformationFromEvent(event) got_utility = zope.component.getUtility(IClientIdManager, context=root_folder) self.failUnless(IClientIdManager.providedBy(got_utility)) got_utility = zope.component.getUtility(ISessionDataContainer, context=root_folder) self.failUnless(ISessionDataContainer.providedBy(got_utility)) # we need to close again in the end connection.close()
def setUp(self): setup.placefulSetUp() self.db = DB()
def setUp(self): self.db = DB() self.root = self.db.open().root() self.registry = ManagedRegistry() self.root["registry"] = self.registry transaction.commit()