Example #1
0
    def test_validate_non_negative(self):
        for value in (-1, "-2"):
            self.assertEqual("'%s' should be non-negative" % value, attributes._validate_non_negative(value))

        for value in (0, 1, "2", True, False):
            msg = attributes._validate_non_negative(value)
            self.assertIsNone(msg)
Example #2
0
    def test_validate_non_negative(self):
        for value in (-1, '-2'):
            self.assertEqual("'%s' should be non-negative" % value,
                             attributes._validate_non_negative(value))

        for value in (0, 1, '2', True, False):
            msg = attributes._validate_non_negative(value)
            self.assertIsNone(msg)
Example #3
0
def _validate_instance_members(data, valid_values=None):
    if not isinstance(data, list):
        msg = _("'%s' is not a list") % data
        LOG.debug(msg)
        return msg

    instance_set = set()
    expected_keys = ['instance_id', 'weight']

    for instance in data:
        for port_key in instance:
            if port_key not in expected_keys:
                msg = (_("'%(data)s' is not in %(valid_values)s") % {
                    'data': port_key,
                    'valid_values': expected_keys
                })
                LOG.debug(msg)
                return msg

        if not isinstance(instance, dict):
            msg = _("'%s' is not a dict") % instance
            LOG.debug(msg)
            return msg

        if not instance.has_key('instance_id'):
            msg = _("'%s' must has key instance_id") % instance
            LOG.debug(msg)
            return msg
        else:
            if not uuidutils.is_uuid_like(instance['instance_id']):
                msg = _("'%s' is not a valid UUID") % instance['instance_id']
                LOG.debug(msg)
                return msg

        if not instance.has_key('weight'):
            msg = _("you must input weight and his value")
            LOG.debug(msg)
            return msg
        else:
            msg = attr._validate_non_negative(instance['weight'])
            if msg:
                msg = _("the value of weight must be int")
                LOG.debug(msg)
                return msg

            weight = int(instance['weight'])
            if weight <= 0:
                msg = _("the value of weight must be int and big than 0")
                LOG.debug(msg)
                return msg

        if instance['instance_id'] in instance_set:
            msg = _("'%s' has duplicate key instance_id") % instance
            return msg

        instance_set.add(instance['instance_id'])
def _validate_non_negative_or_none(data, valid_values=None):
    if data is not None:
        attr._validate_non_negative(data, valid_values)
Example #5
0
def _validate_non_negative_or_none(data, valid_values=None):
    if data is not None:
        attr._validate_non_negative(data, valid_values)