diff options
| author | Theron Luhn <theron@luhn.com> | 2019-04-27 14:51:57 -0700 |
|---|---|---|
| committer | Theron Luhn <theron@luhn.com> | 2019-04-27 15:42:21 -0700 |
| commit | ad611d2696701b611d2ef9dfe93567ecf6cb338d (patch) | |
| tree | 6b4c226fd6c5f22b31d765397d2bdd070688d935 /tests/pkgs/securityapp | |
| parent | 5497c0f7166308031b3cc3ce2510d22eb214b2ef (diff) | |
| download | pyramid-ad611d2696701b611d2ef9dfe93567ecf6cb338d.tar.gz pyramid-ad611d2696701b611d2ef9dfe93567ecf6cb338d.tar.bz2 pyramid-ad611d2696701b611d2ef9dfe93567ecf6cb338d.zip | |
Add simple integration tests for security.
Diffstat (limited to 'tests/pkgs/securityapp')
| -rw-r--r-- | tests/pkgs/securityapp/__init__.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/pkgs/securityapp/__init__.py b/tests/pkgs/securityapp/__init__.py new file mode 100644 index 000000000..6ddba585b --- /dev/null +++ b/tests/pkgs/securityapp/__init__.py @@ -0,0 +1,41 @@ +from pyramid.response import Response +from pyramid.security import Allowed, Denied + + +class SecurityPolicy: + def identify(self, request): + return request.environ.get('REMOTE_USER') + + def permits(self, request, context, identity, permission): + if identity and permission == 'foo': + return Allowed('') + else: + return Denied('') + + def remember(self, request, userid, **kw): + raise NotImplementedError() # pragma: no cover + + def forget(self, request): + raise NotImplementedError() # pragma: no cover + + +def public(context, request): + return Response('Hello') + + +def private(context, request): + return Response('Secret') + + +def inaccessible(context, request): + raise AssertionError() # pragma: no cover + + +def includeme(config): + config.set_security_policy(SecurityPolicy()) + config.add_route('public', '/public') + config.add_view(public, route_name='public') + config.add_route('private', '/private') + config.add_view(private, route_name='private', permission='foo') + config.add_route('inaccessible', '/inaccessible') + config.add_view(inaccessible, route_name='inaccessible', permission='bar') |
