Exemple #1
0
def _maybe_validated(cnf, schema, format_checker=None, **options):
    """
    :param cnf: Configuration object
    :param schema: JSON schema object
    :param format_checker: A format property checker object of which class is
        inherited from jsonschema.FormatChecker, it's default if None given.
    :param options: Keyword options such as:

        - ac_namedtuple: Convert result to nested namedtuple object if True

    :return: Given `cnf` as it is if validation succeeds else None
    """
    valid = True
    if schema:
        (valid, msg) = validate(cnf,
                                schema,
                                format_checker=format_checker,
                                safe=True)
        if msg:
            LOGGER.warning(msg)

    if valid:
        if options.get("ac_namedtuple", False):
            return anyconfig.mdicts.convert_to(cnf, ac_namedtuple=True)
        else:
            return cnf

    return None
Exemple #2
0
def _maybe_validated(cnf, schema, format_checker=None, **options):
    """
    :param cnf: Configuration object
    :param schema: JSON schema object
    :param format_checker: A format property checker object of which class is
        inherited from jsonschema.FormatChecker, it's default if None given.
    :param options: Keyword options such as:

        - ac_namedtuple: Convert result to nested namedtuple object if True

    :return: Given `cnf` as it is if validation succeeds else None
    """
    valid = True
    if schema:
        (valid, msg) = validate(cnf, schema, format_checker=format_checker,
                                safe=True)
        if msg:
            LOGGER.warning(msg)

    if valid:
        if options.get("ac_namedtuple", False):
            return anyconfig.mdicts.convert_to(cnf, ac_namedtuple=True)
        else:
            return cnf

    return None
Exemple #3
0
    def test_14_validate__ng_no_safe(self):
        raised = False
        try:
            _rc = TT.validate({'a': "aaa"}, self.schema, ac_schema_safe=False)
            print(_rc)  # Should not be reached here...
        except Exception:
            raised = True

        self.assertTrue(raised)
Exemple #4
0
def _validate(config, schema, format_checker=None):
    """
    Wrapper function for anyconfig.schema.vaildate.

    :param config: Configuration object :: container
    :param schema: JSON schema object :: container
    :param format_checker: A format property checker object of which class is
        inherited from jsonschema.FormatChecker, it's default if None given.

    :return: True if validation suceeds or jsonschema module is not available.
    """
    (ret, msg) = validate(config, schema, format_checker, True)
    if msg:
        LOGGER.warn(msg)

    return ret
Exemple #5
0
def _try_validate(cnf, schema, **options):
    """
    :param cnf: Mapping object represents configuration data
    :param schema: JSON schema object
    :param options: Keyword options passed to :func:`~jsonschema.validate`

    :return: Given `cnf` as it is if validation succeeds else None
    """
    valid = True
    if schema:
        (valid, msg) = validate(cnf, schema, **options)
        if msg:
            LOGGER.warning(msg)

    if valid:
        return cnf

    return None
Exemple #6
0
def _try_validate(cnf, schema, **options):
    """
    :param cnf: Mapping object represents configuration data
    :param schema: JSON schema object
    :param options: Keyword options passed to :func:`jsonschema.validate`

    :return: Given 'cnf' as it is if validation succeeds else None
    """
    valid = True
    if schema:
        (valid, msg) = validate(cnf, schema, **options)
        if msg:
            LOGGER.warning(msg)

    if valid:
        return cnf

    return None
Exemple #7
0
 def test_12_validate__ng(self):
     (ret, msg) = TT.validate({'a': "aaa"}, self.schema)
     self.assertTrue(msg)
     self.assertFalse(ret)
Exemple #8
0
 def test_10_validate(self):
     (ret, msg) = TT.validate(self.obj, self.schema)
     self.assertFalse(msg)
     self.assertTrue(ret)
Exemple #9
0
 def test_46_gen_schema_and_validate__complex_types(self):
     scm = _gen_scm(self.obj2)
     self.assertTrue(TT.validate(self.obj2, scm))
Exemple #10
0
 def test_42_gen_schema_and_validate(self):
     scm = _gen_scm(self.obj)
     self.assertTrue(TT.validate(self.obj, scm))
Exemple #11
0
 def test_12_validate__ng(self):
     (ret, msg) = TT.validate(self.obj, self.scm, ac_schema_errors=True)
     self.assertTrue(msg)  # ["'a' is not of type ...", "'b' is not ..."]
     self.assertFalse(ret)
Exemple #12
0
 def test_46_gen_schema_and_validate__complex_types(self):
     scm = TT.gen_schema(self.obj2)
     self.assertTrue(TT.validate(self.obj2, scm))
Exemple #13
0
 def test_42_gen_schema_and_validate(self):
     scm = TT.gen_schema(self.obj)
     self.assertTrue(TT.validate(self.obj, scm))
Exemple #14
0
 def test_12_validate__ng(self):
     (ret, msg) = TT.validate({'a': "aaa"}, self.schema)
     self.assertTrue(msg)
     self.assertFalse(ret)
Exemple #15
0
 def test_10_validate(self):
     (ret, msg) = TT.validate(self.obj, self.schema)
     self.assertFalse(msg)
     self.assertTrue(ret)
Exemple #16
0
 def test_12_validate__ng(self):
     (ret, msg) = TT.validate(self.obj, self.scm, ac_schema_errors=True)
     self.assertTrue(msg)  # ["'a' is not of type ...", "'b' is not ..."]
     self.assertFalse(ret)