diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-09-06 03:36:59 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-09-06 03:36:59 +0000 |
| commit | d66bfb5d1f1aef5cce4941b49740dbd136c95605 (patch) | |
| tree | 0204e233befdb8ad99332e498308468015f3558e /repoze/bfg/tests/test_testing.py | |
| parent | 50df953770409dc9c9558c77bd5c0bbb17ac54f6 (diff) | |
| download | pyramid-d66bfb5d1f1aef5cce4941b49740dbd136c95605.tar.gz pyramid-d66bfb5d1f1aef5cce4941b49740dbd136c95605.tar.bz2 pyramid-d66bfb5d1f1aef5cce4941b49740dbd136c95605.zip | |
Merge multiview2 branch to HEAD.
Diffstat (limited to 'repoze/bfg/tests/test_testing.py')
| -rw-r--r-- | repoze/bfg/tests/test_testing.py | 80 |
1 files changed, 64 insertions, 16 deletions
diff --git a/repoze/bfg/tests/test_testing.py b/repoze/bfg/tests/test_testing.py index 4ad3c83f6..e81a90219 100644 --- a/repoze/bfg/tests/test_testing.py +++ b/repoze/bfg/tests/test_testing.py @@ -4,9 +4,13 @@ import unittest class TestTestingFunctions(unittest.TestCase): def setUp(self): cleanUp() + from zope.deprecation import __show__ + __show__.off() def tearDown(self): cleanUp() + from zope.deprecation import __show__ + __show__.on() def test_registerDummySecurityPolicy(self): from repoze.bfg import testing @@ -143,34 +147,78 @@ class TestTestingFunctions(unittest.TestCase): response = render_view_to_response(None, None, 'moo.html') self.assertEqual(response.body, '123') - def test_registerViewPermission_defaults(self): + def test_registerView_with_permission_denying(self): + from repoze.bfg import testing + from repoze.bfg.security import Unauthorized + def view(context, request): + """ """ + view = testing.registerView('moo.html', view=view, permission='bar') + testing.registerDummySecurityPolicy(permissive=False) + import types + self.failUnless(isinstance(view, types.FunctionType)) + from repoze.bfg.view import render_view_to_response + self.assertRaises(Unauthorized, render_view_to_response, + None, None, 'moo.html') + + def test_registerView_with_permission_denying2(self): + from repoze.bfg import testing from repoze.bfg.security import view_execution_permitted + def view(context, request): + """ """ + view = testing.registerView('moo.html', view=view, permission='bar') + testing.registerDummySecurityPolicy(permissive=False) + import types + self.failUnless(isinstance(view, types.FunctionType)) + result = view_execution_permitted(None, None, 'moo.html') + self.assertEqual(result, False) + + def test_registerView_with_permission_allowing(self): + from repoze.bfg import testing + def view(context, request): + from webob import Response + return Response('123') + view = testing.registerView('moo.html', view=view, permission='bar') + testing.registerDummySecurityPolicy(permissive=True) + import types + self.failUnless(isinstance(view, types.FunctionType)) + from repoze.bfg.view import render_view_to_response + result = render_view_to_response(None, None, 'moo.html') + self.assertEqual(result.app_iter, ['123']) + + def test_registerViewPermission_defaults(self): + from zope.component import getSiteManager + from zope.interface import Interface + from repoze.bfg.interfaces import IViewPermission from repoze.bfg import testing view = testing.registerViewPermission('moo.html') - testing.registerDummySecurityPolicy() - result = view_execution_permitted(None, None, 'moo.html') - self.failUnless(result) - self.assertEqual(result.msg, 'message') + sm = getSiteManager() + result = sm.getMultiAdapter( + (Interface, Interface), IViewPermission, 'moo.html') + self.assertEqual(result, True) def test_registerViewPermission_denying(self): - from repoze.bfg.security import view_execution_permitted + from zope.component import getSiteManager + from zope.interface import Interface + from repoze.bfg.interfaces import IViewPermission from repoze.bfg import testing view = testing.registerViewPermission('moo.html', result=False) - testing.registerDummySecurityPolicy() - result = view_execution_permitted(None, None, 'moo.html') - self.failIf(result) - self.assertEqual(result.msg, 'message') + sm = getSiteManager() + result = sm.getMultiAdapter( + (Interface, Interface), IViewPermission, 'moo.html') + self.assertEqual(result, False) def test_registerViewPermission_custom(self): - from repoze.bfg.security import view_execution_permitted + from zope.component import getSiteManager + from zope.interface import Interface + from repoze.bfg.interfaces import IViewPermission def viewperm(context, request): return True from repoze.bfg import testing - view = testing.registerViewPermission('moo.html', - viewpermission=viewperm) - testing.registerDummySecurityPolicy() - result = view_execution_permitted(None, None, 'moo.html') - self.failUnless(result is True) + testing.registerViewPermission('moo.html', viewpermission=viewperm) + sm = getSiteManager() + result = sm.getMultiAdapter( + (Interface, Interface), IViewPermission, 'moo.html') + self.assertEqual(result, True) def test_registerAdapter(self): from zope.interface import implements |
