diff --git a/SAS/ResourceAssignment/ResourceAssignmentDatabase/tests/t_radb.py b/SAS/ResourceAssignment/ResourceAssignmentDatabase/tests/t_radb.py index 40768a06e5aab080875f3c50790e9dd06f88a56f..da1d1a3e9285d3122a45bff24749c772a51217a9 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'