summaryrefslogtreecommitdiff
path: root/tests/regressiontests/context_processors/tests.py
diff options
context:
space:
mode:
authorLuke Plant <L.Plant.98@cantab.net>2009-10-14 18:14:19 +0000
committerLuke Plant <L.Plant.98@cantab.net>2009-10-14 18:14:19 +0000
commite2b83db9ef5bc5be3d42b75f7a4e37631a5bf165 (patch)
tree4d791366cde91537e006e5a81c5af5d8bd14a0bd /tests/regressiontests/context_processors/tests.py
parentec9b6f2616a8794b9530558291001aa12e845125 (diff)
[1.1.X] Fixed #6552, #12031 - Make django.core.context_processors.auth lazy to avoid "Vary: Cookie"
Thanks to olau@iola.dk, Suor for the report Backport of r11623 from trunk git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@11624 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/context_processors/tests.py')
-rw-r--r--tests/regressiontests/context_processors/tests.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/regressiontests/context_processors/tests.py b/tests/regressiontests/context_processors/tests.py
index eadd6310b1..a05b143e55 100644
--- a/tests/regressiontests/context_processors/tests.py
+++ b/tests/regressiontests/context_processors/tests.py
@@ -36,3 +36,46 @@ class RequestContextProcessorTests(TestCase):
self.assertContains(response, url)
response = self.client.post(url, {'path': '/blah/'})
self.assertContains(response, url)
+
+class AuthContextProcessorTests(TestCase):
+ """
+ Tests for the ``django.core.context_processors.auth`` processor
+ """
+ urls = 'regressiontests.context_processors.urls'
+ fixtures = ['context-processors-users.xml']
+
+ def test_session_not_accessed(self):
+ """
+ Tests that the session is not accessed simply by including
+ the auth context processor
+ """
+ response = self.client.get('/auth_processor_no_attr_access/')
+ self.assertContains(response, "Session not accessed")
+
+ def test_session_is_accessed(self):
+ """
+ Tests that the session is accessed if the auth context processor
+ is used and relevant attributes accessed.
+ """
+ response = self.client.get('/auth_processor_attr_access/')
+ self.assertContains(response, "Session accessed")
+
+ def test_perms_attrs(self):
+ self.client.login(username='super', password='secret')
+ response = self.client.get('/auth_processor_perms/')
+ self.assertContains(response, "Has auth permissions")
+
+ def test_message_attrs(self):
+ self.client.login(username='super', password='secret')
+ response = self.client.get('/auth_processor_messages/')
+ self.assertContains(response, "Message 1")
+
+ def test_user_attrs(self):
+ """
+ Test that ContextLazyObject wraps objects properly
+ """
+ self.client.login(username='super', password='secret')
+ response = self.client.get('/auth_processor_user/')
+ self.assertContains(response, "unicode: super")
+ self.assertContains(response, "id: 100")
+ self.assertContains(response, "username: super")