Extended PROTETED_URLS tests

This commit is contained in:
Tris Forster
2023-03-01 12:41:10 +11:00
parent 4344cb978b
commit caeee16657
3 changed files with 37 additions and 6 deletions
+10
View File
@@ -12,6 +12,8 @@ class AccessTestCase(TestCase):
PROJECTS = ()
PROTECTED_URLS = ()
@classmethod
def setUpTestData(cls):
@@ -39,6 +41,14 @@ class AccessTestCase(TestCase):
return
def test_protected_views(self):
self.assertAccess({ x: False for x in self.PROTECTED_URLS })
if 'admin' in self.users:
self.client.force_login(self.users['admin'])
self.assertAccess({ x: True for x in self.PROTECTED_URLS })
def login(self, user, passwd):
response = self.client.post('/login', {'username': user, 'password': passwd})
self.assertEqual(response.status_code, 302, f"Failed to login as {user}")
+14
View File
@@ -26,6 +26,20 @@ class InterfaceAccessTestCase(AccessTestCase):
{'name': 'Current Repertoire', 'ensemble': 'be-sharps'},
)
PROTECTED_URLS = (
'/ensembles/be-sharps',
'/ensembles/be-sharps/new-project',
'/projects/3',
'/projects/3/resources',
'/projects/3/resources/add',
'/admin/interface/ensemble/',
'/admin/interface/project/',
'/admin/interface/resource/',
'/admin/interface/wikipage/',
)
def test_bad_login(self):
with self.assertRaisesMessage(self.failureException, 'Failed to login as admin'):
self.login('admin', 'admin')