Exemple #1
0
    def test_forbidden_default_root(self):
        from ptah.exc import Forbidden
        from pyramid.interfaces import IRootFactory

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

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

        config.registry.registerUtility(Root, IRootFactory)

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

        self.assertIs(excview.__parent__, request.root)
        self.assertIsInstance(request.root, Root)
Exemple #2
0
    def test_forbidden_custom_login(self):
        from ptah.exc import Forbidden

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

        request = DummyRequest()
        request.url = u'http://example.com'
        request.root = Context()
        ptah.PTAH_CONFIG.login = '******'

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

        res = request.response

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