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

1from typing import Any 

2from typing import Hashable 

3from typing import Mapping 

4from typing import Type 

5 

6from jsonschema.exceptions import best_match 

7from jsonschema.protocols import Validator 

8 

9from openapi_schema_validator.validators import OAS31Validator 

10 

11 

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