def testUtilityRegistration(self): gsm = getGlobalSiteManager() global_util = dummy.DummyUtility() # Register a global utility and see if we can get it gsm.registerUtility(global_util, dummy.IDummyUtility) getutil = getUtility(dummy.IDummyUtility) self.assertEquals(getutil, global_util) # Register a local utility and see if we can get it sm = getSiteManager() local_util = dummy.DummyUtility() sm.registerUtility(local_util, dummy.IDummyUtility) getutil = getUtility(dummy.IDummyUtility) self.assertEquals(getutil, local_util) # Clean up the site again clearSite() # Without a site we get the global utility getutil = getUtility(dummy.IDummyUtility) self.assertEquals(getutil, global_util) # Clean up again and unregister the utilites gsm.unregisterUtility(provided=dummy.IDummyUtility) sm.unregisterUtility(provided=dummy.IDummyUtility) # Make sure unregistration was successful util = queryUtility(dummy.IDummyUtility) self.failUnless(util is None)
def testUtilityRegistration(self): gsm = getGlobalSiteManager() # Work around five.localsitemanger assuming the global site manager # has no bases, which is not true in the test layer. old_bases = gsm.__bases__ gsm.__bases__ = () try: global_util = dummy.DummyUtility() # Register a global utility and see if we can get it gsm.registerUtility(global_util, dummy.IDummyUtility) getutil = getUtility(dummy.IDummyUtility) self.assertEqual(getutil, global_util) # Register a local utility and see if we can get it sm = getSiteManager() local_util = dummy.DummyUtility() sm.registerUtility(local_util, dummy.IDummyUtility) getutil = getUtility(dummy.IDummyUtility) self.assertEqual(getutil, local_util) # Clean up the site again clearSite() # Without a site we get the global utility getutil = getUtility(dummy.IDummyUtility) self.assertEqual(getutil, global_util) # Clean up again and unregister the utilites gsm.unregisterUtility(provided=dummy.IDummyUtility) sm.unregisterUtility(provided=dummy.IDummyUtility) # Make sure unregistration was successful util = queryUtility(dummy.IDummyUtility) self.assertTrue(util is None) finally: gsm.__bases__ = old_bases