diff options
Diffstat (limited to 'tests/auth_tests/test_context_processors.py')
| -rw-r--r-- | tests/auth_tests/test_context_processors.py | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/tests/auth_tests/test_context_processors.py b/tests/auth_tests/test_context_processors.py index 98e51a62d9..ab621313e8 100644 --- a/tests/auth_tests/test_context_processors.py +++ b/tests/auth_tests/test_context_processors.py @@ -10,23 +10,25 @@ from .settings import AUTH_MIDDLEWARE, AUTH_TEMPLATES class MockUser: def __repr__(self): - return 'MockUser()' + return "MockUser()" def has_module_perms(self, perm): - return perm == 'mockapp' + return perm == "mockapp" def has_perm(self, perm, obj=None): - return perm == 'mockapp.someperm' + return perm == "mockapp.someperm" class PermWrapperTests(SimpleTestCase): """ Test some details of the PermWrapper implementation. """ + class EQLimiterObject: """ This object makes sure __eq__ will not be called endlessly. """ + def __init__(self): self.eq_calls = 0 @@ -38,7 +40,7 @@ class PermWrapperTests(SimpleTestCase): def test_repr(self): perms = PermWrapper(MockUser()) - self.assertEqual(repr(perms), 'PermWrapper(MockUser())') + self.assertEqual(repr(perms), "PermWrapper(MockUser())") def test_permwrapper_in(self): """ @@ -46,25 +48,25 @@ class PermWrapperTests(SimpleTestCase): """ perms = PermWrapper(MockUser()) # Works for modules and full permissions. - self.assertIn('mockapp', perms) - self.assertNotIn('nonexistent', perms) - self.assertIn('mockapp.someperm', perms) - self.assertNotIn('mockapp.nonexistent', perms) + self.assertIn("mockapp", perms) + self.assertNotIn("nonexistent", perms) + self.assertIn("mockapp.someperm", perms) + self.assertNotIn("mockapp.nonexistent", perms) def test_permlookupdict_in(self): """ No endless loops if accessed with 'in' - refs #18979. """ - pldict = PermLookupDict(MockUser(), 'mockapp') + pldict = PermLookupDict(MockUser(), "mockapp") with self.assertRaises(TypeError): self.EQLimiterObject() in pldict def test_iter(self): - with self.assertRaisesMessage(TypeError, 'PermWrapper is not iterable.'): + with self.assertRaisesMessage(TypeError, "PermWrapper is not iterable."): iter(PermWrapper(MockUser())) -@override_settings(ROOT_URLCONF='auth_tests.urls', TEMPLATES=AUTH_TEMPLATES) +@override_settings(ROOT_URLCONF="auth_tests.urls", TEMPLATES=AUTH_TEMPLATES) class AuthContextProcessorTests(TestCase): """ Tests for the ``django.contrib.auth.context_processors.auth`` processor @@ -72,7 +74,9 @@ class AuthContextProcessorTests(TestCase): @classmethod def setUpTestData(cls): - cls.superuser = User.objects.create_superuser(username='super', password='secret', email='super@example.com') + cls.superuser = User.objects.create_superuser( + username="super", password="secret", email="super@example.com" + ) @override_settings(MIDDLEWARE=AUTH_MIDDLEWARE) def test_session_not_accessed(self): @@ -80,7 +84,7 @@ class AuthContextProcessorTests(TestCase): The session is not accessed simply by including the auth context processor """ - response = self.client.get('/auth_processor_no_attr_access/') + response = self.client.get("/auth_processor_no_attr_access/") self.assertContains(response, "Session not accessed") @override_settings(MIDDLEWARE=AUTH_MIDDLEWARE) @@ -89,36 +93,40 @@ class AuthContextProcessorTests(TestCase): The session is accessed if the auth context processor is used and relevant attributes accessed. """ - response = self.client.get('/auth_processor_attr_access/') + response = self.client.get("/auth_processor_attr_access/") self.assertContains(response, "Session accessed") def test_perms_attrs(self): - u = User.objects.create_user(username='normal', password='secret') + u = User.objects.create_user(username="normal", password="secret") u.user_permissions.add( Permission.objects.get( content_type=ContentType.objects.get_for_model(Permission), - codename='add_permission')) + codename="add_permission", + ) + ) self.client.force_login(u) - response = self.client.get('/auth_processor_perms/') + response = self.client.get("/auth_processor_perms/") self.assertContains(response, "Has auth permissions") self.assertContains(response, "Has auth.add_permission permissions") self.assertNotContains(response, "nonexistent") def test_perm_in_perms_attrs(self): - u = User.objects.create_user(username='normal', password='secret') + u = User.objects.create_user(username="normal", password="secret") u.user_permissions.add( Permission.objects.get( content_type=ContentType.objects.get_for_model(Permission), - codename='add_permission')) - self.client.login(username='normal', password='secret') - response = self.client.get('/auth_processor_perm_in_perms/') + codename="add_permission", + ) + ) + self.client.login(username="normal", password="secret") + response = self.client.get("/auth_processor_perm_in_perms/") self.assertContains(response, "Has auth permissions") self.assertContains(response, "Has auth.add_permission permissions") self.assertNotContains(response, "nonexistent") def test_message_attrs(self): self.client.force_login(self.superuser) - response = self.client.get('/auth_processor_messages/') + response = self.client.get("/auth_processor_messages/") self.assertContains(response, "Message 1") def test_user_attrs(self): @@ -128,9 +136,9 @@ class AuthContextProcessorTests(TestCase): # These are 'functional' level tests for common use cases. Direct # testing of the implementation (SimpleLazyObject) is in the 'utils' # tests. - self.client.login(username='super', password='secret') - user = authenticate(username='super', password='secret') - response = self.client.get('/auth_processor_user/') + self.client.login(username="super", password="secret") + user = authenticate(username="super", password="secret") + response = self.client.get("/auth_processor_user/") self.assertContains(response, "unicode: super") self.assertContains(response, "id: %d" % self.superuser.pk) self.assertContains(response, "username: super") @@ -138,10 +146,10 @@ class AuthContextProcessorTests(TestCase): self.assertContains(response, "url: /userpage/super/") # A Q() comparing a user and with another Q() (in an AND or OR fashion). - Q(user=response.context['user']) & Q(someflag=True) + Q(user=response.context["user"]) & Q(someflag=True) # Tests for user equality. This is hard because User defines # equality in a non-duck-typing way # See bug #12060 - self.assertEqual(response.context['user'], user) - self.assertEqual(user, response.context['user']) + self.assertEqual(response.context["user"], user) + self.assertEqual(user, response.context["user"]) |
