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
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)
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
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
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
def test_12_validate__ng(self): (ret, msg) = TT.validate({'a': "aaa"}, self.schema) self.assertTrue(msg) self.assertFalse(ret)
def test_10_validate(self): (ret, msg) = TT.validate(self.obj, self.schema) self.assertFalse(msg) self.assertTrue(ret)
def test_46_gen_schema_and_validate__complex_types(self): scm = _gen_scm(self.obj2) self.assertTrue(TT.validate(self.obj2, scm))
def test_42_gen_schema_and_validate(self): scm = _gen_scm(self.obj) self.assertTrue(TT.validate(self.obj, scm))
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)
def test_46_gen_schema_and_validate__complex_types(self): scm = TT.gen_schema(self.obj2) self.assertTrue(TT.validate(self.obj2, scm))
def test_42_gen_schema_and_validate(self): scm = TT.gen_schema(self.obj) self.assertTrue(TT.validate(self.obj, scm))