def test_validate_dict_or_none(self):
        dictionary, constraints = self._construct_dict_and_constraints()

        # Check whether None is a valid value.
        msg = validators.validate_dict_or_none(None, constraints)
        self.assertIsNone(msg, 'Validation of a None dictionary failed.')

        # Check validation of a regular dictionary.
        msg = validators.validate_dict_or_none(dictionary, constraints)
        self.assertIsNone(msg, 'Validation of a valid dictionary failed.')
    def test_validate_dict_or_none(self):
        dictionary, constraints = self._construct_dict_and_constraints()

        # Check whether None is a valid value.
        msg = validators.validate_dict_or_none(None, constraints)
        self.assertIsNone(msg, 'Validation of a None dictionary failed.')

        # Check validation of a regular dictionary.
        msg = validators.validate_dict_or_none(dictionary, constraints)
        self.assertIsNone(msg, 'Validation of a valid dictionary failed.')
Exemple #3
0
def _validate_dict_or_string(data, key_specs=None):
    if data is None:
        return

    if isinstance(data, str) or isinstance(data, six.string_types):
        try:
            data = ast.literal_eval(data)
        except Exception:
            msg = _("Allowed VLANs %s cannot be converted to dict") % data
            return msg

    return valid.validate_dict_or_none(data, key_specs)