Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/openapi_schema_validator/shortcuts.py: 92%
13 statements
« prev ^ index » next coverage.py v7.3.1, created at 2023-09-25 06:30 +0000
« prev ^ index » next coverage.py v7.3.1, created at 2023-09-25 06:30 +0000
1from typing import Any
2from typing import Hashable
3from typing import Mapping
4from typing import Type
6from jsonschema.exceptions import best_match
7from jsonschema.protocols import Validator
9from openapi_schema_validator.validators import OAS31Validator
12def validate(
13 instance: Any,
14 schema: Mapping[Hashable, Any],
15 cls: Type[Validator] = OAS31Validator,
16 *args: Any,
17 **kwargs: Any
18) -> None:
19 cls.check_schema(schema)
20 validator = cls(schema, *args, **kwargs)
21 error = best_match(validator.iter_errors(instance))
22 if error is not None:
23 raise error