summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2016-02-10 22:28:47 -0600
committerMichael Merickel <michael@merickel.org>2016-02-10 22:28:47 -0600
commitff88c1535c65a717a030a480e39723724d53d985 (patch)
tree9584c0f1350eb198fbe6931573df550266215c6e /docs
parent62f0411a12a7f86bd7e3060b14f223cfb96322ad (diff)
downloadpyramid-ff88c1535c65a717a030a480e39723724d53d985.tar.gz
pyramid-ff88c1535c65a717a030a480e39723724d53d985.tar.bz2
pyramid-ff88c1535c65a717a030a480e39723724d53d985.zip
split login from forbidden
Diffstat (limited to 'docs')
-rw-r--r--docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py8
-rw-r--r--docs/tutorials/wiki2/src/tests/tutorial/views/default.py7
-rw-r--r--docs/tutorials/wiki2/src/tests/tutorial/views/errors.py11
3 files changed, 15 insertions, 11 deletions
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py b/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py
index 2c08f9a64..b25d9a332 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py
+++ b/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py
@@ -70,21 +70,21 @@ class FunctionalTests(unittest.TestCase):
self.assertTrue(b'Logout' not in res.body)
def test_anonymous_user_cannot_edit(self):
- res = self.testapp.get('/FrontPage/edit_page', status=200)
+ res = self.testapp.get('/FrontPage/edit_page', status=302).follow()
self.assertTrue(b'Login' in res.body)
def test_anonymous_user_cannot_add(self):
- res = self.testapp.get('/add_page/NewPage', status=200)
+ res = self.testapp.get('/add_page/NewPage', status=302).follow()
self.assertTrue(b'Login' in res.body)
def test_viewer_user_cannot_edit(self):
self.testapp.get(self.viewer_login, status=302)
- res = self.testapp.get('/FrontPage/edit_page', status=200)
+ res = self.testapp.get('/FrontPage/edit_page', status=302).follow()
self.assertTrue(b'Login' in res.body)
def test_viewer_user_cannot_add(self):
self.testapp.get(self.viewer_login, status=302)
- res = self.testapp.get('/add_page/NewPage', status=200)
+ res = self.testapp.get('/add_page/NewPage', status=302).follow()
self.assertTrue(b'Login' in res.body)
def test_editors_member_user_can_edit(self):
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/views/default.py b/docs/tutorials/wiki2/src/tests/tutorial/views/default.py
index aa77facd7..bc8a59fe8 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/views/default.py
+++ b/docs/tutorials/wiki2/src/tests/tutorial/views/default.py
@@ -6,14 +6,11 @@ from pyramid.httpexceptions import (
HTTPFound,
HTTPNotFound,
)
-from pyramid.view import (
- view_config,
- forbidden_view_config,
- )
from pyramid.security import (
remember,
forget,
)
+from pyramid.view import view_config
from ..models import Page
from ..security.default import USERS
@@ -77,9 +74,7 @@ def edit_page(request):
save_url=request.route_url('edit_page', pagename=pagename),
)
-
@view_config(route_name='login', renderer='templates/login.jinja2')
-@forbidden_view_config(renderer='templates/login.jinja2')
def login(request):
login_url = request.route_url('login')
referrer = request.url
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/views/errors.py b/docs/tutorials/wiki2/src/tests/tutorial/views/errors.py
index a4b8201f1..f8dbe4e05 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/views/errors.py
+++ b/docs/tutorials/wiki2/src/tests/tutorial/views/errors.py
@@ -1,5 +1,14 @@
-from pyramid.view import notfound_view_config
+from pyramid.httpexceptions import HTTPFound
+from pyramid.view import (
+ forbidden_view_config,
+ notfound_view_config,
+)
@notfound_view_config(renderer='../templates/404.jinja2')
def notfound_view(request):
return {}
+
+@forbidden_view_config()
+def forbidden_view(request):
+ next_url = request.route_url('login', _query={'came_from': request.url})
+ return HTTPFound(location=next_url)