2626from json import dumps as json_dumps
2727
2828from openapi_core import Spec
29- from openapi_core import validate_apicall_request
30- from openapi_core import validate_apicall_response
29+ from openapi_core . app import OpenAPI
30+ from openapi_core . configurations import Config
3131from openapi_core .contrib .requests import RequestsOpenAPIRequest
3232from openapi_core .contrib .requests import RequestsOpenAPIResponse
3333from openapi_core .validation .request .validators import V30RequestBodyValidator
@@ -173,6 +173,14 @@ def validate_request_examples():
173173
174174 file_count = 0
175175 print ("Validating request examples." )
176+ config = Config (
177+ server_base_url = None ,
178+ request_validator_cls = V30RequestBodyValidator ,
179+ extra_media_type_deserializers = {"application/fhir+json" : json_loads },
180+ )
181+
182+ openApiSpec = OpenAPI (spec , config )
183+
176184 # Validate request examples
177185 for endpoint in endpoints_and_examples_request :
178186 file_count += len (endpoints_and_examples_request [endpoint ])
@@ -194,14 +202,7 @@ def validate_request_examples():
194202 # Validate request body
195203
196204 try :
197- validate_apicall_request (
198- oapi_req ,
199- spec = spec ,
200- cls = V30RequestBodyValidator ,
201- extra_media_type_deserializers = {
202- "application/fhir+json" : json_loads
203- },
204- )
205+ openApiSpec .validate_apicall_request (oapi_req )
205206 except ValidateError as exc :
206207 print ("\n Error: JSON data file with path " + abspath_example )
207208 print (
@@ -270,6 +271,13 @@ def validate_response_examples():
270271 file_count = 0
271272
272273 print ("Validating example responses." )
274+ config = Config (
275+ server_base_url = None ,
276+ response_validator_cls = V30ResponseDataValidator ,
277+ extra_media_type_deserializers = {"application/fhir+json" : json_loads },
278+ )
279+
280+ openApiSpec = OpenAPI (spec , config )
273281
274282 # Validate response for each endpoint
275283 for endpoint_dict in endpoints_and_examples_response :
@@ -296,15 +304,7 @@ def validate_response_examples():
296304 )
297305 oapi_req = RequestsOpenAPIRequest (request )
298306 try :
299- validate_apicall_response (
300- oapi_req ,
301- oapi_res ,
302- spec = spec ,
303- cls = V30ResponseDataValidator ,
304- extra_media_type_deserializers = {
305- "application/fhir+json" : json_loads
306- },
307- )
307+ openApiSpec .validate_apicall_response (oapi_req , oapi_res )
308308 except ValidateError as exc :
309309 print ("\n Error: JSON data file with path " + abspath_example )
310310 print (
0 commit comments