From aba20b792fc762e32b97b7b0f40b5c2ebf59d997 Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Wed, 19 Apr 2017 09:09:58 +0000 Subject: [PATCH] Task #10698: Test explicitly if only observations and pipelines are handled by checkUnRunTasksForMoMOpenedStatus, and whether tasks not in MoMDB are actually deleted. --- .../ResourceAssigner/test/t_schedulechecker.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/SAS/ResourceAssignment/ResourceAssigner/test/t_schedulechecker.py b/SAS/ResourceAssignment/ResourceAssigner/test/t_schedulechecker.py index adbdbc3373d..4d6cf4dc37a 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() -- GitLab