On 4/13/10 7:03 PM, Iain Duncan wrote: > Hi, I have some custom middleware that is intended to use the same ZCA > registry as my bfg app. I've altered the run.py in the bfg app to tell > it to use the global site manager, and the middleware looks up utilities > by doing > > self.gsm = getGlobalSiteManager() > self.gsm.queryUtility etc > > This is all working fine for the app. But recently my isolated tests > stopped working. I know the environment is different now, new bfg, newer > release of zope.component, but I can't figure out how to make them work > anymore. I want the following to give me a registry populated from the > configure.zcml file in the pets packag, but instead it seems to be empty: > > def test_gsm_setup(self): > "test_gsm_setup - test that we can setup a zca registry from the model file" > import pets > xmlconfig.file('configure.zcml', package=pets) > gsm = getGlobalSiteManager() > assert sm._utility_registrations
Use the pattern from http://docs.repoze.org/bfg/1.2/narr/unittesting.html#test-set-up-and-tear-down instead, but extend it just like you did for your BFG app at startup time, e.g.: def test_gsm_setup(self): from repoze.bfg.configuration import Configurator from zope.component import getGlobalSiteManager gsm = getGlobalSiteManager() self.config.begin() self.config.load_zcml('pets:configure.zcml') self.config.end() assert gsm._utility_registrations - C _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev