diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-13 10:21:59 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-13 10:21:59 +0000 |
| commit | 3fd91222c6fb46bc2d5838229d7c54130619d73a (patch) | |
| tree | 0de22c7b5f576e72c7feff4ce7248b9a5e382ef5 /repoze/bfg/tests | |
| parent | 04376ed2f05ecac4a4d20c2780a42764c76fa4ac (diff) | |
| download | pyramid-3fd91222c6fb46bc2d5838229d7c54130619d73a.tar.gz pyramid-3fd91222c6fb46bc2d5838229d7c54130619d73a.tar.bz2 pyramid-3fd91222c6fb46bc2d5838229d7c54130619d73a.zip | |
Use an application-local component registry.
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_registry.py | 96 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_router.py | 10 |
2 files changed, 101 insertions, 5 deletions
diff --git a/repoze/bfg/tests/test_registry.py b/repoze/bfg/tests/test_registry.py new file mode 100644 index 000000000..11770824a --- /dev/null +++ b/repoze/bfg/tests/test_registry.py @@ -0,0 +1,96 @@ +import unittest + +from zope.component.testing import PlacelessSetup + +class TestMakeRegistry(unittest.TestCase, PlacelessSetup): + def setUp(self): + PlacelessSetup.setUp(self) + + def tearDown(self): + PlacelessSetup.tearDown(self) + + def _getFUT(self): + from repoze.bfg.registry import makeRegistry + return makeRegistry + + def test_it(self): + from repoze.bfg.tests import fixtureapp + makeRegistry = self._getFUT() + dummylock = DummyLock() + dummyregmgr = DummyRegistrationManager() + import repoze.bfg.registry + try: + old = repoze.bfg.registry.setRegistryManager(dummyregmgr) + context, registry = makeRegistry('configure.zcml', + fixtureapp, + lock=dummylock) + self.assertEqual(context.package, fixtureapp) + from zope.component.registry import Components + self.failUnless(isinstance(registry, Components)) + self.assertEqual(dummylock.acquired, True) + self.assertEqual(dummylock.released, True) + self.assertEqual(dummyregmgr.registry, registry) + finally: + repoze.bfg.registry.setRegistryManager(old) + +class TestThreadLocalRegistryManager(unittest.TestCase, PlacelessSetup): + def setUp(self): + PlacelessSetup.setUp(self) + + def tearDown(self): + PlacelessSetup.tearDown(self) + + def _getTargetClass(self): + from repoze.bfg.registry import ThreadLocalRegistryManager + return ThreadLocalRegistryManager + + def _makeOne(self): + return self._getTargetClass()() + + def test_init(self): + local = self._makeOne() + from zope.component import getGlobalSiteManager + self.assertEqual(local.registry, getGlobalSiteManager()) + + def test_set_get_and_clear(self): + local = self._makeOne() + from zope.component import getGlobalSiteManager + local.set(None) + self.failIfEqual(local.registry, getGlobalSiteManager()) + self.assertEqual(local.get(), None) + local.clear() + self.assertEqual(local.registry, getGlobalSiteManager()) + +class GetSiteManagerTests(unittest.TestCase): + def _getFUT(self): + from repoze.bfg.registry import getSiteManager + return getSiteManager + + def test_no_context(self): + gsm = self._getFUT() + from zope.component import getGlobalSiteManager + self.assertEqual(gsm(), getGlobalSiteManager()) + + def test_with_context(self): + gsm = self._getFUT() + from zope.component.interfaces import ComponentLookupError + self.assertRaises(ComponentLookupError, gsm, object) + +class DummyRegistrationManager: + registry = None + def set(self, registry): + self.registry = registry + + def get(self): + return self.registry + + def clear(self): + self.cleared = True + +class DummyLock: + def acquire(self): + self.acquired = True + + def release(self): + self.released = True + diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py index 1f884acb6..ca3cf5ade 100644 --- a/repoze/bfg/tests/test_router.py +++ b/repoze/bfg/tests/test_router.py @@ -52,7 +52,7 @@ class RouterTests(unittest.TestCase, PlacelessSetup): traversalfactory = make_traversal_factory(context, '', []) self._registerTraverserFactory(traversalfactory, '', None, None) app_context = make_appcontext() - router = self._makeOne(rootpolicy, app_context) + router = self._makeOne(rootpolicy, app_context, None) start_response = DummyStartResponse() result = router(environ, start_response) headers = start_response.headers @@ -73,7 +73,7 @@ class RouterTests(unittest.TestCase, PlacelessSetup): self._registerViewFactory(viewfactory, '', None, None) self._registerWSGIFactory(wsgifactory, '', None, None, None) app_context = make_appcontext() - router = self._makeOne(rootpolicy, app_context) + router = self._makeOne(rootpolicy, app_context, None) start_response = DummyStartResponse() result = router(environ, start_response) self.assertEqual(result, ['Hello world']) @@ -95,7 +95,7 @@ class RouterTests(unittest.TestCase, PlacelessSetup): self._registerViewFactory(viewfactory, 'foo', None, None) self._registerWSGIFactory(wsgifactory, '', None, None, None) app_context = make_appcontext() - router = self._makeOne(rootpolicy, app_context) + router = self._makeOne(rootpolicy, app_context, None) start_response = DummyStartResponse() result = router(environ, start_response) self.assertEqual(result, ['Hello world']) @@ -123,7 +123,7 @@ class RouterTests(unittest.TestCase, PlacelessSetup): self._registerViewFactory(viewfactory, '', IContext, IRequest) self._registerWSGIFactory(wsgifactory, '', None, None, None) app_context = make_appcontext() - router = self._makeOne(rootpolicy, app_context) + router = self._makeOne(rootpolicy, app_context, None) start_response = DummyStartResponse() result = router(environ, start_response) self.assertEqual(result, ['Hello world']) @@ -153,7 +153,7 @@ class RouterTests(unittest.TestCase, PlacelessSetup): self._registerViewFactory(viewfactory, '', IContext, IRequest) self._registerWSGIFactory(wsgifactory, '', None, None, None) app_context = make_appcontext() - router = self._makeOne(rootpolicy, app_context) + router = self._makeOne(rootpolicy, app_context, None) start_response = DummyStartResponse() result = router(environ, start_response) self.failUnless('404' in result[0]) |
