summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-05-27 23:22:26 +0000
committerChris McDonough <chrism@agendaless.com>2009-05-27 23:22:26 +0000
commitcf8f30c329cd76757cfe0009b0fae9f4001b4d19 (patch)
treec9ecc44e5b5d6143824a632a40e49d6061928075
parent3cba8e47394ba5c3459a752d76b1c75625aec33f (diff)
downloadpyramid-cf8f30c329cd76757cfe0009b0fae9f4001b4d19.tar.gz
pyramid-cf8f30c329cd76757cfe0009b0fae9f4001b4d19.tar.bz2
pyramid-cf8f30c329cd76757cfe0009b0fae9f4001b4d19.zip
Coverage.
-rw-r--r--repoze/bfg/registry.py9
-rw-r--r--repoze/bfg/tests/test_registry.py47
2 files changed, 52 insertions, 4 deletions
diff --git a/repoze/bfg/registry.py b/repoze/bfg/registry.py
index 1162f4197..68c27dfa4 100644
--- a/repoze/bfg/registry.py
+++ b/repoze/bfg/registry.py
@@ -90,21 +90,22 @@ def getSiteManager(context=None):
raise ComponentLookupError(*error.args)
class FakeRegistryManager(object):
+ manager = manager # for unit tests
def push(self, registry):
- return manager.push({'registry':registry, 'request':None})
+ return self.manager.push({'registry':registry, 'request':None})
set = push # b/c
def pop(self):
- result = manager.pop()
+ result = self.manager.pop()
if result:
return result['registry']
def get(self):
- return manager.get()['registry']
+ return self.manager.get()['registry']
def clear(self):
- manager.clear()
+ self.manager.clear()
# for use in scripts for backwards compatibility *only*!
registry_manager = FakeRegistryManager()
diff --git a/repoze/bfg/tests/test_registry.py b/repoze/bfg/tests/test_registry.py
index d145e7700..5a4746c23 100644
--- a/repoze/bfg/tests/test_registry.py
+++ b/repoze/bfg/tests/test_registry.py
@@ -81,10 +81,57 @@ class GetSiteManagerTests(unittest.TestCase):
def test_with_context(self):
from zope.component.interfaces import ComponentLookupError
self.assertRaises(ComponentLookupError, self._callFUT, object)
+
+class TestFakeRegistry(unittest.TestCase):
+ def _getTargetClass(self):
+ from repoze.bfg.registry import FakeRegistryManager
+ return FakeRegistryManager
+
+ def _makeOne(self):
+ manager = self._getTargetClass()()
+ manager.manager = DummyThreadLocalManager({'registry':None,
+ 'request':None})
+ return manager
+
+ def test_push(self):
+ manager = self._makeOne()
+ result = manager.push(1)
+ self.assertEqual(manager.manager.pushed, {'registry':1,
+ 'request':None})
+
+ def test_pop(self):
+ manager = self._makeOne()
+ result = manager.pop()
+ self.assertEqual(manager.manager.popped, True)
+ self.assertEqual(result, None)
+
+ def test_get(self):
+ manager = self._makeOne()
+ result = manager.get()
+ self.assertEqual(result, None)
+
+ def test_clear(self):
+ manager = self._makeOne()
+ manager.clear()
+ self.assertEqual(manager.manager.cleared, True)
+
class DummyThreadLocalManager:
def __init__(self, data):
self.data = data
+
+ def pop(self):
+ self.popped = True
+ return self.data
+
+ def push(self, data):
+ self.pushed = data
+
+ def get(self):
+ return self.data
+
+ def clear(self):
+ self.cleared = True
class DummyLock:
def acquire(self):