summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-13 10:21:59 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-13 10:21:59 +0000
commit3fd91222c6fb46bc2d5838229d7c54130619d73a (patch)
tree0de22c7b5f576e72c7feff4ce7248b9a5e382ef5 /repoze/bfg/tests
parent04376ed2f05ecac4a4d20c2780a42764c76fa4ac (diff)
downloadpyramid-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.py96
-rw-r--r--repoze/bfg/tests/test_router.py10
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])