diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-23 12:19:40 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-23 12:19:40 +0200 |
commit | 18f5651ca2025a658397ba70acc24b42ebacd12d (patch) | |
tree | 9e28d1c11c7b46bb339de45f93cc2a0cae31935e /ishtar_common/tests.py | |
parent | f4f4f50799eef631f6e9f3b382773313c597d23d (diff) | |
download | Ishtar-18f5651ca2025a658397ba70acc24b42ebacd12d.tar.bz2 Ishtar-18f5651ca2025a658397ba70acc24b42ebacd12d.zip |
Fix default django permission
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r-- | ishtar_common/tests.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 2bd4afef1..4596f9b5e 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -1172,6 +1172,36 @@ class AccessControlTest(TestCase): ).count(), 1 ) + def test_django_admin(self): + username, password = "myusername", "mypassword" + __, __, user = create_user(username=username, password=password) + user.is_superuser = False + user.is_staff = False + user.save() + client = Client() + + url = "/admin/" + client.login(username=username, password=password) + response = client.get(url) + self.assertRedirects(response, "/admin/login/?next={}".format(url)) + + User.objects.filter(username='myusername').update(is_staff=True) + client.logout() + client.login(username=username, password=password) + response = client.get(url) + self.assertEqual(response.status_code, 200) + + url += "ishtar_common/persontype/" + response = client.get(url) + self.assertEqual(response.status_code, 403) + + user.user_permissions.add(Permission.objects.get( + codename='change_persontype')) + client.logout() + client.login(username=username, password=password) + response = client.get(url) + self.assertEqual(response.status_code, 200) + class UserProfileTest(TestCase): fixtures = OPERATION_FIXTURES |