From cc45a8211d9eb85e33d1e986665e8e9eda826bce Mon Sep 17 00:00:00 2001 From: Ruud Beukema <beukema@astron.nl> Date: Wed, 5 Apr 2017 08:48:57 +0000 Subject: [PATCH] Task #10560: Fixed unittests --- .../ResourceAssigner/lib/assignment.py | 23 ++++++++++--------- .../test/t_resourceassigner.py | 3 ++- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py index 81ed5e2b724..27ba9db691d 100755 --- a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py +++ b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py @@ -659,17 +659,18 @@ class ResourceAssigner(): def is_claimable_rcu_wise(self, needed_resources, resource_claims_rcus, rcu_resource_type_id): is_claimable = True - for res_type, used_rcus in needed_resources.items(): - if res_type == rcu_resource_type_id: - for claimed_rcus in resource_claims_rcus['used_rcus']: - length_difference = abs(len(claimed_rcus) - len(used_rcus)) - if len(claimed_rcus) < len(used_rcus): - claimed_rcus.ljust(length_difference, '0') - elif len(claimed_rcus) > len(used_rcus): - used_rcus.ljust(length_difference, '0') - - is_claimable &= all(not (int(used_rcus[idx]) & int(character)) - for idx, character in enumerate(claimed_rcus)) + if resource_claims_rcus: + for res_type, used_rcus in needed_resources.items(): + if res_type == rcu_resource_type_id: + for claimed_rcus in resource_claims_rcus['used_rcus']: + length_difference = abs(len(claimed_rcus) - len(used_rcus)) + if len(claimed_rcus) < len(used_rcus): + claimed_rcus.ljust(length_difference, '0') + elif len(claimed_rcus) > len(used_rcus): + used_rcus.ljust(length_difference, '0') + + is_claimable &= all(not (int(used_rcus[idx]) & int(character)) + for idx, character in enumerate(claimed_rcus)) return is_claimable diff --git a/SAS/ResourceAssignment/ResourceAssigner/test/t_resourceassigner.py b/SAS/ResourceAssignment/ResourceAssigner/test/t_resourceassigner.py index 41d23f217dd..27ed675d806 100755 --- a/SAS/ResourceAssignment/ResourceAssigner/test/t_resourceassigner.py +++ b/SAS/ResourceAssignment/ResourceAssigner/test/t_resourceassigner.py @@ -1931,11 +1931,12 @@ class ResourceAssignerTest(unittest.TestCase): self.rarpc_mock.insertResourceClaims.assert_any_call(self.task_id, self.specification_claims, 1, 'anonymous', -1) - def test_do_assignment_inserts_resource_claims_with_rcu_bit_pattern_in_radb(self): + def test_do_assignment_inserts_resource_claims_with_used_rcus_should_succeed(self): used_rcus = '111100010111100101101010' self.rarpc_mock.insertRcuSpecifications.return_value = [1] self.rarpc_mock.insertResourceClaims.return_value = {'ids': [1]} + self.rarpc_mock.getResourceClaims.return_value = [] rcu_claim = { 'resource_id': 212, -- GitLab