summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-05-25 01:37:25 +0000
committerChris McDonough <chrism@agendaless.com>2009-05-25 01:37:25 +0000
commit7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7 (patch)
treec90afb9a21697481fd272555fd9c60da31ffd72b /repoze/bfg/tests
parent267f2db66f514db43d0801237213799cd6797ee4 (diff)
downloadpyramid-7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7.tar.gz
pyramid-7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7.tar.bz2
pyramid-7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7.zip
IForbiddenAppFactory -> IForbiddenResponseFactory.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_router.py52
-rw-r--r--repoze/bfg/tests/test_security.py28
2 files changed, 41 insertions, 39 deletions
diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py
index 99316f056..1b76c0b7e 100644
--- a/repoze/bfg/tests/test_router.py
+++ b/repoze/bfg/tests/test_router.py
@@ -78,8 +78,9 @@ class RouterTests(unittest.TestCase):
from repoze.bfg.interfaces import IViewPermission
self.registry.registerAdapter(permission, for_, IViewPermission, name)
- def _registerSecurityPolicy(self):
- secpol = DummySecurityPolicy()
+ def _registerSecurityPolicy(self, secpol=None):
+ if secpol is None:
+ secpol = DummySecurityPolicy()
from repoze.bfg.interfaces import ISecurityPolicy
self.registry.registerUtility(secpol, ISecurityPolicy)
return secpol
@@ -130,8 +131,9 @@ class RouterTests(unittest.TestCase):
self._registerTraverserFactory(context)
rootfactory = self._registerRootFactory(None)
logger = self._registerLogger()
- secpol = self._registerSecurityPolicy()
- del secpol.forbidden
+ class Dummy:
+ pass
+ self._registerSecurityPolicy(Dummy())
router = self._makeOne()
self.assertEqual(len(logger.messages), 1)
self.failUnless('which does not have a "forbidden" method'
@@ -150,8 +152,12 @@ class RouterTests(unittest.TestCase):
self.registry.registerUtility(factory, IUnauthorizedAppFactory)
router = self._makeOne()
self.assertEqual(len(logger.messages), 1)
- self.failUnless('IForbiddenAppFactory' in logger.messages[0])
- self.assertEqual(router.forbidden_app_factory(None, None), 'yo')
+ self.failUnless('IForbiddenResponseFactory' in logger.messages[0])
+ class DummyRequest:
+ def get_response(self, app):
+ return app
+ req = DummyRequest()
+ self.assertEqual(router.forbidden_resp_factory(None, req), 'yo')
def test_inotfound_appfactory_override(self):
from repoze.bfg.interfaces import INotFoundAppFactory
@@ -162,31 +168,31 @@ class RouterTests(unittest.TestCase):
router = self._makeOne()
self.assertEqual(router.notfound_app_factory, app)
- def test_iforbidden_appfactory_override_withsecpol(self):
- from repoze.bfg.interfaces import IForbiddenAppFactory
+ def test_iforbidden_respfactory_override_withsecpol(self):
+ from repoze.bfg.interfaces import IForbiddenResponseFactory
def app():
""" """
- self.registry.registerUtility(app, IForbiddenAppFactory)
+ self.registry.registerUtility(app, IForbiddenResponseFactory)
self._registerSecurityPolicy()
self._registerRootFactory(None)
router = self._makeOne()
- self.assertEqual(router.forbidden_app_factory, app)
+ self.assertEqual(router.forbidden_resp_factory, app)
- def test_iforbidden_appfactory_override_nosecpol(self):
- from repoze.bfg.interfaces import IForbiddenAppFactory
+ def test_iforbidden_responsefactory_override_nosecpol(self):
+ from repoze.bfg.interfaces import IForbiddenResponseFactory
def app():
""" """
- self.registry.registerUtility(app, IForbiddenAppFactory)
+ self.registry.registerUtility(app, IForbiddenResponseFactory)
self._registerRootFactory(None)
router = self._makeOne()
- self.assertEqual(router.forbidden_app_factory, app)
+ self.assertEqual(router.forbidden_resp_factory, app)
- def test_iforbidden_appfactory_nooverride(self):
+ def test_iforbidden_responsefactory_nooverride(self):
secpol = self._registerSecurityPolicy()
context = DummyContext()
self._registerRootFactory(None)
router = self._makeOne()
- self.assertEqual(router.forbidden_app_factory, secpol.forbidden)
+ self.assertEqual(router.forbidden_resp_factory, secpol.forbidden)
def test_call_no_view_registered_no_isettings(self):
environ = self._makeEnviron()
@@ -782,11 +788,11 @@ class DummyResponse:
app_iter = ()
class DummySecurityPolicy:
- def __init__(self):
- def wsgiapp(environ, start_response):
- self.environ = environ
- self.start_response = start_response
- start_response('401 Unauthorized', [])
- return 'Unauthorized'
- self.forbidden = lambda *x: wsgiapp
+ def forbidden(self, context, request):
+ self.request = request
+ ob = DummyResponse()
+ ob.status = '401 Unauthorized'
+ ob.app_iter = ['Unauthorized']
+ ob.headerlist = ()
+ return ob
diff --git a/repoze/bfg/tests/test_security.py b/repoze/bfg/tests/test_security.py
index ffac19e0d..b9f9624d4 100644
--- a/repoze/bfg/tests/test_security.py
+++ b/repoze/bfg/tests/test_security.py
@@ -245,14 +245,12 @@ class TestACLSecurityPolicy(unittest.TestCase):
def test_forbidden(self):
policy = self._makeOne(lambda *arg: None)
- forbidden_app = policy.forbidden(None, None)
- environ = {}
- result = []
- def start_response(status, headers):
- result.append((status, headers))
- response = forbidden_app(environ, start_response)
- self.assertEqual(result[0][0], '401 Unauthorized')
- self.failUnless(len(result[0][1]), 2) # headers
+ context = DummyContext()
+ request = DummyRequest({})
+ response = policy.forbidden(context, request)
+ self.failUnless('401 Unauthorized' in response.app_iter[0])
+ self.assertEqual(response.status, '401 Unauthorized')
+ self.assertEqual(len(response.headerlist), 2)
class TestInheritingACLSecurityPolicy(unittest.TestCase):
@@ -444,14 +442,12 @@ class TestInheritingACLSecurityPolicy(unittest.TestCase):
def test_forbidden(self):
policy = self._makeOne(lambda *arg: None)
- forbidden_app = policy.forbidden(None, None)
- environ = {}
- result = []
- def start_response(status, headers):
- result.append((status, headers))
- response = forbidden_app(environ, start_response)
- self.assertEqual(result[0][0], '401 Unauthorized')
- self.failUnless(len(result[0][1]), 2) # headers
+ context = DummyContext()
+ request = DummyRequest({})
+ response = policy.forbidden(context, request)
+ self.failUnless('401 Unauthorized' in response.app_iter[0])
+ self.assertEqual(response.status, '401 Unauthorized')
+ self.assertEqual(len(response.headerlist), 2)
class TestAllPermissionsList(unittest.TestCase):
def setUp(self):