summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTheron Luhn <theron@luhn.com>2019-03-09 12:29:23 -0800
committerTheron Luhn <theron@luhn.com>2019-03-09 13:40:17 -0800
commit94a16a7ddd7e9d313e1b447bf478bc51c053e58a (patch)
treea6c6fac1fddae71c226d6e842f33c97367471855 /src
parent7cdaabd655b3ba1deba6c22ef7c956529e51cb79 (diff)
downloadpyramid-94a16a7ddd7e9d313e1b447bf478bc51c053e58a.tar.gz
pyramid-94a16a7ddd7e9d313e1b447bf478bc51c053e58a.tar.bz2
pyramid-94a16a7ddd7e9d313e1b447bf478bc51c053e58a.zip
Implement new dummy security policy.
Diffstat (limited to 'src')
-rw-r--r--src/pyramid/config/testing.py15
-rw-r--r--src/pyramid/testing.py40
2 files changed, 12 insertions, 43 deletions
diff --git a/src/pyramid/config/testing.py b/src/pyramid/config/testing.py
index 9c998840a..21c622656 100644
--- a/src/pyramid/config/testing.py
+++ b/src/pyramid/config/testing.py
@@ -1,11 +1,6 @@
from zope.interface import Interface
-from pyramid.interfaces import (
- ITraverser,
- IAuthorizationPolicy,
- IAuthenticationPolicy,
- IRendererFactory,
-)
+from pyramid.interfaces import ITraverser, ISecurityPolicy, IRendererFactory
from pyramid.renderers import RendererHelper
@@ -18,8 +13,7 @@ class TestingConfiguratorMixin(object):
# testing API
def testing_securitypolicy(
self,
- userid=None,
- groupids=(),
+ identity=None,
permissive=True,
remember_result=None,
forget_result=None,
@@ -69,10 +63,9 @@ class TestingConfiguratorMixin(object):
from pyramid.testing import DummySecurityPolicy
policy = DummySecurityPolicy(
- userid, groupids, permissive, remember_result, forget_result
+ identity, permissive, remember_result, forget_result
)
- self.registry.registerUtility(policy, IAuthorizationPolicy)
- self.registry.registerUtility(policy, IAuthenticationPolicy)
+ self.registry.registerUtility(policy, ISecurityPolicy)
return policy
def testing_resources(self, resources):
diff --git a/src/pyramid/testing.py b/src/pyramid/testing.py
index 90a49c04a..4bf6d281f 100644
--- a/src/pyramid/testing.py
+++ b/src/pyramid/testing.py
@@ -14,12 +14,7 @@ from pyramid.path import caller_package
from pyramid.response import _get_response_factory
from pyramid.registry import Registry
-from pyramid.security import (
- Authenticated,
- Everyone,
- SecurityAPIMixin,
- AuthenticationAPIMixin,
-)
+from pyramid.security import SecurityAPIMixin, AuthenticationAPIMixin
from pyramid.threadlocal import get_current_registry, manager
@@ -43,18 +38,16 @@ class DummyRootFactory(object):
class DummySecurityPolicy(object):
- """ A standin for both an IAuthentication and IAuthorization policy """
+ """ A standin for a security policy"""
def __init__(
self,
- userid=None,
- groupids=(),
+ identity=None,
permissive=True,
remember_result=None,
forget_result=None,
):
- self.userid = userid
- self.groupids = groupids
+ self.identity = identity
self.permissive = permissive
if remember_result is None:
remember_result = []
@@ -63,19 +56,11 @@ class DummySecurityPolicy(object):
self.remember_result = remember_result
self.forget_result = forget_result
- def authenticated_userid(self, request):
- return self.userid
+ def identify(self, request):
+ return self.identity
- def unauthenticated_userid(self, request):
- return self.userid
-
- def effective_principals(self, request):
- effective_principals = [Everyone]
- if self.userid:
- effective_principals.append(Authenticated)
- effective_principals.append(self.userid)
- effective_principals.extend(self.groupids)
- return effective_principals
+ def permits(self, request, context, identity, permission):
+ return self.permissive
def remember(self, request, userid, **kw):
self.remembered = userid
@@ -85,15 +70,6 @@ class DummySecurityPolicy(object):
self.forgotten = True
return self.forget_result
- def permits(self, context, principals, permission):
- return self.permissive
-
- def principals_allowed_by_permission(self, context, permission):
- if self.permissive:
- return self.effective_principals(None)
- else:
- return []
-
class DummyTemplateRenderer(object):
"""