summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-08-06 17:52:57 -0400
committerChris McDonough <chrism@plope.com>2011-08-06 17:52:57 -0400
commit46adcd6bd42318bea3c84bc8d86e3395d6d026d9 (patch)
tree8d5f90af1152f78ddd593e979ce447829ec67e0b
parentdccaa2ff3dec57a1166ad10b545336b227a1f9d7 (diff)
downloadpyramid-46adcd6bd42318bea3c84bc8d86e3395d6d026d9.tar.gz
pyramid-46adcd6bd42318bea3c84bc8d86e3395d6d026d9.tar.bz2
pyramid-46adcd6bd42318bea3c84bc8d86e3395d6d026d9.zip
tests for add_tween
-rw-r--r--pyramid/config.py3
-rw-r--r--pyramid/router.py6
-rw-r--r--pyramid/tests/test_config.py58
3 files changed, 34 insertions, 33 deletions
diff --git a/pyramid/config.py b/pyramid/config.py
index b8382e6a7..33e9db6a1 100644
--- a/pyramid/config.py
+++ b/pyramid/config.py
@@ -736,8 +736,7 @@ class Configurator(object):
# add a handler manager
tweens = Tweens()
registry.registerUtility(tweens, ITweens)
- self._add_tween('pyramid.router.exc_view_tween_factory',
- explicit=False)
+ self._add_tween('pyramid.router.excview_tween_factory', explicit=False)
if debug_logger is None:
debug_logger = logging.getLogger(self.package_name)
diff --git a/pyramid/router.py b/pyramid/router.py
index 8cac733fb..dcf828377 100644
--- a/pyramid/router.py
+++ b/pyramid/router.py
@@ -41,8 +41,8 @@ class Router(object):
self.request_factory = q(IRequestFactory, default=Request)
tweens = q(ITweens)
if tweens is None:
- self.handle_request = exc_view_tween_factory(self.handle_request,
- registry)
+ self.handle_request = excview_tween_factory(self.handle_request,
+ registry)
else:
self.handle_request = tweens(self.handle_request, registry)
@@ -190,7 +190,7 @@ class Router(object):
finally:
manager.pop()
-def exc_view_tween_factory(handler, registry):
+def excview_tween_factory(handler, registry):
has_listeners = registry.has_listeners
adapters = registry.adapters
notify = registry.notify
diff --git a/pyramid/tests/test_config.py b/pyramid/tests/test_config.py
index 3e4895277..7bf0e632f 100644
--- a/pyramid/tests/test_config.py
+++ b/pyramid/tests/test_config.py
@@ -616,6 +616,7 @@ pyramid.tests.test_config.dummy_include2""",
def test_add_tweens_names_distinct(self):
from pyramid.interfaces import ITweens
+ from pyramid.router import excview_tween_factory
def factory1(handler, registry): return handler
def factory2(handler, registry): return handler
config = self._makeOne()
@@ -623,34 +624,33 @@ pyramid.tests.test_config.dummy_include2""",
config.add_tween(factory2)
config.commit()
tweens = config.registry.queryUtility(ITweens)
- self.assertEqual(tweens.implicit, None)
-
- ## def test_add_request_handlers_dottednames(self):
- ## import pyramid.tests
- ## from pyramid.interfaces import IRequestHandlerFactories
- ## from pyramid.interfaces import IRequestHandlerFactory
- ## config = self._makeOne()
- ## config.add_request_handler('pyramid.tests', 'name1')
- ## config.commit()
- ## names = config.registry.queryUtility(IRequestHandlerFactories)
- ## self.assertEqual(names, ['name1'])
- ## f1 = config.registry.getUtility(IRequestHandlerFactory, name='name1')
- ## self.assertEqual(f1, pyramid.tests)
-
- ## def test_add_request_handlers_names_overlap(self):
- ## from pyramid.interfaces import IRequestHandlerFactories
- ## from pyramid.interfaces import IRequestHandlerFactory
- ## def factory1(handler, registry): return handler
- ## def factory2(handler, registry): return handler
- ## def factory3(handler, registry): return handler
- ## config = self._makeOne(autocommit=True)
- ## config.add_request_handler(factory1, 'name1')
- ## config.add_request_handler(factory2, 'name2')
- ## config.add_request_handler(factory3, 'name1')
- ## names = config.registry.queryUtility(IRequestHandlerFactories)
- ## self.assertEqual(names, ['name1', 'name2', 'name1'])
- ## f3 = config.registry.getUtility(IRequestHandlerFactory, name='name1')
- ## self.assertEqual(f3, factory3)
+ self.assertEqual(
+ tweens.implicit,
+ [('pyramid.router.excview_tween_factory', excview_tween_factory),
+ ('pyramid.tests.test_config.factory1', factory1),
+ ('pyramid.tests.test_config.factory2', factory2)])
+
+ def test_add_tween_dottedname(self):
+ from pyramid.interfaces import ITweens
+ from pyramid.router import excview_tween_factory
+ config = self._makeOne()
+ config.add_tween('pyramid.tests.test_config.dummy_tween_factory')
+ config.commit()
+ tweens = config.registry.queryUtility(ITweens)
+ self.assertEqual(
+ tweens.implicit,
+ [
+ ('pyramid.router.excview_tween_factory', excview_tween_factory),
+ ('pyramid.tests.test_config.dummy_tween_factory',
+ dummy_tween_factory)
+ ])
+
+ def test_add_tweens_conflict(self):
+ from zope.configuration.config import ConfigurationConflictError
+ config = self._makeOne()
+ config.add_tween('pyramid.tests.test_config.dummy_tween_factory')
+ config.add_tween('pyramid.tests.test_config.dummy_tween_factory')
+ self.assertRaises(ConfigurationConflictError, config.commit)
def test_add_subscriber_defaults(self):
from zope.interface import implements
@@ -5660,3 +5660,5 @@ from pyramid.interfaces import IResponse
class DummyResponse(object):
implements(IResponse)
+def dummy_tween_factory(handler, registry):
+ pass