def testUnauthorized(self): exception = Exception() try: raise exception except: pass request = TestRequest() request.setPrincipal(DummyPrincipal(23)) u = Unauthorized(exception, request) u.issueChallenge() # Make sure the response status was set self.assertEqual(request.response.getStatus(), 403) # check headers that work around squid "negative_ttl" self.assertEqual(request.response.getHeader('Expires'), 'Mon, 26 Jul 1997 05:00:00 GMT') self.assertEqual(request.response.getHeader('Pragma'), 'no-cache') self.assertEqual(request.response.getHeader('Cache-Control'), 'no-store, no-cache, must-revalidate') # Make sure the auth utility was called self.failUnless(self.auth.request is request) self.assertEqual(self.auth.principal_id, 23)
def testPluggableAuthUtility(self): exception = Exception() try: raise exception except: pass request = TestRequest() psrc = DummyPrincipalSource() request.setPrincipal(DummyPrincipal(23)) u = Unauthorized(exception, request) u.issueChallenge() # Make sure the response status was set self.assertEqual(request.response.getStatus(), 403) # Make sure the auth utility was called self.failUnless(self.auth.request is request) self.assertEqual(self.auth.principal_id, 23)
def __call__(self): cache = DebugSecurityPolicy.getCache(self.request) sp_cache_enabled = None if cache is not None: sp_cache_enabled = cache['enabled'] cache['enabled'] = False result = Unauthorized.__call__(self) if self.request.response.getStatus() in (302, 303): self.next_url = self.request.response.getHeader('location') self.request.response.setHeader('location', '') self.request.response.setStatus(200) result = self.template() if cache is not None: cache['enabled'] = sp_cache_enabled return result
def render(self, *args, **kw): return Unauthorized.__call__(self)