diff --git a/SAS/ResourceAssignment/ResourceAssigner/test/t_schedulechecker.py b/SAS/ResourceAssignment/ResourceAssigner/test/t_schedulechecker.py index adbdbc3373dba04bf0dcc5e58b8f5b3066db2820..4d6cf4dc37ac842d0898cad89b6dd6c3db9df8fc 100755 --- a/SAS/ResourceAssignment/ResourceAssigner/test/t_schedulechecker.py +++ b/SAS/ResourceAssignment/ResourceAssigner/test/t_schedulechecker.py @@ -137,6 +137,23 @@ class ScheduleCheckerTest(unittest.TestCase): self.assertFalse(self.curpc_mock.removeTaskData.called, "Task output was deleted from disk") self.assertFalse(self.rarpc_mock.deleteSpecification.called, "Object was removed from RADB") + def test_checkUnRunTasksForMoMOpenedStatus_mom_notexisting_otdb_approved(self): + """ Test if a task is not in MoM, and 'approved' in OTDB. This causes the task to be deleted. """ + self.momrpc_mock.getProjectDetails.return_value = {} + + with TestingScheduleChecker(self.rarpc_mock, self.momrpc_mock, self.curpc_mock) as schedulechecker: + schedulechecker.checkUnRunTasksForMoMOpenedStatus() + + self.assertTrue(self.rarpc_mock.deleteSpecification.called, "Object was not removed from RADB") + + def test_checkUnRunTasksForMoMOpenedStatus_only_observations_pipelines(self): + """ Test if only observations and pipelines are compared against the MoMDB (and not maintenance or reservation tasks, for example). """ + + with TestingScheduleChecker(self.rarpc_mock, self.momrpc_mock, self.curpc_mock) as schedulechecker: + schedulechecker.checkUnRunTasksForMoMOpenedStatus() + + self.assertEquals(self.rarpc_mock.getTasks.call_args[1]["task_type"], ['observation', 'pipeline'], "Only observations and pipelines must be matched against MoMDB") + if __name__ == '__main__': unittest.main()