Exemplo n.º 1
0
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'
Exemplo n.º 2
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, [])