Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
 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
Exemple #4
0
 def render(self, *args, **kw):
     return Unauthorized.__call__(self)