示例#1
0
    def test_forbidden(self):
        from ptahcrowd.forbidden import Forbidden

        class Context(object):
            """ """

        request = DummyRequest()
        request.url = 'http://example.com'
        request.application_url = 'http://example.com'
        request.root = Context()

        excview = Forbidden(HTTPForbidden(), request)
        excview.update()

        res = request.response

        self.assertIs(excview.__parent__, request.root)
        self.assertEqual(res.status, '302 Found')
        self.assertEqual(
            text_(res.headers['location']),
            'http://example.com/login.html?came_from=http%3A%2F%2Fexample.com')

        excview = Forbidden(HTTPForbidden(), request)
        res = excview()
        self.assertEqual(res.status, '302 Found')
示例#2
0
文件: test_auth.py 项目: dbaty/Lasco
 def test_forbidden(self):
     from urllib import quote_plus
     from pyramid.testing import DummyRequest
     from lasco.views.auth import forbidden
     request = DummyRequest()
     request.url = 'http://request.url'
     request.application_url = 'http://application.url'
     response = forbidden(request)
     self.assertEqual(response.status, '303 See Other')
     expected = 'http://application.url/login_form?next=%s' % quote_plus(
         request.url)
     self.assertEqual(response.location, expected)
示例#3
0
    def test_forbidden_default_root(self):
        from ptahcrowd.forbidden import Forbidden
        from pyramid.interfaces import IRootFactory

        class Root(object):
            """ """
            def __init__(self, request):
                self.request = request

        request = DummyRequest()
        request.url = 'http://example.com'
        request.application_url = 'http://example.com'

        self.registry.registerUtility(Root, IRootFactory)

        excview = Forbidden(HTTPForbidden(), request)
        excview.update()

        self.assertIs(excview.__parent__, request.root)
        self.assertIsInstance(request.root, Root)