def test_inc_dec_get_counter(self): """ RSE COUNTER (CORE): Increase, decrease and get counter """ rse_id = get_rse('MOCK').id rse_update(once=True) rse_counter.del_counter(rse_id=rse_id) rse_counter.add_counter(rse_id=rse_id) cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': 0, 'bytes': 0}) count, sum = 0, 0 for i in xrange(10): rse_counter.increase(rse_id=rse_id, files=1, bytes=2.147e+9) rse_update(once=True) count += 1 sum += 2.147e+9 cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': count, 'bytes': sum}) for i in xrange(4): rse_counter.decrease(rse_id=rse_id, files=1, bytes=2.147e+9) rse_update(once=True) count -= 1 sum -= 2.147e+9 cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': count, 'bytes': sum}) for i in xrange(5): rse_counter.increase(rse_id=rse_id, files=1, bytes=2.147e+9) rse_update(once=True) count += 1 sum += 2.147e+9 cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': count, 'bytes': sum}) for i in xrange(8): rse_counter.decrease(rse_id=rse_id, files=1, bytes=2.147e+9) rse_update(once=True) count -= 1 sum -= 2.147e+9 cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': count, 'bytes': sum})
def test_inc_dec_get_counter(self): """ RSE COUNTER (CORE): Increase, decrease and get counter """ rse_id = get_rse_id(rse='MOCK', **self.vo) rse_update(once=True) rse_counter.del_counter(rse_id=rse_id) rse_counter.add_counter(rse_id=rse_id) cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': 0, 'bytes': 0}) count, sum = 0, 0 for i in range(10): rse_counter.increase(rse_id=rse_id, files=1, bytes=2.147e+9) rse_update(once=True) count += 1 sum += 2.147e+9 cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': count, 'bytes': sum}) for i in range(4): rse_counter.decrease(rse_id=rse_id, files=1, bytes=2.147e+9) rse_update(once=True) count -= 1 sum -= 2.147e+9 cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': count, 'bytes': sum}) for i in range(5): rse_counter.increase(rse_id=rse_id, files=1, bytes=2.147e+9) rse_update(once=True) count += 1 sum += 2.147e+9 cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': count, 'bytes': sum}) for i in range(8): rse_counter.decrease(rse_id=rse_id, files=1, bytes=2.147e+9) rse_update(once=True) count -= 1 sum -= 2.147e+9 cnt = rse_counter.get_counter(rse_id=rse_id) del cnt['updated_at'] assert_equal(cnt, {'files': count, 'bytes': sum})
def test_rse_counter_unavailable_replicas(self): """ REPLICATION RULE (CORE): Test if creating UNAVAILABLE replicas updates the RSE Counter correctly""" rse_update(once=True) rse_counter_before = get_rse_counter(self.rse3_id) scope = 'mock' files = create_files(3, scope, self.rse1, bytes=100) dataset = 'dataset_' + str(uuid()) add_did(scope, dataset, DIDType.from_sym('DATASET'), 'jdoe') attach_dids(scope, dataset, files, 'jdoe') add_rule(dids=[{'scope': scope, 'name': dataset}], account='jdoe', copies=1, rse_expression=self.rse3, grouping='ALL', weight=None, lifetime=None, locked=False, subscription_id=None) # Check if the rse has been updated correctly rse_update(once=True) rse_counter_after = get_rse_counter(self.rse3_id) assert(rse_counter_before['bytes'] + 3*100 == rse_counter_after['bytes']) assert(rse_counter_before['files'] + 3 == rse_counter_after['files'])