summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_configuration.py
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/tests/test_configuration.py')
-rw-r--r--repoze/bfg/tests/test_configuration.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_configuration.py b/repoze/bfg/tests/test_configuration.py
index 7d714f42a..520f9a5bc 100644
--- a/repoze/bfg/tests/test_configuration.py
+++ b/repoze/bfg/tests/test_configuration.py
@@ -1813,6 +1813,37 @@ class ConfiguratorTests(unittest.TestCase):
result = render_view_to_response(ctx, req, 'pod_notinit')
self.assertEqual(result, None)
+ def test_add_subscription_adapter(self):
+ config = self._makeOne()
+ def factory(abc): pass
+ config.add_subscription_adapter(factory, (IDummy,), IDummy,
+ info='info')
+ adapters = config.registry.registeredSubscriptionAdapters()
+ self.assertEqual(list(adapters)[0].factory, factory)
+
+ def test_add_adapter(self):
+ config = self._makeOne()
+ def factory(abc): return 'OK'
+ config.add_adapter(factory, (IDummy,), IDummy, name='foo',
+ info='info')
+ result = config.registry.adapters.lookup((IDummy,), IDummy, name='foo')
+ self.assertEqual(result(None), 'OK')
+
+ def test_add_utility_no_factory(self):
+ config = self._makeOne()
+ def component(): pass
+ config.add_utility(component, IDummy, name='foo', info='info')
+ result = config.registry.queryUtility(IDummy, name='foo')
+ self.assertEqual(result, component)
+
+ def test_add_utility_with_factory(self):
+ config = self._makeOne()
+ def factory(): return 'OK'
+ config.add_utility(None, IDummy, name='foo', info='info',
+ factory=factory)
+ result = config.registry.queryUtility(IDummy, name='foo')
+ self.assertEqual(result, 'OK')
+
class Test__map_view(unittest.TestCase):
def setUp(self):
from repoze.bfg.registry import Registry
@@ -2812,3 +2843,12 @@ class DummyThreadLocalManager(object):
self.pushed = d
def pop(self):
self.popped = True
+
+class IFactory(Interface):
+ pass
+
+class DummyFactory(object):
+ implements(IFactory)
+ def __call__(self):
+ """ """
+