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
@@ -172,6 +172,14 @@ def validate_request_examples():
172172
173173 file_count = 0
174174 print ("Validating request examples." )
175+ config = Config (
176+ server_base_url = None ,
177+ request_validator_cls = V30RequestBodyValidator ,
178+ extra_media_type_deserializers = {"application/fhir+json" : json_loads },
179+ )
180+
181+ openApiSpec = OpenAPI (spec , config )
182+
175183 # Validate request examples
176184 for endpoint in endpoints_and_examples_request :
177185 file_count += len (endpoints_and_examples_request [endpoint ])
@@ -193,14 +201,7 @@ def validate_request_examples():
193201 # Validate request body
194202
195203 try :
196- validate_apicall_request (
197- oapi_req ,
198- spec = spec ,
199- cls = V30RequestBodyValidator ,
200- extra_media_type_deserializers = {
201- "application/fhir+json" : json_loads
202- },
203- )
204+ openApiSpec .validate_apicall_request (oapi_req )
204205 except ValidateError as exc :
205206 print ("\n Error: JSON data file with path " + abspath_example )
206207 print (
@@ -269,6 +270,13 @@ def validate_response_examples():
269270 file_count = 0
270271
271272 print ("Validating example responses." )
273+ config = Config (
274+ server_base_url = None ,
275+ response_validator_cls = V30ResponseDataValidator ,
276+ extra_media_type_deserializers = {"application/fhir+json" : json_loads },
277+ )
278+
279+ openApiSpec = OpenAPI (spec , config )
272280
273281 # Validate response for each endpoint
274282 for endpoint_dict in endpoints_and_examples_response :
@@ -295,15 +303,7 @@ def validate_response_examples():
295303 )
296304 oapi_req = RequestsOpenAPIRequest (request )
297305 try :
298- validate_apicall_response (
299- oapi_req ,
300- oapi_res ,
301- spec = spec ,
302- cls = V30ResponseDataValidator ,
303- extra_media_type_deserializers = {
304- "application/fhir+json" : json_loads
305- },
306- )
306+ openApiSpec .validate_apicall_response (oapi_req , oapi_res )
307307 except ValidateError as exc :
308308 print ("\n Error: JSON data file with path " + abspath_example )
309309 print (
0 commit comments