From ffa3d804f9d16b8d9c37d6d56fb1f922a746a6e5 Mon Sep 17 00:00:00 2001 From: Mario Raciti <mario.raciti@inaf.it> Date: Tue, 2 Mar 2021 16:22:53 +0100 Subject: [PATCH] TMSS-445-merge: Add SubtaskViewSet_has_TMSSPermissions_in_permission_classes test; cleanup --- .../test/t_permissions_system_roles.py | 49 +++++++------------ 1 file changed, 18 insertions(+), 31 deletions(-) diff --git a/SAS/TMSS/backend/test/t_permissions_system_roles.py b/SAS/TMSS/backend/test/t_permissions_system_roles.py index 59e92962e68..08bb4736240 100755 --- a/SAS/TMSS/backend/test/t_permissions_system_roles.py +++ b/SAS/TMSS/backend/test/t_permissions_system_roles.py @@ -113,6 +113,24 @@ class SystemPermissionTestCase(unittest.TestCase): cls.to_observer_group = Group.objects.get(name='TO observer') + def test_SubtaskViewSet_has_TMSSPermissions_in_permission_classes(self): + # Assert SubtaskViewSet has the TMSSPermissions permission class. + from lofar.sas.tmss.tmss.tmssapp.viewsets.permissions import TMSSPermissions + from lofar.sas.tmss.tmss.tmssapp.viewsets.scheduling import SubtaskViewSet + + is_in_permission_classes = False + for p in SubtaskViewSet.get_permissions(SubtaskViewSet): + # Check TMSSPermission is included in the SubtaskViewSet permission classes + if not is_in_permission_classes: + if type(p).__name__ is TMSSPermissions.__name__: + # Check that it is actually an instance of TMSSPermissions + self.assertTrue(isinstance(p, TMSSPermissions)) + is_in_permission_classes = True + + self.assertTrue(is_in_permission_classes, + msg='SubtaskViewSet does not have %s in its permission classes.' % TMSSPermissions.__name__) + + def test_Subtask_cannot_get_progress_without_to_observer_group(self): user = User.objects.get(username='paulus') user.groups.set([]) @@ -122,7 +140,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.get_progress_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the get_progress_subtask permission # Assert TO observer group has the get_progress_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='get_progress_subtask')) # Assert Paulus does not have the get_progress_subtask permission @@ -142,7 +159,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.get_progress_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the get_progress_subtask permission # Assert TO observer group has the get_progress_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='get_progress_subtask')) # Assert Paulus has the get_progress_subtask permission @@ -163,7 +179,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.input_dataproducts_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the input_dataproducts_subtask permission # Assert TO observer group has the input_dataproducts_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='input_dataproducts_subtask')) # Assert Paulus does not have the input_dataproducts_subtask permission @@ -184,7 +199,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.input_dataproducts_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the input_dataproducts_subtask permission # Assert TO observer group has the input_dataproducts_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='input_dataproducts_subtask')) # Assert Paulus has the input_dataproducts_subtask permission @@ -205,7 +219,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.output_dataproducts_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the output_dataproducts_subtask permission # Assert TO observer group has the output_dataproducts_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='output_dataproducts_subtask')) # Assert Paulus does not have the output_dataproducts_subtask permission @@ -226,7 +239,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.output_dataproducts_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the output_dataproducts_subtask permission # Assert TO observer group has the output_dataproducts_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='output_dataproducts_subtask')) # Assert Paulus has the output_dataproducts_subtask permission @@ -247,7 +259,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.parset_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the parset_subtask permission # Assert TO observer group has the parset_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='parset_subtask')) # Assert Paulus does not have the parset_subtask permission @@ -268,7 +279,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.parset_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the parset_subtask permission # Assert TO observer group has the parset_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='parset_subtask')) # Assert Paulus has the parset_subtask permission @@ -289,7 +299,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.predecessors_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the predecessors_subtask permission # Assert TO observer group has the predecessors_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='predecessors_subtask')) # Assert Paulus does not have the predecessors_subtask permission @@ -311,7 +320,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.predecessors_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the predecessors_subtask permission # Assert TO observer group has the predecessors_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='predecessors_subtask')) # Assert Paulus has the predecessors_subtask permission @@ -332,7 +340,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.process_feedback_and_set_to_finished_if_complete_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the process_feedback_and_set_to_finished_if_complete_subtask permission # Assert TO observer group has the process_feedback_and_set_to_finished_if_complete_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='process_feedback_and_set_to_finished_if_complete_subtask')) # Assert Paulus does not have the process_feedback_and_set_to_finished_if_complete_subtask permission @@ -353,7 +360,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.process_feedback_and_set_to_finished_if_complete_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the process_feedback_and_set_to_finished_if_complete_subtask permission # Assert TO observer group has the process_feedback_and_set_to_finished_if_complete_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='process_feedback_and_set_to_finished_if_complete_subtask')) # Assert Paulus has the process_feedback_and_set_to_finished_if_complete_subtask permission @@ -379,7 +385,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask permission # Assert TO observer group has the reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask')) # Assert Paulus does not have the reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask permission @@ -401,7 +406,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask permission # Assert TO observer group has the reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask')) # Assert Paulus has the reprocess_raw_feedback_for_subtask_and_set_to_finished_if_complete_subtask permission @@ -422,7 +426,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.schedule_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the schedule_subtask permission # Assert TO observer group has the schedule_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='schedule_subtask')) # Assert Paulus does not have the schedule_subtask permission @@ -444,12 +447,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.schedule_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the schedule_subtask permission - # from lofar.sas.tmss.tmss.tmssapp.viewsets.permissions import TMSSPermissions - # from lofar.sas.tmss.tmss.tmssapp.viewsets.scheduling import SubtaskViewSet - # logger.info('\n\n\n%s\n\n', SubtaskViewSet.get_permissions(SubtaskViewSet)[0]) - # self.assertIn(TMSSPermissions, SubtaskViewSet.get_permissions(SubtaskViewSet)) - # Assert TO observer group has the schedule_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='schedule_subtask')) # Assert Paulus has the schedule_subtask permission @@ -474,7 +471,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.state_log_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the state_log_subtask permission # Assert TO observer group has the state_log_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='state_log_subtask')) # Assert Paulus does not have the state_log_subtask permission @@ -495,7 +491,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.state_log_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the state_log_subtask permission # Assert TO observer group has the state_log_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='state_log_subtask')) # Assert Paulus has the state_log_subtask permission @@ -516,7 +511,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.successors_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the successors_subtask permission # Assert TO observer group has the successors_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='successors_subtask')) # Assert Paulus does not have the successors_subtask permission @@ -537,7 +531,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.successors_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the successors_subtask permission # Assert TO observer group has the successors_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='successors_subtask')) # Assert Paulus has the successors_subtask permission @@ -558,7 +551,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.task_log_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the task_log_subtask permission # Assert TO observer group has the task_log_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='task_log_subtask')) # Assert Paulus does not have the task_log_subtask permission @@ -579,7 +571,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.task_log_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the task_log_subtask permission # Assert TO observer group has the task_log_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='task_log_subtask')) # Assert Paulus has the task_log_subtask permission @@ -600,7 +591,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.transformed_output_dataproduct_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the transformed_output_dataproduct_subtask permission # Assert TO observer group has the transformed_output_dataproduct_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='transformed_output_dataproduct_subtask')) # Assert Paulus does not have the transformed_output_dataproduct_subtask permission @@ -621,7 +611,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.transformed_output_dataproduct_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the transformed_output_dataproduct_subtask permission # Assert TO observer group has the transformed_output_dataproduct_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='transformed_output_dataproduct_subtask')) # Assert Paulus has the transformed_output_dataproduct_subtask permission @@ -647,7 +636,6 @@ class SystemPermissionTestCase(unittest.TestCase): while user.has_perm('tmssapp.unschedule_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the unschedule_subtask permission # Assert TO observer group has the unschedule_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='unschedule_subtask')) # Assert Paulus does not have the unschedule_subtask permission @@ -668,7 +656,6 @@ class SystemPermissionTestCase(unittest.TestCase): while not user.has_perm('tmssapp.unschedule_subtask'): user = User.objects.get(username='paulus') - # TODO: Check if the SubtaskViewSet has the unschedule_subtask permission # Assert TO observer group has the unschedule_subtask permission self.assertIsNotNone(self.to_observer_group.permissions.all().filter(codename='unschedule_subtask')) # Assert Paulus has the unschedule_subtask permission -- GitLab