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)
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)
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)