diff options
| -rw-r--r-- | CHANGES.txt | 4 | ||||
| -rw-r--r-- | pyramid/configuration.py | 55 | ||||
| -rw-r--r-- | pyramid/tests/test_configuration.py | 484 | ||||
| -rw-r--r-- | pyramid/tests/test_testing.py | 1 | ||||
| -rw-r--r-- | pyramid/tests/test_zcml.py | 18 |
5 files changed, 227 insertions, 335 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index dddfecaf7..aa4c07d7b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,7 +3,9 @@ Twophase branch - ``pyramid.configuration.Config`` was added. It has the same API as the old ``Configurator`` which it means to replace, except by default it is a - *non-autocommitting* configurator. It also has a new API method named + *non-autocommitting* configurator, unlike + ``pyramid.configuration.Configurator``, which will autocommit every time a + configuration method is called. It also has a new API method named ``with_context`` (a classmethod). - ``pyramid.configuration.Configurator`` is now deprecated. Use diff --git a/pyramid/configuration.py b/pyramid/configuration.py index 597b23a3e..33a02e1b7 100644 --- a/pyramid/configuration.py +++ b/pyramid/configuration.py @@ -107,8 +107,8 @@ if chameleon_zpt: def config_method(wrapped): def wrapper(self, *arg, **kw): context = self._ctx - if not context.autocommit: - if not context.info: + if context is not None: + if (not context.autocommit) and (not context.info): # Try to provide more accurate info for conflict reports by # wrapping the context in a decorator and attaching caller info # to it, unless the context already has info (if it already has @@ -123,9 +123,8 @@ def config_method(wrapped): newctx.info = info self._ctx = newctx result = wrapped(self, *arg, **kw) - self._ctx = context - if self._ctx.autocommit: - self.commit() + if context is not None: + self._ctx = context return result wrapper.__doc__ = wrapped.__doc__ wrapper.__name__ = wrapped.__name__ @@ -242,6 +241,7 @@ class Config(object): manager = manager # for testing injection venusian = venusian # for testing injection + _ctx = None def __init__(self, registry=None, @@ -266,11 +266,10 @@ class Config(object): self.package_name = name_resolver.package_name self.package = name_resolver.package self.registry = registry - self._ctx = self._make_context(autocommit) + self.autocommit = autocommit if registry is None: registry = Registry(self.package_name) self.registry = registry - self._ctx.registry = registry self.setup_registry( settings=settings, root_factory=root_factory, @@ -289,7 +288,13 @@ class Config(object): """ Register an action which will be executed during a commit. """ if kw is None: kw = {} - self._ctx.action(discriminator, callable, args, kw, order) + if self.autocommit: + if callable is not None: + callable(*args, **kw) + else: + if self._ctx is None: + self._ctx = self._make_context(self.autocommit) + self._ctx.action(discriminator, callable, args, kw, order) def _set_settings(self, mapping): settings = Settings(mapping or {}) @@ -410,25 +415,31 @@ class Config(object): def commit(self): """ Commit pending configuration actions. """ + if self._ctx is None: + return self._ctx.execute_actions() - # reset the context - self._ctx = self._make_context(self._ctx.autocommit) + # unwrap and reset the context + self._ctx = None @classmethod def with_context(cls, context): """ Used by ZCML directives to obtain a configurator with 'the right' context """ - configurator = cls(registry=context.registry, package=context.package) + configurator = cls(registry=context.registry, package=context.package, + autocommit=context.autocommit) configurator._ctx = context return configurator - def with_package(self, package, _ctx=None): + def with_package(self, package): """ Return a new Configurator instance with the same registry as this configurator using the package supplied as the ``package`` argument to the new configurator. ``package`` may be an actual Python package object or a Python dotted name representing a package.""" - context = GroupingContextDecorator(self._ctx) + context = self._ctx + if context is None: + context = self._ctx = self._make_context(self.autocommit) + context = GroupingContextDecorator(context) context.package = package return self.__class__.with_context(context) @@ -735,11 +746,14 @@ class Config(object): registry = self.registry self.manager.push({'registry':registry, 'request':None}) context = self._ctx + if context is None: + context = self._ctx = self._make_context(self.autocommit) lock.acquire() try: context.package = package - xmlconfig.file(filename, package, context=context, execute=False) + xmlconfig.file(filename, package, context=context, + execute=self.autocommit) finally: lock.release() self.manager.pop() @@ -768,6 +782,8 @@ class Config(object): sourcefiles.append((sourcefile, func, module)) _context = self._ctx + if _context is None: + _context = self._ctx = self._make_context(self.autocommit) for filename, func, module in sourcefiles: spec = module.__name__ + ':' + func.__name__ @@ -2279,6 +2295,7 @@ class Configurator(Config): default_permission=None, session_factory=None, autocommit=True, + context=None, ): if package is None: package = caller_package() @@ -2297,7 +2314,8 @@ class Configurator(Config): renderer_globals_factory=renderer_globals_factory, default_permission=default_permission, session_factory=session_factory, - autocommit=autocommit + autocommit=autocommit, + context=context, ) deprecated( @@ -2952,3 +2970,10 @@ class PyramidConfigurationMachine(ConfigurationMachine): self._seen_files.add(spec) return True +def context_base(context): + while 1: + newcontext = getattr(context, 'context', None) + if newcontext is None: + return context + context = newcontext + diff --git a/pyramid/tests/test_configuration.py b/pyramid/tests/test_configuration.py index 3bdf4a831..1e3f74a7e 100644 --- a/pyramid/tests/test_configuration.py +++ b/pyramid/tests/test_configuration.py @@ -253,13 +253,11 @@ class ConfigTests(unittest.TestCase): pass reg = DummyRegistry() config = self._makeOne(reg) - old_ctx = config._ctx config.add_view = lambda *arg, **kw: False config.setup_registry() self.assertEqual(reg.has_listeners, True) self.assertEqual(reg.notify(1), None) self.assertEqual(reg.events, (1,)) - self.failIf(old_ctx is config._ctx) def test_setup_registry_registers_default_exceptionresponse_view(self): from pyramid.interfaces import IExceptionResponse @@ -269,13 +267,11 @@ class ConfigTests(unittest.TestCase): pass reg = DummyRegistry() config = self._makeOne(reg) - old_ctx = config._ctx views = [] config.add_view = lambda *arg, **kw: views.append((arg, kw)) config.setup_registry() self.assertEqual(views[0], ((default_exceptionresponse_view,), {'context':IExceptionResponse})) - self.failIf(old_ctx is config._ctx) def test_setup_registry_explicit_notfound_trumps_iexceptionresponse(self): from zope.interface import implementedBy @@ -283,12 +279,11 @@ class ConfigTests(unittest.TestCase): from pyramid.exceptions import NotFound from pyramid.registry import Registry reg = Registry() - config = self._makeOne(reg) + config = self._makeOne(reg, autocommit=True) config.setup_registry() # registers IExceptionResponse default view def myview(context, request): return 'OK' config.add_view(myview, context=NotFound) - config.commit() request = self._makeRequest(config) view = self._getViewCallable(config, ctx_iface=implementedBy(NotFound), request_iface=IRequest) @@ -515,9 +510,8 @@ class ConfigTests(unittest.TestCase): L = [] def subscriber(event): L.append(event) - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_subscriber(subscriber) - config.commit() event = Event() config.registry.notify(event) self.assertEqual(len(L), 1) @@ -535,9 +529,8 @@ class ConfigTests(unittest.TestCase): L = [] def subscriber(event): L.append(event) - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_subscriber(subscriber, IEvent) - config.commit() event = Event() config.registry.notify(event) self.assertEqual(len(L), 1) @@ -548,10 +541,9 @@ class ConfigTests(unittest.TestCase): def test_add_subscriber_dottednames(self): import pyramid.tests from pyramid.interfaces import INewRequest - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_subscriber('pyramid.tests', 'pyramid.interfaces.INewRequest') - config.commit() handlers = list(config.registry.registeredHandlers()) self.assertEqual(len(handlers), 1) handler = handlers[0] @@ -570,9 +562,8 @@ class ConfigTests(unittest.TestCase): L = [] def subscriber(object, event): L.append(event) - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_subscriber(subscriber, (Interface, IEvent)) - config.commit() config.registry.subscribers((event.object, event), None) self.assertEqual(len(L), 1) self.assertEqual(L[0], event) @@ -596,59 +587,57 @@ class ConfigTests(unittest.TestCase): def test_load_zcml_default(self): import pyramid.tests.fixtureapp - config = self._makeOne(package=pyramid.tests.fixtureapp) + config = self._makeOne(package=pyramid.tests.fixtureapp, + autocommit=True) registry = config.load_zcml() - config.commit() from pyramid.tests.fixtureapp.models import IFixture self.failUnless(registry.queryUtility(IFixture)) # only in c.zcml def test_load_zcml_routesapp(self): from pyramid.interfaces import IRoutesMapper - config = self._makeOne() + config = self._makeOne(autocommit=True) config.load_zcml('pyramid.tests.routesapp:configure.zcml') - config.commit() self.failUnless(config.registry.getUtility(IRoutesMapper)) def test_load_zcml_fixtureapp(self): from pyramid.tests.fixtureapp.models import IFixture - config = self._makeOne() + config = self._makeOne(autocommit=True) config.load_zcml('pyramid.tests.fixtureapp:configure.zcml') - config.commit() self.failUnless(config.registry.queryUtility(IFixture)) # only in c.zcml def test_load_zcml_as_relative_filename(self): import pyramid.tests.fixtureapp - config = self._makeOne(package=pyramid.tests.fixtureapp) + config = self._makeOne(package=pyramid.tests.fixtureapp, + autocommit=True) registry = config.load_zcml('configure.zcml') - config.commit() from pyramid.tests.fixtureapp.models import IFixture self.failUnless(registry.queryUtility(IFixture)) # only in c.zcml def test_load_zcml_as_absolute_filename(self): import os import pyramid.tests.fixtureapp - config = self._makeOne(package=pyramid.tests.fixtureapp) + config = self._makeOne(package=pyramid.tests.fixtureapp, + autocommit=True) dn = os.path.dirname(pyramid.tests.fixtureapp.__file__) c_z = os.path.join(dn, 'configure.zcml') registry = config.load_zcml(c_z) - config.commit() from pyramid.tests.fixtureapp.models import IFixture self.failUnless(registry.queryUtility(IFixture)) # only in c.zcml def test_load_zcml_lock_and_unlock(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) dummylock = DummyLock() config.load_zcml( 'pyramid.tests.fixtureapp:configure.zcml', lock=dummylock) - config.commit() self.assertEqual(dummylock.acquired, True) self.assertEqual(dummylock.released, True) def test_include_with_dotted_name(self): from pyramid import tests config = self._makeOne() - context_before = config._ctx + context_before = config._make_context() + config._ctx = context_before config.include('pyramid.tests.test_configuration.dummy_include') context_after = config._ctx actions = context_after.actions @@ -664,7 +653,8 @@ class ConfigTests(unittest.TestCase): def test_include_with_python_callable(self): from pyramid import tests config = self._makeOne() - context_before = config._ctx + context_before = config._make_context() + config._ctx = context_before config.include(dummy_include) context_after = config._ctx actions = context_after.actions @@ -679,12 +669,12 @@ class ConfigTests(unittest.TestCase): def test_add_view_view_callable_None_no_renderer(self): from pyramid.exceptions import ConfigurationError - config = self._makeOne() + config = self._makeOne(autocommit=True) self.assertRaises(ConfigurationError, config.add_view) def test_add_view_with_request_type_and_route_name(self): from pyramid.exceptions import ConfigurationError - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: 'OK' self.assertRaises(ConfigurationError, config.add_view, view, '', None, None, True, True) @@ -693,10 +683,9 @@ class ConfigTests(unittest.TestCase): from zope.interface import directlyProvides from pyramid.interfaces import IRequest view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, request_type='pyramid.interfaces.IRequest') - config.commit() wrapper = self._getViewCallable(config) request = DummyRequest() self._assertNotFound(wrapper, None, request) @@ -705,36 +694,32 @@ class ConfigTests(unittest.TestCase): self.assertEqual(result, 'OK') def test_add_view_view_callable_None_with_renderer(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) self._registerRenderer(config, name='dummy') config.add_view(renderer='dummy') - config.commit() view = self._getViewCallable(config) self.failUnless('Hello!' in view(None, None).body) def test_add_view_wrapped_view_is_decorated(self): def view(request): # request-only wrapper """ """ - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) self.assertEqual(wrapper.__module__, view.__module__) self.assertEqual(wrapper.__name__, view.__name__) self.assertEqual(wrapper.__doc__, view.__doc__) def test_add_view_view_callable_dottedname(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view='pyramid.tests.test_configuration.dummy_view') - config.commit() wrapper = self._getViewCallable(config) self.assertEqual(wrapper(None, None), 'OK') def test_add_view_with_function_callable(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) result = wrapper(None, None) self.assertEqual(result, 'OK') @@ -742,9 +727,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_function_callable_requestonly(self): def view(request): return 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) result = wrapper(None, None) self.assertEqual(result, 'OK') @@ -755,9 +739,8 @@ class ConfigTests(unittest.TestCase): """ """ return 'OK' view = AView() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) result = wrapper(None, None) self.assertEqual(result, 'OK') @@ -768,9 +751,8 @@ class ConfigTests(unittest.TestCase): """ """ return 'OK' view = AView() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) result = wrapper(None, None) self.assertEqual(result, 'OK') @@ -783,9 +765,8 @@ class ConfigTests(unittest.TestCase): def __call__(self): return 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) result = wrapper(None, None) self.assertEqual(result, 'OK') @@ -797,9 +778,8 @@ class ConfigTests(unittest.TestCase): def __call__(self): return 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) result = wrapper(None, None) self.assertEqual(result, 'OK') @@ -809,36 +789,32 @@ class ConfigTests(unittest.TestCase): view = lambda *arg: 'OK' class Foo: pass - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(context=Foo, view=view) - config.commit() foo = implementedBy(Foo) wrapper = self._getViewCallable(config, foo) self.assertEqual(wrapper, view) def test_add_view_context_as_iface(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(context=IDummy, view=view) - config.commit() wrapper = self._getViewCallable(config, IDummy) self.assertEqual(wrapper, view) def test_add_view_context_as_dottedname(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(context='pyramid.tests.test_configuration.IDummy', view=view) - config.commit() wrapper = self._getViewCallable(config, IDummy) self.assertEqual(wrapper, view) def test_add_view_for__as_dottedname(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(for_='pyramid.tests.test_configuration.IDummy', view=view) - config.commit() wrapper = self._getViewCallable(config, IDummy) self.assertEqual(wrapper, view) @@ -848,9 +824,8 @@ class ConfigTests(unittest.TestCase): view = lambda *arg: 'OK' class Foo: pass - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(for_=Foo, view=view) - config.commit() foo = implementedBy(Foo) wrapper = self._getViewCallable(config, foo) self.assertEqual(wrapper, view) @@ -858,20 +833,18 @@ class ConfigTests(unittest.TestCase): def test_add_view_for_as_iface(self): # ``for_`` is older spelling for ``context`` view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(for_=IDummy, view=view) - config.commit() wrapper = self._getViewCallable(config, IDummy) self.assertEqual(wrapper, view) def test_add_view_context_trumps_for(self): # ``for_`` is older spelling for ``context`` view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) class Foo: pass config.add_view(context=IDummy, for_=Foo, view=view) - config.commit() wrapper = self._getViewCallable(config, IDummy) self.assertEqual(wrapper, view) @@ -882,9 +855,8 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IViewClassifier view = lambda *arg: 'OK' view.__call_permissive__ = view - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view) - config.commit() wrapper = config.registry.adapters.lookup( (IViewClassifier, IRequest, Interface), ISecuredView, name='', default=None) @@ -897,9 +869,8 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IExceptionViewClassifier view = lambda *arg: 'OK' view.__call_permissive__ = view - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, context=RuntimeError) - config.commit() wrapper = config.registry.adapters.lookup( (IExceptionViewClassifier, IRequest, implementedBy(RuntimeError)), IView, name='', default=None) @@ -916,13 +887,12 @@ class ConfigTests(unittest.TestCase): phash.update('xhr:True') view = lambda *arg: 'NOT OK' view.__phash__ = phash.hexdigest() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Interface), IView, name='') def newview(context, request): return 'OK' config.add_view(view=newview, xhr=True) - config.commit() wrapper = self._getViewCallable(config) self.failIf(IMultiView.providedBy(wrapper)) request = DummyRequest() @@ -940,16 +910,14 @@ class ConfigTests(unittest.TestCase): phash.update('xhr:True') view = lambda *arg: 'NOT OK' view.__phash__ = phash.hexdigest() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IExceptionViewClassifier, IRequest, implementedBy(RuntimeError)), IView, name='') def newview(context, request): return 'OK' - config.add_view(view=newview, xhr=True, - context=RuntimeError) - config.commit() + config.add_view(view=newview, xhr=True, context=RuntimeError) wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), exception_view=True) self.failIf(IMultiView.providedBy(wrapper)) @@ -964,13 +932,12 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IViewClassifier from pyramid.interfaces import IMultiView view = lambda *arg: 'NOT OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Interface), IView, name='') def newview(context, request): return 'OK' config.add_view(view=newview) - config.commit() wrapper = self._getViewCallable(config) self.failIf(IMultiView.providedBy(wrapper)) request = DummyRequest() @@ -984,7 +951,7 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IExceptionViewClassifier from pyramid.interfaces import IMultiView view = lambda *arg: 'NOT OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IExceptionViewClassifier, IRequest, implementedBy(RuntimeError)), @@ -992,7 +959,6 @@ class ConfigTests(unittest.TestCase): def newview(context, request): return 'OK' config.add_view(view=newview, context=RuntimeError) - config.commit() wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), exception_view=True) self.failIf(IMultiView.providedBy(wrapper)) @@ -1009,13 +975,12 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IMultiView view = lambda *arg: 'NOT OK' view.__phash__ = DEFAULT_PHASH - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Interface), IView, name='') def newview(context, request): return 'OK' config.add_view(view=newview) - config.commit() wrapper = self._getViewCallable(config) self.failIf(IMultiView.providedBy(wrapper)) request = DummyRequest() @@ -1031,7 +996,7 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IMultiView view = lambda *arg: 'NOT OK' view.__phash__ = DEFAULT_PHASH - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IExceptionViewClassifier, IRequest, implementedBy(RuntimeError)), @@ -1039,7 +1004,6 @@ class ConfigTests(unittest.TestCase): def newview(context, request): return 'OK' config.add_view(view=newview, context=RuntimeError) - config.commit() wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), exception_view=True) self.failIf(IMultiView.providedBy(wrapper)) @@ -1055,11 +1019,10 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IMultiView view = lambda *arg: 'OK' view.__phash__ = 'abc' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Interface), IView, name='') config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) self.failUnless(IMultiView.providedBy(wrapper)) self.assertEqual(wrapper(None, None), 'OK') @@ -1073,7 +1036,7 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IMultiView view = lambda *arg: 'OK' view.__phash__ = 'abc' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, implementedBy(RuntimeError)), @@ -1083,7 +1046,6 @@ class ConfigTests(unittest.TestCase): (IExceptionViewClassifier, IRequest, implementedBy(RuntimeError)), IView, name='') config.add_view(view=view, context=RuntimeError) - config.commit() wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), exception_view=True) self.failUnless(IMultiView.providedBy(wrapper)) @@ -1097,12 +1059,11 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IViewClassifier view = lambda *arg: 'OK' view.__phash__ = 'abc' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Interface), ISecuredView, name='') config.add_view(view=view) - config.commit() wrapper = self._getViewCallable(config) self.failUnless(IMultiView.providedBy(wrapper)) self.assertEqual(wrapper(None, None), 'OK') @@ -1116,7 +1077,7 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IExceptionViewClassifier view = lambda *arg: 'OK' view.__phash__ = 'abc' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, implementedBy(RuntimeError)), @@ -1126,7 +1087,6 @@ class ConfigTests(unittest.TestCase): (IExceptionViewClassifier, IRequest, implementedBy(RuntimeError)), ISecuredView, name='') config.add_view(view=view, context=RuntimeError) - config.commit() wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), exception_view=True) self.failUnless(IMultiView.providedBy(wrapper)) @@ -1142,11 +1102,10 @@ class ConfigTests(unittest.TestCase): return 'OK' def view2(context, request): return 'OK2' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Interface), IView, name='') config.add_view(view=view2, accept='text/html') - config.commit() wrapper = self._getViewCallable(config) self.failUnless(IMultiView.providedBy(wrapper)) self.assertEqual(len(wrapper.views), 1) @@ -1167,7 +1126,7 @@ class ConfigTests(unittest.TestCase): return 'OK' def view2(context, request): return 'OK2' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, implementedBy(RuntimeError)), @@ -1177,7 +1136,6 @@ class ConfigTests(unittest.TestCase): (IExceptionViewClassifier, IRequest, implementedBy(RuntimeError)), IView, name='') config.add_view(view=view2, accept='text/html', context=RuntimeError) - config.commit() wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), exception_view=True) self.failUnless(IMultiView.providedBy(wrapper)) @@ -1200,11 +1158,10 @@ class ConfigTests(unittest.TestCase): return 'OK2' view.__accept__ = 'text/html' view.__phash__ = 'abc' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Interface), IView, name='') config.add_view(view=view2) - config.commit() wrapper = self._getViewCallable(config) self.failUnless(IMultiView.providedBy(wrapper)) self.assertEqual(len(wrapper.views), 1) @@ -1227,7 +1184,7 @@ class ConfigTests(unittest.TestCase): return 'OK2' view.__accept__ = 'text/html' view.__phash__ = 'abc' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, implementedBy(RuntimeError)), @@ -1237,7 +1194,6 @@ class ConfigTests(unittest.TestCase): (IExceptionViewClassifier, IRequest, implementedBy(RuntimeError)), IView, name='') config.add_view(view=view2, context=RuntimeError) - config.commit() wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), exception_view=True) self.failUnless(IMultiView.providedBy(wrapper)) @@ -1254,13 +1210,12 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IMultiView from pyramid.interfaces import IViewClassifier view = DummyMultiView() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Interface), IMultiView, name='') view2 = lambda *arg: 'OK2' config.add_view(view=view2) - config.commit() wrapper = self._getViewCallable(config) self.failUnless(IMultiView.providedBy(wrapper)) self.assertEqual([x[:2] for x in wrapper.views], [(view2, None)]) @@ -1273,7 +1228,7 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IViewClassifier from pyramid.interfaces import IExceptionViewClassifier view = DummyMultiView() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, implementedBy(RuntimeError)), @@ -1284,7 +1239,6 @@ class ConfigTests(unittest.TestCase): IMultiView, name='') view2 = lambda *arg: 'OK2' config.add_view(view=view2, context=RuntimeError) - config.commit() wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), exception_view=True) self.failUnless(IMultiView.providedBy(wrapper)) @@ -1303,11 +1257,10 @@ class ConfigTests(unittest.TestCase): pass view = lambda *arg: 'OK' view2 = lambda *arg: 'OK2' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, ISuper), IView, name='') config.add_view(view=view2, for_=ISub) - config.commit() wrapper = self._getViewCallable(config, ISuper, IRequest) self.failIf(IMultiView.providedBy(wrapper)) self.assertEqual(wrapper(None, None), 'OK') @@ -1328,13 +1281,12 @@ class ConfigTests(unittest.TestCase): pass view = lambda *arg: 'OK' view2 = lambda *arg: 'OK2' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerAdapter( view, (IViewClassifier, IRequest, Super), IView, name='') config.registry.registerAdapter( view, (IExceptionViewClassifier, IRequest, Super), IView, name='') config.add_view(view=view2, for_=Sub) - config.commit() wrapper = self._getViewCallable( config, implementedBy(Super), IRequest) wrapper_exc_view = self._getViewCallable( @@ -1360,7 +1312,7 @@ class ConfigTests(unittest.TestCase): def view6(context, request): return 'view6' def view7(context, request): return 'view7' def view8(context, request): return 'view8' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view1) config.add_view(view=view2, request_method='POST') config.add_view(view=view3,request_param='param') @@ -1371,7 +1323,6 @@ class ConfigTests(unittest.TestCase): config.add_view(view=view8, request_method='POST',request_param='param', containment=IDummy) - config.commit() wrapper = self._getViewCallable(config) @@ -1437,11 +1388,10 @@ class ConfigTests(unittest.TestCase): def __call__(self): return {'a':'1'} - config = self._makeOne() + config = self._makeOne(autocommit=True) renderer = self._registerRenderer(config) fixture = 'pyramid.tests:fixtures/minimal.txt' config.add_view(view=view, renderer=fixture) - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) result = wrapper(None, request) @@ -1457,11 +1407,10 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_template_renderer_no_callable(self): import pyramid.tests from pyramid.interfaces import ISettings - config = self._makeOne() + config = self._makeOne(autocommit=True) renderer = self._registerRenderer(config) fixture = 'pyramid.tests:fixtures/minimal.txt' config.add_view(view=None, renderer=fixture) - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) result = wrapper(None, request) @@ -1478,9 +1427,8 @@ class ConfigTests(unittest.TestCase): from zope.interface import directlyProvides def view(context, request): return 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(request_type=IDummy, view=view) - config.commit() wrapper = self._getViewCallable(config, None) request = self._makeRequest(config) directlyProvides(request, IDummy) @@ -1497,9 +1445,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_route_name(self): from zope.component import ComponentLookupError view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, route_name='foo') - config.commit() self.assertEqual(len(config.registry.deferred_route_views), 1) infos = config.registry.deferred_route_views['foo'] self.assertEqual(len(infos), 1) @@ -1511,7 +1458,6 @@ class ConfigTests(unittest.TestCase): wrapper = self._getViewCallable(config, None) self.assertEqual(wrapper, None) config.add_route('foo', '/a/b') - config.commit() request_iface = self._getRouteRequestIface(config, 'foo') self.failIfEqual(request_iface, None) wrapper = self._getViewCallable(config, request_iface=request_iface) @@ -1520,9 +1466,8 @@ class ConfigTests(unittest.TestCase): def test_deferred_route_views_retains_custom_predicates(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, route_name='foo', custom_predicates=('123',)) - config.commit() self.assertEqual(len(config.registry.deferred_route_views), 1) infos = config.registry.deferred_route_views['foo'] self.assertEqual(len(infos), 1) @@ -1534,9 +1479,8 @@ class ConfigTests(unittest.TestCase): from zope.interface import implementedBy from zope.component import ComponentLookupError view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, route_name='foo', context=RuntimeError) - config.commit() self.assertEqual(len(config.registry.deferred_route_views), 1) infos = config.registry.deferred_route_views['foo'] self.assertEqual(len(infos), 1) @@ -1550,7 +1494,6 @@ class ConfigTests(unittest.TestCase): exception_view=True) self.assertEqual(wrapper_exc_view, None) config.add_route('foo', '/a/b') - config.commit() request_iface = self._getRouteRequestIface(config, 'foo') self.failIfEqual(request_iface, None) wrapper_exc_view = self._getViewCallable( @@ -1565,9 +1508,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_request_method_true(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, request_method='POST') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.method = 'POST' @@ -1575,9 +1517,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_request_method_false(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, request_method='POST') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.method = 'GET' @@ -1585,9 +1526,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_request_param_noval_true(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, request_param='abc') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.params = {'abc':''} @@ -1595,9 +1535,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_request_param_noval_false(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, request_param='abc') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.params = {} @@ -1605,9 +1544,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_request_param_val_true(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, request_param='abc=123') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.params = {'abc':'123'} @@ -1615,9 +1553,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_request_param_val_false(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, request_param='abc=123') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.params = {'abc':''} @@ -1625,9 +1562,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_xhr_true(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, xhr=True) - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.is_xhr = True @@ -1635,9 +1571,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_xhr_false(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, xhr=True) - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.is_xhr = False @@ -1652,9 +1587,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_header_noval_match(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, header='Host') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.headers = {'Host':'whatever'} @@ -1662,9 +1596,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_header_noval_nomatch(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, header='Host') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.headers = {'NotHost':'whatever'} @@ -1672,9 +1605,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_header_val_match(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, header=r'Host:\d') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.headers = {'Host':'1'} @@ -1682,9 +1614,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_header_val_nomatch(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, header=r'Host:\d') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.headers = {'Host':'abc'} @@ -1693,9 +1624,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_header_val_missing(self): from pyramid.exceptions import NotFound view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, header=r'Host:\d') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.headers = {'NoHost':'1'} @@ -1703,9 +1633,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_accept_match(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, accept='text/xml') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.accept = ['text/xml'] @@ -1713,9 +1642,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_accept_nomatch(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, accept='text/xml') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.accept = ['text/html'] @@ -1724,9 +1652,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_containment_true(self): from zope.interface import directlyProvides view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, containment=IDummy) - config.commit() wrapper = self._getViewCallable(config) context = DummyContext() directlyProvides(context, IDummy) @@ -1734,9 +1661,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_containment_false(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, containment=IDummy) - config.commit() wrapper = self._getViewCallable(config) context = DummyContext() self._assertNotFound(wrapper, context, None) @@ -1744,11 +1670,10 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_containment_dottedname(self): from zope.interface import directlyProvides view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view( view=view, containment='pyramid.tests.test_configuration.IDummy') - config.commit() wrapper = self._getViewCallable(config) context = DummyContext() directlyProvides(context, IDummy) @@ -1763,9 +1688,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_path_info_match(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, path_info='/foo') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.path_info = '/foo' @@ -1773,9 +1697,8 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_path_info_nomatch(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, path_info='/foo') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.path_info = '/' @@ -1783,28 +1706,26 @@ class ConfigTests(unittest.TestCase): def test_add_view_with_custom_predicates_match(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) def pred1(context, request): return True def pred2(context, request): return True predicates = (pred1, pred2) config.add_view(view=view, custom_predicates=predicates) - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) self.assertEqual(wrapper(None, request), 'OK') def test_add_view_with_custom_predicates_nomatch(self): view = lambda *arg: 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) def pred1(context, request): return True def pred2(context, request): return False predicates = (pred1, pred2) config.add_view(view=view, custom_predicates=predicates) - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) self._assertNotFound(wrapper, None, request) @@ -1812,12 +1733,11 @@ class ConfigTests(unittest.TestCase): def test_add_view_custom_predicate_bests_standard_predicate(self): view = lambda *arg: 'OK' view2 = lambda *arg: 'NOT OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) def pred1(context, request): return True config.add_view(view=view, custom_predicates=(pred1,)) config.add_view(view=view2, request_method='GET') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.method = 'GET' @@ -1826,10 +1746,9 @@ class ConfigTests(unittest.TestCase): def test_add_view_custom_more_preds_first_bests_fewer_preds_last(self): view = lambda *arg: 'OK' view2 = lambda *arg: 'NOT OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_view(view=view, request_method='GET', xhr=True) config.add_view(view=view2, request_method='GET') - config.commit() wrapper = self._getViewCallable(config) request = self._makeRequest(config) request.method = 'GET' @@ -1859,9 +1778,9 @@ class ConfigTests(unittest.TestCase): return True policy = DummyPolicy() config = self._makeOne(authorization_policy=policy, - authentication_policy=policy) + authentication_policy=policy, + autocommit=True) config.add_view(view=view1, permission='view') - config.commit() view = self._getViewCallable(config) request = self._makeRequest(config) self.assertEqual(view(None, request), 'OK') @@ -1881,9 +1800,9 @@ class ConfigTests(unittest.TestCase): policy = DummyPolicy() config = self._makeOne(authorization_policy=policy, authentication_policy=policy, - default_permission='view') + default_permission='view', + autocommit=True) config.add_view(view=view1) - config.commit() view = self._getViewCallable(config) request = self._makeRequest(config) self.assertEqual(view(None, request), 'OK') @@ -1893,21 +1812,20 @@ class ConfigTests(unittest.TestCase): class DummyPolicy(object): pass # wont be called policy = DummyPolicy() config = self._makeOne(authorization_policy=policy, - authentication_policy=policy) + authentication_policy=policy, + autocommit=True) config.add_view(view=view1) - config.commit() view = self._getViewCallable(config) request = self._makeRequest(config) self.assertEqual(view(None, request), 'OK') def test_add_handler_action_in_route_pattern(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) views = [] def dummy_add_view(**kw): views.append(kw) config.add_view = dummy_add_view config.add_handler('name', '/:action', DummyHandler) - config.commit() self._assertRoute(config, 'name', '/:action', 0) self.assertEqual(len(views), 2) @@ -1936,7 +1854,7 @@ class ConfigTests(unittest.TestCase): self.assertEqual(view['view'], DummyHandler) def test_add_handler_with_view_overridden_autoexpose_None(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) views = [] def dummy_add_view(**kw): views.append(kw) # pragma: no cover @@ -1944,7 +1862,6 @@ class ConfigTests(unittest.TestCase): class MyView(DummyHandler): __autoexpose__ = None config.add_handler('name', '/:action', MyView) - config.commit() self._assertRoute(config, 'name', '/:action', 0) self.assertEqual(len(views), 0) @@ -1971,7 +1888,7 @@ class ConfigTests(unittest.TestCase): 'name', '/{action}', MyView) def test_add_handler_with_view_method_has_expose_config(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) views = [] def dummy_add_view(**kw): views.append(kw) @@ -1981,7 +1898,6 @@ class ConfigTests(unittest.TestCase): return 'response' action.__exposed__ = [{'custom_predicates':(1,)}] config.add_handler('name', '/:action', MyView) - config.commit() self._assertRoute(config, 'name', '/:action', 0) self.assertEqual(len(views), 1) view = views[0] @@ -1992,7 +1908,7 @@ class ConfigTests(unittest.TestCase): self.assertEqual(view['view'], MyView) def test_add_handler_with_view_method_has_expose_config_with_action(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) views = [] def dummy_add_view(**kw): views.append(kw) @@ -2002,7 +1918,6 @@ class ConfigTests(unittest.TestCase): return 'response' action.__exposed__ = [{'name':'action3000'}] config.add_handler('name', '/:action', MyView) - config.commit() self._assertRoute(config, 'name', '/:action', 0) self.assertEqual(len(views), 1) view = views[0] @@ -2019,7 +1934,7 @@ class ConfigTests(unittest.TestCase): def test_add_handler_with_view_method_has_expose_config_with_action_regex( self): - config = self._makeOne() + config = self._makeOne(autocommit=True) views = [] def dummy_add_view(**kw): views.append(kw) @@ -2029,7 +1944,6 @@ class ConfigTests(unittest.TestCase): return 'response' action.__exposed__ = [{'name':'^action3000$'}] config.add_handler('name', '/:action', MyView) - config.commit() self._assertRoute(config, 'name', '/:action', 0) self.assertEqual(len(views), 1) view = views[0] @@ -2045,7 +1959,7 @@ class ConfigTests(unittest.TestCase): self.assertEqual(view['view'], MyView) def test_add_handler_doesnt_mutate_expose_dict(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) views = [] def dummy_add_view(**kw): views.append(kw) @@ -2056,7 +1970,6 @@ class ConfigTests(unittest.TestCase): return 'response' action.__exposed__ = exposed config.add_handler('name', '/{action}', MyView) - config.commit() self.assertEqual(exposed[0], {'name':'^action3000$'}) # not mutated def test_add_handler_with_action_and_action_in_path(self): @@ -2066,7 +1979,7 @@ class ConfigTests(unittest.TestCase): 'name', '/{action}', DummyHandler, action='abc') def test_add_handler_with_explicit_action(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) class DummyHandler(object): def index(self): pass index.__exposed__ = [{'a':'1'}] @@ -2075,7 +1988,6 @@ class ConfigTests(unittest.TestCase): views.append(kw) config.add_view = dummy_add_view config.add_handler('name', '/abc', DummyHandler, action='index') - config.commit() self.assertEqual(len(views), 1) view = views[0] self.assertEqual(view['a'], '1') @@ -2084,7 +1996,7 @@ class ConfigTests(unittest.TestCase): self.assertEqual(view['view'], DummyHandler) def test_add_handler_with_implicit_action(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) class DummyHandler(object): def __call__(self): pass __call__.__exposed__ = [{'a':'1'}] @@ -2093,7 +2005,6 @@ class ConfigTests(unittest.TestCase): views.append(kw) config.add_view = dummy_add_view config.add_handler('name', '/abc', DummyHandler) - config.commit() self.assertEqual(len(views), 1) view = views[0] self.assertEqual(view['a'], '1') @@ -2102,7 +2013,7 @@ class ConfigTests(unittest.TestCase): self.assertEqual(view['view'], DummyHandler) def test_add_handler_with_multiple_action(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) class DummyHandler(object): def index(self): pass def create(self): pass @@ -2112,7 +2023,6 @@ class ConfigTests(unittest.TestCase): views.append(kw) config.add_view = dummy_add_view config.add_handler('name', '/abc', DummyHandler, action='index') - config.commit() self.assertEqual(len(views), 2) view = views[0] self.assertEqual(view['attr'], 'create') @@ -2124,12 +2034,11 @@ class ConfigTests(unittest.TestCase): def test_add_handler_string(self): import pyramid views = [] - config = self._makeOne() + config = self._makeOne(autocommit=True) def dummy_add_view(**kw): views.append(kw) config.add_view = dummy_add_view config.add_handler('name', '/abc', 'pyramid') - config.commit() self.assertEqual(len(views), 1) view = views[0] self.assertEqual(view['view'], pyramid) @@ -2142,7 +2051,7 @@ class ConfigTests(unittest.TestCase): def test_add_handler_pattern_None_with_previous_route(self): import pyramid - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_route('name', ':def') views = [] def dummy_add_view(**kw): @@ -2150,7 +2059,6 @@ class ConfigTests(unittest.TestCase): config.add_view = dummy_add_view config.add_route = None # shouldn't be called config.add_handler('name', None, 'pyramid') - config.commit() self.assertEqual(len(views), 1) view = views[0] self.assertEqual(view['view'], pyramid) @@ -2181,31 +2089,27 @@ class ConfigTests(unittest.TestCase): self.assertEqual(result, mapper) def test_add_route_defaults(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) route = config.add_route('name', 'path') - config.commit() self._assertRoute(config, 'name', 'path') self.assertEqual(route.name, 'name') def test_add_route_with_factory(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) factory = object() route = config.add_route('name', 'path', factory=factory) - config.commit() self.assertEqual(route.factory, factory) def test_add_route_with_factory_dottedname(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) route = config.add_route( 'name', 'path', factory='pyramid.tests.test_configuration.dummyfactory') - config.commit() self.assertEqual(route.factory, dummyfactory) def test_add_route_with_xhr(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_route('name', 'path', xhr=True) - config.commit() route = self._assertRoute(config, 'name', 'path', 1) predicate = route.predicates[0] request = self._makeRequest(config) @@ -2216,9 +2120,8 @@ class ConfigTests(unittest.TestCase): self.assertEqual(predicate(None, request), False) def test_add_route_with_request_method(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_route('name', 'path', request_method='GET') - config.commit() route = self._assertRoute(config, 'name', 'path', 1) predicate = route.predicates[0] request = self._makeRequest(config) @@ -2229,9 +2132,8 @@ class ConfigTests(unittest.TestCase): self.assertEqual(predicate(None, request), False) def test_add_route_with_path_info(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_route('name', 'path', path_info='/foo') - config.commit() route = self._assertRoute(config, 'name', 'path', 1) predicate = route.predicates[0] request = self._makeRequest(config) @@ -2242,9 +2144,8 @@ class ConfigTests(unittest.TestCase): self.assertEqual(predicate(None, request), False) def test_add_route_with_request_param(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_route('name', 'path', request_param='abc') - config.commit() route = self._assertRoute(config, 'name', 'path', 1) predicate = route.predicates[0] request = self._makeRequest(config) @@ -2255,18 +2156,16 @@ class ConfigTests(unittest.TestCase): self.assertEqual(predicate(None, request), False) def test_add_route_with_custom_predicates(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) def pred1(context, request): pass def pred2(context, request): pass config.add_route('name', 'path', custom_predicates=(pred1, pred2)) - config.commit() route = self._assertRoute(config, 'name', 'path', 2) self.assertEqual(route.predicates, [pred1, pred2]) def test_add_route_with_header(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_route('name', 'path', header='Host') - config.commit() route = self._assertRoute(config, 'name', 'path', 1) predicate = route.predicates[0] request = self._makeRequest(config) @@ -2277,9 +2176,8 @@ class ConfigTests(unittest.TestCase): self.assertEqual(predicate(None, request), False) def test_add_route_with_accept(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_route('name', 'path', accept='text/xml') - config.commit() route = self._assertRoute(config, 'name', 'path', 1) predicate = route.predicates[0] request = self._makeRequest(config) @@ -2290,20 +2188,18 @@ class ConfigTests(unittest.TestCase): self.assertEqual(predicate(None, request), False) def test_add_route_with_view(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view) - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, None, request_type) self.assertEqual(wrapper(None, None), 'OK') self._assertRoute(config, 'name', 'path') def test_add_route_with_view_context(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view, view_context=IDummy) - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, IDummy, request_type) self.assertEqual(wrapper(None, None), 'OK') @@ -2313,10 +2209,9 @@ class ConfigTests(unittest.TestCase): def test_add_route_with_view_exception(self): from zope.interface import implementedBy - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view, view_context=RuntimeError) - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable( config, ctx_iface=implementedBy(RuntimeError), @@ -2329,10 +2224,9 @@ class ConfigTests(unittest.TestCase): self.assertEqual(wrapper, None) def test_add_route_with_view_for(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view, view_for=IDummy) - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, IDummy, request_type) self.assertEqual(wrapper(None, None), 'OK') @@ -2341,10 +2235,9 @@ class ConfigTests(unittest.TestCase): self.assertEqual(wrapper, None) def test_add_route_with_for_(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view, for_=IDummy) - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, IDummy, request_type) self.assertEqual(wrapper(None, None), 'OK') @@ -2353,19 +2246,18 @@ class ConfigTests(unittest.TestCase): self.assertEqual(wrapper, None) def test_add_route_with_view_renderer(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) self._registerRenderer(config) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view, view_renderer='fixtures/minimal.txt') - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, None, request_type) self._assertRoute(config, 'name', 'path') self.assertEqual(wrapper(None, None).body, 'Hello!') def test_add_route_with_view_attr(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) self._registerRenderer(config) class View(object): def __init__(self, context, request): @@ -2373,19 +2265,17 @@ class ConfigTests(unittest.TestCase): def alt(self): return 'OK' config.add_route('name', 'path', view=View, view_attr='alt') - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, None, request_type) self._assertRoute(config, 'name', 'path') self.assertEqual(wrapper(None, None), 'OK') def test_add_route_with_view_renderer_alias(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) self._registerRenderer(config) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view, renderer='fixtures/minimal.txt') - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, None, request_type) self._assertRoute(config, 'name', 'path') @@ -2394,13 +2284,12 @@ class ConfigTests(unittest.TestCase): def test_add_route_with_view_permission(self): from pyramid.interfaces import IAuthenticationPolicy from pyramid.interfaces import IAuthorizationPolicy - config = self._makeOne() + config = self._makeOne(autocommit=True) policy = lambda *arg: None config.registry.registerUtility(policy, IAuthenticationPolicy) config.registry.registerUtility(policy, IAuthorizationPolicy) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view, view_permission='edit') - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, None, request_type) self._assertRoute(config, 'name', 'path') @@ -2409,22 +2298,20 @@ class ConfigTests(unittest.TestCase): def test_add_route_with_view_permission_alias(self): from pyramid.interfaces import IAuthenticationPolicy from pyramid.interfaces import IAuthorizationPolicy - config = self._makeOne() + config = self._makeOne(autocommit=True) policy = lambda *arg: None config.registry.registerUtility(policy, IAuthenticationPolicy) config.registry.registerUtility(policy, IAuthorizationPolicy) view = lambda *arg: 'OK' config.add_route('name', 'path', view=view, permission='edit') - config.commit() request_type = self._getRouteRequestIface(config, 'name') wrapper = self._getViewCallable(config, None, request_type) self._assertRoute(config, 'name', 'path') self.failUnless(hasattr(wrapper, '__call_permissive__')) def test_add_route_no_pattern_with_path(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) route = config.add_route('name', path='path') - config.commit() self._assertRoute(config, 'name', 'path') self.assertEqual(route.name, 'name') @@ -2434,9 +2321,8 @@ class ConfigTests(unittest.TestCase): self.assertRaises(ConfigurationError, config.add_route, 'name') def test_add_route_with_pregenerator(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) route = config.add_route('name', 'pattern', pregenerator='123') - config.commit() self.assertEqual(route.pregenerator, '123') def test__override_not_yet_registered(self): @@ -2470,9 +2356,8 @@ class ConfigTests(unittest.TestCase): from pyramid.static import StaticURLInfo from pyramid.interfaces import IView from pyramid.interfaces import IViewClassifier - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_static_view('static', 'fixtures/static') - config.commit() request_type = self._getRouteRequestIface(config, 'static/') route = self._assertRoute(config, 'static/', 'static/*subpath') self.assertEqual(route.factory.__class__, type(lambda x: x)) @@ -2485,20 +2370,18 @@ class ConfigTests(unittest.TestCase): def test_add_static_view_package_relative(self): from pyramid.interfaces import IStaticURLInfo info = DummyStaticURLInfo() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerUtility(info, IStaticURLInfo) config.add_static_view('static', 'pyramid.tests:fixtures/static') - config.commit() self.assertEqual(info.added, [('static', 'pyramid.tests:fixtures/static', {})]) def test_add_static_view_package_here_relative(self): from pyramid.interfaces import IStaticURLInfo info = DummyStaticURLInfo() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerUtility(info, IStaticURLInfo) config.add_static_view('static', 'fixtures/static') - config.commit() self.assertEqual(info.added, [('static', 'pyramid.tests:fixtures/static', {})]) @@ -2506,12 +2389,11 @@ class ConfigTests(unittest.TestCase): import os from pyramid.interfaces import IStaticURLInfo info = DummyStaticURLInfo() - config = self._makeOne() + config = self._makeOne(autocommit=True) config.registry.registerUtility(info, IStaticURLInfo) here = os.path.dirname(__file__) static_path = os.path.join(here, 'fixtures', 'static') config.add_static_view('static', static_path) - config.commit() self.assertEqual(info.added, [('static', static_path, {})]) @@ -2519,10 +2401,9 @@ class ConfigTests(unittest.TestCase): from zope.interface import implementedBy from pyramid.interfaces import IRequest from pyramid.exceptions import NotFound - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: arg config.set_notfound_view(view) - config.commit() request = self._makeRequest(config) view = self._getViewCallable(config, ctx_iface=implementedBy(NotFound), request_iface=IRequest) @@ -2533,10 +2414,9 @@ class ConfigTests(unittest.TestCase): from zope.interface import implementedBy from pyramid.interfaces import IRequest from pyramid.exceptions import NotFound - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: arg config.set_notfound_view(view) - config.commit() request = self._makeRequest(config) request.context = 'abc' view = self._getViewCallable(config, ctx_iface=implementedBy(NotFound), @@ -2548,10 +2428,9 @@ class ConfigTests(unittest.TestCase): from zope.interface import implementedBy from pyramid.interfaces import IRequest from pyramid.exceptions import Forbidden - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: 'OK' config.set_forbidden_view(view) - config.commit() request = self._makeRequest(config) view = self._getViewCallable(config, ctx_iface=implementedBy(Forbidden), request_iface=IRequest) @@ -2562,10 +2441,9 @@ class ConfigTests(unittest.TestCase): from zope.interface import implementedBy from pyramid.interfaces import IRequest from pyramid.exceptions import Forbidden - config = self._makeOne() + config = self._makeOne(autocommit=True) view = lambda *arg: arg config.set_forbidden_view(view) - config.commit() request = self._makeRequest(config) request.context = 'abc' view = self._getViewCallable(config, ctx_iface=implementedBy(Forbidden), @@ -2575,88 +2453,78 @@ class ConfigTests(unittest.TestCase): def test__set_authentication_policy(self): from pyramid.interfaces import IAuthenticationPolicy - config = self._makeOne() + config = self._makeOne(autocommit=True) policy = object() config._set_authentication_policy(policy) - config.commit() self.assertEqual( config.registry.getUtility(IAuthenticationPolicy), policy) def test__set_authorization_policy(self): from pyramid.interfaces import IAuthorizationPolicy - config = self._makeOne() + config = self._makeOne(autocommit=True) policy = object() config._set_authorization_policy(policy) - config.commit() self.assertEqual( config.registry.getUtility(IAuthorizationPolicy), policy) def test_set_locale_negotiator(self): from pyramid.interfaces import ILocaleNegotiator - config = self._makeOne() + config = self._makeOne(autocommit=True) def negotiator(request): pass config.set_locale_negotiator(negotiator) - config.commit() self.assertEqual(config.registry.getUtility(ILocaleNegotiator), negotiator) def test_set_locale_negotiator_dottedname(self): from pyramid.interfaces import ILocaleNegotiator - config = self._makeOne() + config = self._makeOne(autocommit=True) config.set_locale_negotiator( 'pyramid.tests.test_configuration.dummyfactory') - config.commit() self.assertEqual(config.registry.getUtility(ILocaleNegotiator), dummyfactory) def test_set_request_factory(self): from pyramid.interfaces import IRequestFactory - config = self._makeOne() + config = self._makeOne(autocommit=True) factory = object() config.set_request_factory(factory) - config.commit() self.assertEqual(config.registry.getUtility(IRequestFactory), factory) def test_set_request_factory_dottedname(self): from pyramid.interfaces import IRequestFactory - config = self._makeOne() + config = self._makeOne(autocommit=True) config.set_request_factory( 'pyramid.tests.test_configuration.dummyfactory') - config.commit() self.assertEqual(config.registry.getUtility(IRequestFactory), dummyfactory) def test_set_renderer_globals_factory(self): from pyramid.interfaces import IRendererGlobalsFactory - config = self._makeOne() + config = self._makeOne(autocommit=True) factory = object() config.set_renderer_globals_factory(factory) - config.commit() self.assertEqual(config.registry.getUtility(IRendererGlobalsFactory), factory) def test_set_renderer_globals_factory_dottedname(self): from pyramid.interfaces import IRendererGlobalsFactory - config = self._makeOne() + config = self._makeOne(autocommit=True) config.set_renderer_globals_factory( 'pyramid.tests.test_configuration.dummyfactory') - config.commit() self.assertEqual(config.registry.getUtility(IRendererGlobalsFactory), dummyfactory) def test_set_default_permission(self): from pyramid.interfaces import IDefaultPermission - config = self._makeOne() + config = self._makeOne(autocommit=True) config.set_default_permission('view') - config.commit() self.assertEqual(config.registry.getUtility(IDefaultPermission), 'view') def test_set_session_factory(self): from pyramid.interfaces import ISessionFactory - config = self._makeOne() + config = self._makeOne(autocommit=True) config.set_session_factory('factory') - config.commit() self.assertEqual(config.registry.getUtility(ISessionFactory), 'factory') @@ -2670,9 +2538,8 @@ class ConfigTests(unittest.TestCase): def test_add_translation_dirs_resource_spec(self): import os from pyramid.interfaces import ITranslationDirectories - config = self._makeOne() + config = self._makeOne(autocommit=True) config.add_translation_dirs('pyramid.tests.localeapp:locale') - config.commit() here = os.path.dirname(__file__) locale = os.path.join(here, 'localeapp', 'locale') self.assertEqual(config.registry.getUtility(ITranslationDirectories), @@ -2682,11 +2549,10 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IChameleonTranslate from pyramid.threadlocal import manager request = DummyRequest() - config = self._makeOne() + config = self._makeOne(autocommit=True) manager.push({'request':request, 'registry':config.registry}) try: config.add_translation_dirs('pyramid.tests.localeapp:locale') - config.commit() translate = config.registry.getUtility(IChameleonTranslate) self.assertEqual(translate('Approve'), u'Approve') finally: @@ -2695,11 +2561,10 @@ class ConfigTests(unittest.TestCase): def test_add_translation_dirs_abspath(self): import os from pyramid.interfaces import ITranslationDirectories - config = self._makeOne() + config = self._makeOne(autocommit=True) here = os.path.dirname(__file__) locale = os.path.join(here, 'localeapp', 'locale') config.add_translation_dirs(locale) - config.commit() self.assertEqual(config.registry.getUtility(ITranslationDirectories), [locale]) @@ -2721,14 +2586,13 @@ class ConfigTests(unittest.TestCase): def test_derive_view_with_renderer(self): def view(request): return 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) class moo(object): def __init__(self, *arg, **kw): pass def __call__(self, *arg, **kw): return 'moo' config.add_renderer('moo', moo) - config.commit() result = config.derive_view(view, renderer='moo') self.failIf(result is view) self.assertEqual(result(None, None).body, 'moo') @@ -2736,14 +2600,13 @@ class ConfigTests(unittest.TestCase): def test_derive_view_with_default_renderer_no_explicit_renderer(self): def view(request): return 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) class moo(object): def __init__(self, *arg, **kw): pass def __call__(self, *arg, **kw): return 'moo' config.add_renderer(None, moo) - config.commit() result = config.derive_view(view) self.failIf(result is view) self.assertEqual(result(None, None).body, 'moo') @@ -2751,7 +2614,7 @@ class ConfigTests(unittest.TestCase): def test_derive_view_with_default_renderer_with_explicit_renderer(self): def view(request): return 'OK' - config = self._makeOne() + config = self._makeOne(autocommit=True) class moo(object): pass class foo(object): def __init__(self, *arg, **kw): @@ -2760,7 +2623,6 @@ class ConfigTests(unittest.TestCase): return 'foo' config.add_renderer(None, moo) config.add_renderer('foo', foo) - config.commit() result = config.derive_view(view, renderer='foo') self.failIf(result is view) self.assertEqual(result(None, None).body, 'foo') @@ -3122,13 +2984,12 @@ class ConfigTests(unittest.TestCase): 'a:foo.pt', 'a:foo/') def test_override_resource_success(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) override = DummyUnderOverride() config.override_resource( 'pyramid.tests.fixtureapp:templates/foo.pt', 'pyramid.tests.fixtureapp.subpackage:templates/bar.pt', _override=override) - config.commit() from pyramid.tests import fixtureapp from pyramid.tests.fixtureapp import subpackage self.assertEqual(override.package, fixtureapp) @@ -3138,19 +2999,17 @@ class ConfigTests(unittest.TestCase): def test_add_renderer(self): from pyramid.interfaces import IRendererFactory - config = self._makeOne() + config = self._makeOne(autocommit=True) renderer = object() config.add_renderer('name', renderer) - config.commit() self.assertEqual(config.registry.getUtility(IRendererFactory, 'name'), renderer) def test_add_renderer_dottedname_factory(self): from pyramid.interfaces import IRendererFactory - config = self._makeOne() + config = self._makeOne(autocommit=True) import pyramid.tests config.add_renderer('name', 'pyramid.tests') - config.commit() self.assertEqual(config.registry.getUtility(IRendererFactory, 'name'), pyramid.tests) @@ -3160,9 +3019,8 @@ class ConfigTests(unittest.TestCase): from pyramid.interfaces import IRequest from pyramid.view import render_view_to_response import pyramid.tests.grokkedapp as package - config = self._makeOne() + config = self._makeOne(autocommit=True) config.scan(package) - config.commit() ctx = DummyContext() req = DummyRequest() @@ -3263,9 +3121,8 @@ class ConfigTests(unittest.TestCase): from zope.interface import alsoProvides from pyramid.interfaces import IRequest from pyramid.view import render_view_to_response - config = self._makeOne() + config = self._makeOne(autocommit=True) config.scan('pyramid.tests.grokkedapp') - config.commit() ctx = DummyContext() req = DummyRequest() @@ -3278,10 +3135,9 @@ class ConfigTests(unittest.TestCase): def test_testing_securitypolicy(self): from pyramid.testing import DummySecurityPolicy - config = self._makeOne() + config = self._makeOne(autocommit=True) config.testing_securitypolicy('user', ('group1', 'group2'), permissive=False) - config.commit() from pyramid.interfaces import IAuthenticationPolicy from pyramid.interfaces import IAuthorizationPolicy ut = config.registry.getUtility(IAuthenticationPolicy) @@ -3297,9 +3153,8 @@ class ConfigTests(unittest.TestCase): ob1 = object() ob2 = object() models = {'/ob1':ob1, '/ob2':ob2} - config = self._makeOne() + config = self._makeOne(autocommit=True) config.testing_models(models) - config.commit() adapter = config.registry.getAdapter(None, ITraverser) result = adapter({'PATH_INFO':'/ob1'}) self.assertEqual(result['context'], ob1) @@ -3323,9 +3178,8 @@ class ConfigTests(unittest.TestCase): config.end() def test_testing_add_subscriber_single(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) L = config.testing_add_subscriber(IDummy) - config.commit() event = DummyEvent() config.registry.notify(event) self.assertEqual(len(L), 1) @@ -3334,10 +3188,9 @@ class ConfigTests(unittest.TestCase): self.assertEqual(len(L), 1) def test_testing_add_subscriber_dottedname(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) L = config.testing_add_subscriber( 'pyramid.tests.test_configuration.IDummy') - config.commit() event = DummyEvent() config.registry.notify(event) self.assertEqual(len(L), 1) @@ -3346,9 +3199,8 @@ class ConfigTests(unittest.TestCase): self.assertEqual(len(L), 1) def test_testing_add_subscriber_multiple(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) L = config.testing_add_subscriber((Interface, IDummy)) - config.commit() event = DummyEvent() event.object = 'foo' # the below is the equivalent of z.c.event.objectEventNotify(event) @@ -3358,9 +3210,8 @@ class ConfigTests(unittest.TestCase): self.assertEqual(L[1], event) def test_testing_add_subscriber_defaults(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) L = config.testing_add_subscriber() - config.commit() event = object() config.registry.notify(event) self.assertEqual(L[-1], event) @@ -3382,9 +3233,8 @@ class ConfigTests(unittest.TestCase): self.assertEqual(gsm.unhooked, True) def test_testing_add_renderer(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) renderer = config.testing_add_renderer('templates/foo.pt') - config.commit() from pyramid.testing import DummyTemplateRenderer self.failUnless(isinstance(renderer, DummyTemplateRenderer)) from pyramid.renderers import render_to_response @@ -3398,13 +3248,12 @@ class ConfigTests(unittest.TestCase): renderer.assert_(request=request) def test_testing_add_renderer_explicitrenderer(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) class E(Exception): pass def renderer(kw, system): self.assertEqual(kw, {'foo':1, 'bar':2}) raise E renderer = config.testing_add_renderer('templates/foo.pt', renderer) - config.commit() from pyramid.renderers import render_to_response # must provide request to pass in registry (this is a functest) request = DummyRequest() @@ -3418,9 +3267,8 @@ class ConfigTests(unittest.TestCase): raise AssertionError def test_testing_add_template(self): - config = self._makeOne() + config = self._makeOne(autocommit=True) renderer = config.testing_add_template('templates/foo.pt') - config.commit() from pyramid.testing import DummyTemplateRenderer self.failUnless(isinstance(renderer, DummyTemplateRenderer)) from pyramid.renderers import render_to_response diff --git a/pyramid/tests/test_testing.py b/pyramid/tests/test_testing.py index e701a08c0..40513be81 100644 --- a/pyramid/tests/test_testing.py +++ b/pyramid/tests/test_testing.py @@ -7,7 +7,6 @@ class TestBase(unittest.TestCase): from pyramid.registry import Registry manager.clear() registry = Registry('testing') - registry.autocommit = True self.registry = registry manager.push({'registry':registry, 'request':None}) from zope.deprecation import __show__ diff --git a/pyramid/tests/test_zcml.py b/pyramid/tests/test_zcml.py index f66f9f96c..a5aea32ec 100644 --- a/pyramid/tests/test_zcml.py +++ b/pyramid/tests/test_zcml.py @@ -12,6 +12,7 @@ from zope.interface import implements class TestViewDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -118,6 +119,7 @@ class TestViewDirective(unittest.TestCase): class TestNotFoundDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -186,6 +188,7 @@ class TestNotFoundDirective(unittest.TestCase): class TestForbiddenDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -254,6 +257,7 @@ class TestForbiddenDirective(unittest.TestCase): class TestRepozeWho1AuthenticationPolicyDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -297,6 +301,7 @@ class TestRepozeWho1AuthenticationPolicyDirective(unittest.TestCase): class TestRemoteUserAuthenticationPolicyDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -342,6 +347,7 @@ class TestRemoteUserAuthenticationPolicyDirective(unittest.TestCase): class TestAuthTktAuthenticationPolicyDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -403,6 +409,7 @@ class TestAuthTktAuthenticationPolicyDirective(unittest.TestCase): class TestACLAuthorizationPolicyDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -431,6 +438,7 @@ class TestACLAuthorizationPolicyDirective(unittest.TestCase): class TestRouteDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -634,6 +642,7 @@ class TestRouteDirective(unittest.TestCase): class TestStaticDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -729,6 +738,7 @@ class TestStaticDirective(unittest.TestCase): class TestResourceDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -758,6 +768,7 @@ class TestResourceDirective(unittest.TestCase): class TestRendererDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -831,6 +842,7 @@ class TestZCMLConfigure(unittest.TestCase): class TestZCMLScanDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -854,6 +866,7 @@ class TestZCMLScanDirective(unittest.TestCase): class TestAdapterDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -945,6 +958,7 @@ class TestAdapterDirective(unittest.TestCase): class TestSubscriberDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -1023,6 +1037,7 @@ class TestSubscriberDirective(unittest.TestCase): class TestUtilityDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -1070,6 +1085,7 @@ class TestUtilityDirective(unittest.TestCase): class TestTranslationDirDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -1092,6 +1108,7 @@ class TestTranslationDirDirective(unittest.TestCase): class TestLocaleNegotiatorDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() @@ -1117,6 +1134,7 @@ class TestLocaleNegotiatorDirective(unittest.TestCase): class TestDefaultPermissionDirective(unittest.TestCase): def setUp(self): self.config = testing.setUp(autocommit=False) + self.config._ctx = self.config._make_context() def tearDown(self): testing.tearDown() |
