class TestBoolean(unittest.TestCase): def setUp(self): self.account_client = AccountClient() self.rse_client = RSEClient() self.account = generate_uuid()[:10] self.rse = rse_name_generator() self.account_client.add_account(self.account, 'SERVICE', '*****@*****.**') self.rse_client.add_rse(self.rse) def tearDown(self): self.account_client.delete_account(self.account) self.rse_client.delete_rse(self.rse) def test_booleanstring_account_attribute(self): self.account_client.add_account_attribute(self.account, 'teststringtrue', 'true') self.account_client.add_account_attribute(self.account, 'testinttrue', '1') self.account_client.add_account_attribute(self.account, 'teststringfalse', 'false') self.account_client.add_account_attribute(self.account, 'testintfalse', '0') result = {} for account in self.account_client.list_account_attributes( self.account): for res in account: result[res['key']] = res['value'] assert result['teststringtrue'] is True assert result['testinttrue'] == '1' assert result['teststringfalse'] is False assert result['testintfalse'] == '0' def test_booleanstring_rse_attribute(self): self.rse_client.add_rse_attribute(self.rse, 'teststringtrue', 'true') self.rse_client.add_rse_attribute(self.rse, 'testinttrue', '1') self.rse_client.add_rse_attribute(self.rse, 'teststringfalse', 'false') self.rse_client.add_rse_attribute(self.rse, 'testintfalse', '0') result = self.rse_client.list_rse_attributes(self.rse) assert result['teststringtrue'] is True assert result['testinttrue'] == '1' assert result['teststringfalse'] is False assert result['testintfalse'] == '0'
class TestQoS(object): @classmethod def setupClass(self): if config_get_bool('common', 'multi_vo', raise_exception=False, default=False): self.vo = { 'vo': config_get('client', 'vo', raise_exception=False, default='tst') } else: self.vo = {} self.rse_client = RSEClient() self.tmp_rse_name = rse_name_generator() self.rse_client.add_rse(self.tmp_rse_name, vo=self.vo) self.tmp_rse = self.rse_client.get_rse(self.tmp_rse_name)['id'] @classmethod def teardownClass(self): self.rse_client.delete_rse(self.tmp_rse_name) def test_update_and_remove_rse_qos_class(self): """ QoS (CORE): Update and remove QoS class for RSE """ update_rse(self.tmp_rse, {'qos_class': 'fast_and_expensive'}) rse = get_rse(self.tmp_rse) assert_equal(rse['qos_class'], 'fast_and_expensive') update_rse(self.tmp_rse, {'qos_class': 'slow_but_cheap'}) rse = get_rse(self.tmp_rse) assert_equal(rse['qos_class'], 'slow_but_cheap') update_rse(self.tmp_rse, {'qos_class': None}) rse = get_rse(self.tmp_rse) assert_equal(rse['qos_class'], None) def test_update_and_remove_rse_qos_class_client(self): """ QoS (CLIENT): Update and remove QoS class for RSE """ self.rse_client.update_rse(self.tmp_rse_name, {'qos_class': 'fast_and_expensive'}) rse = self.rse_client.get_rse(self.tmp_rse_name) assert_equal(rse['qos_class'], 'fast_and_expensive') self.rse_client.update_rse(self.tmp_rse_name, {'qos_class': 'slow_but_cheap'}) rse = self.rse_client.get_rse(self.tmp_rse_name) assert_equal(rse['qos_class'], 'slow_but_cheap') self.rse_client.update_rse(self.tmp_rse_name, {'qos_class': None}) rse = self.rse_client.get_rse(self.tmp_rse_name) assert_equal(rse['qos_class'], None) def test_qos_policies(self): """ QoS (CLIENT): Add QoS policy for RSE """ self.rse_client.add_qos_policy(self.tmp_rse_name, 'FOO') policies = self.rse_client.list_qos_policies(self.tmp_rse_name) assert_equal(policies, ['FOO']) self.rse_client.add_qos_policy(self.tmp_rse_name, 'BAR') policies = sorted(self.rse_client.list_qos_policies(self.tmp_rse_name)) assert_equal(policies, ['BAR', 'FOO']) self.rse_client.delete_qos_policy(self.tmp_rse_name, 'BAR') policies = self.rse_client.list_qos_policies(self.tmp_rse_name) assert_equal(policies, ['FOO']) self.rse_client.delete_qos_policy(self.tmp_rse_name, 'FOO') policies = self.rse_client.list_qos_policies(self.tmp_rse_name) assert_equal(policies, [])