pyramid/config/__init__.py | ●●●●● patch | view | raw | blame | history | |
pyramid/config/security.py | ●●●●● patch | view | raw | blame | history | |
pyramid/tests/test_config/test_init.py | ●●●●● patch | view | raw | blame | history | |
pyramid/tests/test_config/test_security.py | ●●●●● patch | view | raw | blame | history |
pyramid/config/__init__.py
@@ -293,11 +293,6 @@ registry.registerUtility(debug_logger, IDebugLogger) if renderers is None: for name, renderer in DEFAULT_RENDERERS: self.add_renderer(name, renderer) renderers = [] if exceptionresponse_view is not None: exceptionresponse_view = self.maybe_dotted(exceptionresponse_view) self.add_view(exceptionresponse_view, context=IExceptionResponse) @@ -326,6 +321,9 @@ if default_view_mapper is not None: self.set_view_mapper(default_view_mapper) if renderers is None: renderers = DEFAULT_RENDERERS for name, renderer in renderers: self.add_renderer(name, renderer) pyramid/config/security.py
@@ -3,6 +3,7 @@ from pyramid.interfaces import IDefaultPermission from pyramid.interfaces import PHASE1_CONFIG from pyramid.interfaces import PHASE2_CONFIG from pyramid.interfaces import PHASE3_CONFIG from pyramid.exceptions import ConfigurationError from pyramid.config.util import action_method @@ -47,9 +48,19 @@ """ def register(): self._set_authorization_policy(policy) def ensure(): if self.autocommit: return if self.registry.queryUtility(IAuthenticationPolicy) is None: raise ConfigurationError( 'Cannot configure an authorization policy without ' 'also configuring an authentication policy ' '(use the set_authorization_policy method)') # authorization policy used by view config (phase 3) and # authentication policy (phase 2) self.action(IAuthorizationPolicy, register, order=PHASE1_CONFIG) self.action(None, ensure, order=PHASE3_CONFIG) def _set_authorization_policy(self, policy): policy = self.maybe_dotted(policy) pyramid/tests/test_config/test_init.py
@@ -211,6 +211,7 @@ def test_ctor_default_permission(self): from pyramid.interfaces import IDefaultPermission config = self._makeOne(default_permission='view') config.commit() self.assertEqual(config.registry.getUtility(IDefaultPermission), 'view') def test_ctor_session_factory(self): @@ -463,6 +464,7 @@ reg = Registry() config = self._makeOne(reg) config.setup_registry(authentication_policy=policy) config.commit() result = reg.getUtility(IAuthenticationPolicy) self.assertEqual(policy, result) @@ -472,6 +474,7 @@ reg = Registry() config = self._makeOne(reg) config.setup_registry(authentication_policy='pyramid.tests') config.commit() result = reg.getUtility(IAuthenticationPolicy) import pyramid.tests self.assertEqual(result, pyramid.tests) @@ -484,6 +487,7 @@ dummy = object() config.setup_registry(authentication_policy=dummy, authorization_policy='pyramid.tests') config.commit() result = reg.getUtility(IAuthorizationPolicy) import pyramid.tests self.assertEqual(result, pyramid.tests) @@ -607,6 +611,7 @@ reg = Registry() config = self._makeOne(reg) config.setup_registry(renderers=[('yeah', renderer)]) config.commit() self.assertEqual(reg.getUtility(IRendererFactory, 'yeah'), renderer) @@ -616,6 +621,7 @@ reg = Registry() config = self._makeOne(reg) config.setup_registry(default_permission='view') config.commit() self.assertEqual(reg.getUtility(IDefaultPermission), 'view') def test_setup_registry_includes(self): @@ -2554,6 +2560,7 @@ def __call__(self, *arg, **kw): return 'moo' config.add_renderer(None, moo) config.commit() def view(request): return 'OK' result = config.derive_view(view) @@ -2572,6 +2579,7 @@ config = self._makeOne() config.add_renderer(None, moo) config.add_renderer('foo', foo) config.commit() result = config.derive_view(view, renderer='foo') self.assertFalse(result is view) request = self._makeRequest(config) pyramid/tests/test_config/test_security.py
@@ -14,12 +14,11 @@ self.assertRaises(ConfigurationExecutionError, config.commit) def test_set_authentication_policy_no_authz_policy_autocommit(self): from pyramid.interfaces import IAuthenticationPolicy from pyramid.exceptions import ConfigurationError config = self._makeOne(autocommit=True) policy = object() config.set_authentication_policy(policy) self.assertEqual( config.registry.getUtility(IAuthenticationPolicy), policy) self.assertRaises(ConfigurationError, config.set_authentication_policy, policy) def test_set_authentication_policy_with_authz_policy(self): from pyramid.interfaces import IAuthenticationPolicy @@ -53,11 +52,12 @@ self.assertRaises(ConfigurationExecutionError, config.commit) def test_set_authorization_policy_no_authn_policy_autocommit(self): from pyramid.exceptions import ConfigurationError from pyramid.interfaces import IAuthorizationPolicy config = self._makeOne(autocommit=True) policy = object() self.assertRaises(ConfigurationError, config.set_authorization_policy, policy) config.set_authorization_policy(policy) self.assertEqual( config.registry.getUtility(IAuthorizationPolicy), policy) def test_set_authorization_policy_with_authn_policy(self): from pyramid.interfaces import IAuthorizationPolicy @@ -67,6 +67,7 @@ authz_policy = object() config.registry.registerUtility(authn_policy, IAuthenticationPolicy) config.set_authorization_policy(authz_policy) config.commit() self.assertEqual( config.registry.getUtility(IAuthorizationPolicy), authz_policy)