diff --git a/app/interface/tests/__init__.py b/app/interface/tests/__init__.py index 6c85343..e52c9e0 100644 --- a/app/interface/tests/__init__.py +++ b/app/interface/tests/__init__.py @@ -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}") diff --git a/app/interface/tests/test_access.py b/app/interface/tests/test_access.py index 0ac716e..5727219 100644 --- a/app/interface/tests/test_access.py +++ b/app/interface/tests/test_access.py @@ -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') diff --git a/app/library/tests.py b/app/library/tests.py index af91d42..210c15c 100644 --- a/app/library/tests.py +++ b/app/library/tests.py @@ -43,6 +43,13 @@ class LibraryTestCase(AccessTestCase): '/collections/2/works/1/add_to_project', '/collections/2/works/1/upload', '/collections/2/docs/1/annotate', + + '/admin/library/collection/', + '/admin/library/document/', + '/admin/library/ensembleaccess/', + '/admin/library/orchestration/', + '/admin/library/projectitem/', + '/admin/library/work/', ) @classmethod @@ -89,12 +96,12 @@ class LibraryTestCase(AccessTestCase): def test_integration(self): pass - def test_get_views(self): - - self.assertAccess({ x: False for x in self.PROTECTED_URLS }) - - self.login('admin', 'secret') - self.assertAccess({ x: True for x in self.PROTECTED_URLS }) +# def test_get_views(self): +# +# self.assertAccess({ x: False for x in self.PROTECTED_URLS }) +# +# self.login('admin', 'secret') +# self.assertAccess({ x: True for x in self.PROTECTED_URLS }) def test_superuser_access(self): self.login('admin', 'secret')