diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-05-30 20:42:58 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-05-30 20:42:58 +0000 |
| commit | 7ec9e7cb2f8aea52cd8645c98d336994357a66f5 (patch) | |
| tree | 3557bef3aeb3302e8f2203fbed0a176f0a966865 /repoze/bfg/testing.py | |
| parent | b0c812081d4a5d8b95229a21cfc9f893e99d83e5 (diff) | |
| download | pyramid-7ec9e7cb2f8aea52cd8645c98d336994357a66f5.tar.gz pyramid-7ec9e7cb2f8aea52cd8645c98d336994357a66f5.tar.bz2 pyramid-7ec9e7cb2f8aea52cd8645c98d336994357a66f5.zip | |
- Remove "context" argument from ``effective_principals`` and
``authenticated_userid`` function APIs in ``repoze.bfg.security``,
effectively a doing reversion to 0.8 and before behavior. Both
functions now again accept only the ``request`` parameter.
Diffstat (limited to 'repoze/bfg/testing.py')
| -rw-r--r-- | repoze/bfg/testing.py | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/repoze/bfg/testing.py b/repoze/bfg/testing.py index bd3104a9d..a663ddc25 100644 --- a/repoze/bfg/testing.py +++ b/repoze/bfg/testing.py @@ -5,7 +5,7 @@ from zope.interface import implements from repoze.bfg.interfaces import IRequest -_marker = [] +_marker = object() def registerDummySecurityPolicy(userid=None, groupids=(), permissive=True): """ Registers a dummy ``repoze.bfg`` security policy (actually, a @@ -36,8 +36,19 @@ def registerModels(models): value will be returned to ``find_model`` (and thus to your code) when ``find_model`` is called with an equivalent path string or tuple.""" - traverser = make_traverser_factory(models) - registerTraverserFactory(traverser) + class DummyTraverserFactory: + def __init__(self, context): + self.context = context + + def __call__(self, environ): + path = environ['PATH_INFO'] + ob = models[path] + from repoze.bfg.traversal import traversal_path + traversed = list(traversal_path(path)) + return {'context':ob, 'view_name':'','subpath':[], + 'traversed':traversed, 'vroot':ob, 'vroot_path':[]} + + registerTraverserFactory(DummyTraverserFactory) return models def registerEventListener(event_iface=Interface): @@ -176,10 +187,10 @@ class DummySecurityPolicy: self.groupids = groupids self.permissive = permissive - def authenticated_userid(self, context, request): + def authenticated_userid(self, request): return self.userid - def effective_principals(self, context, request): + def effective_principals(self, request): from repoze.bfg.security import Everyone from repoze.bfg.security import Authenticated effective_principals = [Everyone] @@ -189,32 +200,17 @@ class DummySecurityPolicy: effective_principals.extend(self.groupids) return effective_principals - def remember(self, context, request, principal, **kw): + def remember(self, request, principal, **kw): return [] - def forget(self, context, request): + def forget(self, request): return [] def permits(self, context, principals, permission): return self.permissive def principals_allowed_by_permission(self, context, permission): - return self.effective_principals(None, None) - -def make_traverser_factory(root): - class DummyTraverserFactory: - def __init__(self, context): - self.context = context - - def __call__(self, environ): - path = environ['PATH_INFO'] - ob = root[path] - from repoze.bfg.traversal import traversal_path - traversed = list(traversal_path(path)) - return {'context':ob, 'view_name':'','subpath':[], - 'traversed':traversed, 'vroot':ob, 'vroot_path':[]} - - return DummyTraverserFactory + return self.effective_principals(None) class DummyTemplateRenderer: """ |
