diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-05-25 01:37:25 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-05-25 01:37:25 +0000 |
| commit | 7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7 (patch) | |
| tree | c90afb9a21697481fd272555fd9c60da31ffd72b /repoze/bfg/tests | |
| parent | 267f2db66f514db43d0801237213799cd6797ee4 (diff) | |
| download | pyramid-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.py | 52 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_security.py | 28 |
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): |
