From 0d74e67a29d37646329a85cc43d28b8620726a04 Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Thu, 17 Aug 2017 08:20:26 +0000 Subject: [PATCH] Task #11160: added test check which shows the bug that a claim goes erroneously to conflict even when there is ample space available --- .../ResourceAssignmentDatabase/tests/t_radb.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/SAS/ResourceAssignment/ResourceAssignmentDatabase/tests/t_radb.py b/SAS/ResourceAssignment/ResourceAssignmentDatabase/tests/t_radb.py index 40768a06e5a..da1d1a3e928 100755 --- a/SAS/ResourceAssignment/ResourceAssignmentDatabase/tests/t_radb.py +++ b/SAS/ResourceAssignment/ResourceAssignmentDatabase/tests/t_radb.py @@ -1367,6 +1367,24 @@ class ResourceAssignmentDatabaseTest(unittest.TestCase): self.assertEqual(0, len(self.radb.get_overlapping_claims(claim['id'], 'tentative'))) self.assertEqual(0, len(self.radb.get_overlapping_tasks(claim['id'], 'tentative'))) + #add an extra claim, overlapping with only the last claim of size 40. So it should fit (100-40=60 and 60>30). + extra_claim = { 'resource_id': 117, + 'starttime': now+timedelta(hours=0.8), + 'endtime': now+timedelta(hours=0.9), + 'status': 'tentative', + 'claim_size': 30 } + extra_claim_ids = self.radb.insertResourceClaims(task_id, [extra_claim], 'foo', 1, 1) + self.assertEqual(1, len(extra_claim_ids)) + + #check the extra_claim's status, should be tentative. + for claim in self.radb.getResourceClaims(claim_ids=extra_claim_ids): + self.assertEqual('tentative', claim['status']) + + # update the extra_claim status to 'claimed'. Should succeed. + self.assertTrue(self.radb.updateResourceClaims(extra_claim_ids, status='claimed')) + for claim in self.radb.getResourceClaims(claim_ids=extra_claim_ids): + self.assertEqual('claimed', claim['status']) + if __name__ == "__main__": os.environ['TZ'] = 'UTC' -- GitLab