def test_schema_is_valid(): check_schema_is_valid(None) good = { 'type': 'dict', 'name': 'module', 'dict_type': ([{ 'type': 'string', 'name': 'target', 'default': '' }], []) } check_schema_is_valid(good) no_name = { 'type': 'dict', 'dict_type': ([{ 'type': 'string', 'name': 'target', 'default': '' }], []) } assert_raises(SchemaInvalidError, check_schema_is_valid, no_name) bad_dict_type = { 'name': 'module', 'type': 'dict', 'dict_type': { 'foo': { 'type': 'string', 'name': 'target', 'default': '' } } } assert_raises(SchemaInvalidError, check_schema_is_valid, bad_dict_type) invalid_nested = { 'type': 'dict', 'name': 'module', 'dict_type': ([{ 'name': 'target', 'default': '' }], []) } assert_raises(SchemaInvalidError, check_schema_is_valid, invalid_nested) list_no_type = {'type': 'list', 'name': 'foo'} assert_raises(SchemaInvalidError, check_schema_is_valid, list_no_type) list_nested_bad_dict = { 'type': 'list', 'name': 'foo', 'list_type': { 'type': 'dict_type', 'name': 'foo' } } assert_raises(SchemaInvalidError, check_schema_is_valid, list_nested_bad_dict)
def __init__(self, name, py_module): super().__init__(name) assert hasattr(py_module, 'run') self._py_module = py_module if hasattr(py_module, 'schema'): try: check_schema_is_valid(py_module.schema) except SchemaInvalidError as e: raise SystemLoadError("The schema declared in module '{}' is invalid. {:s}".format(name, e)) self.schema = py_module.schema
def __init__(self, name, py_module): super().__init__(name) assert hasattr(py_module, 'run') self._py_module = py_module if hasattr(py_module, 'schema'): try: check_schema_is_valid(py_module.schema) except SchemaInvalidError as exc: raise SystemLoadError("The schema declared in module '{}' is invalid. {:s}".format(name, exc)) self.schema = py_module.schema
def test_schema_is_valid(): check_schema_is_valid(None) good = {"type": "dict", "name": "module", "dict_type": ([{"type": "string", "name": "target", "default": ""}], [])} check_schema_is_valid(good) no_name = {"type": "dict", "dict_type": ([{"type": "string", "name": "target", "default": ""}], [])} assert_raises(SchemaInvalidError, check_schema_is_valid, no_name) bad_dict_type = { "name": "module", "type": "dict", "dict_type": {"foo": {"type": "string", "name": "target", "default": ""}}, } assert_raises(SchemaInvalidError, check_schema_is_valid, bad_dict_type) invalid_nested = {"type": "dict", "name": "module", "dict_type": ([{"name": "target", "default": ""}], [])} assert_raises(SchemaInvalidError, check_schema_is_valid, invalid_nested) list_no_type = {"type": "list", "name": "foo"} assert_raises(SchemaInvalidError, check_schema_is_valid, list_no_type) list_nested_bad_dict = {"type": "list", "name": "foo", "list_type": {"type": "dict_type", "name": "foo"}} assert_raises(SchemaInvalidError, check_schema_is_valid, list_nested_bad_dict)