Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/openapi_schema_validator/shortcuts.py: 92%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

13 statements  

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.evolve(schema=schema).iter_errors(instance)) 

22 if error is not None: 

23 raise error