summaryrefslogtreecommitdiff
path: root/tests/test_config/test_security.py
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2019-09-30 22:23:02 -0500
committerGitHub <noreply@github.com>2019-09-30 22:23:02 -0500
commit849463d3c2f5ad2c89b3d10a2abce63e4892082d (patch)
tree5bc507d427d8d2000c59ad7837cc03099decf1b5 /tests/test_config/test_security.py
parentada0a977d9190520c21ffaf9500860db2f3a1b3e (diff)
parentcdb26610782176955cd8cfb0b3c3e242ca819f74 (diff)
downloadpyramid-849463d3c2f5ad2c89b3d10a2abce63e4892082d.tar.gz
pyramid-849463d3c2f5ad2c89b3d10a2abce63e4892082d.tar.bz2
pyramid-849463d3c2f5ad2c89b3d10a2abce63e4892082d.zip
Merge pull request #3465 from luhn/security-policy
Security policy implementation
Diffstat (limited to 'tests/test_config/test_security.py')
-rw-r--r--tests/test_config/test_security.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/test_config/test_security.py b/tests/test_config/test_security.py
index 6257960b8..0ae199239 100644
--- a/tests/test_config/test_security.py
+++ b/tests/test_config/test_security.py
@@ -11,6 +11,28 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase):
config = Configurator(*arg, **kw)
return config
+ def test_set_security_policy(self):
+ from pyramid.interfaces import ISecurityPolicy
+
+ config = self._makeOne()
+ policy = object()
+ config.set_security_policy(policy)
+ config.commit()
+ self.assertEqual(config.registry.getUtility(ISecurityPolicy), policy)
+
+ def test_set_authentication_policy_with_security_policy(self):
+ from pyramid.interfaces import IAuthorizationPolicy
+ from pyramid.interfaces import ISecurityPolicy
+
+ config = self._makeOne()
+ security_policy = object()
+ authn_policy = object()
+ authz_policy = object()
+ config.registry.registerUtility(security_policy, ISecurityPolicy)
+ config.registry.registerUtility(authz_policy, IAuthorizationPolicy)
+ config.set_authentication_policy(authn_policy)
+ self.assertRaises(ConfigurationError, config.commit)
+
def test_set_authentication_policy_no_authz_policy(self):
config = self._makeOne()
policy = object()
@@ -27,6 +49,8 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase):
def test_set_authentication_policy_with_authz_policy(self):
from pyramid.interfaces import IAuthenticationPolicy
from pyramid.interfaces import IAuthorizationPolicy
+ from pyramid.interfaces import ISecurityPolicy
+ from pyramid.security import LegacySecurityPolicy
config = self._makeOne()
authn_policy = object()
@@ -37,10 +61,15 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase):
self.assertEqual(
config.registry.getUtility(IAuthenticationPolicy), authn_policy
)
+ self.assertIsInstance(
+ config.registry.getUtility(ISecurityPolicy), LegacySecurityPolicy
+ )
def test_set_authentication_policy_with_authz_policy_autocommit(self):
from pyramid.interfaces import IAuthenticationPolicy
from pyramid.interfaces import IAuthorizationPolicy
+ from pyramid.interfaces import ISecurityPolicy
+ from pyramid.security import LegacySecurityPolicy
config = self._makeOne(autocommit=True)
authn_policy = object()
@@ -51,6 +80,9 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase):
self.assertEqual(
config.registry.getUtility(IAuthenticationPolicy), authn_policy
)
+ self.assertIsInstance(
+ config.registry.getUtility(ISecurityPolicy), LegacySecurityPolicy
+ )
def test_set_authorization_policy_no_authn_policy(self):
config = self._makeOne()