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')
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)
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)