22import pytest
33from six import iteritems
44
5+ from openapi_core .extensions .models .models import BaseModel
56from openapi_core .schema .media_types .exceptions import (
67 InvalidContentType , InvalidMediaTypeValue ,
78)
@@ -221,7 +222,8 @@ def test_get_pets(self, spec, response_validator):
221222 response_result = response_validator .validate (request , response )
222223
223224 assert response_result .errors == []
224- assert response_result .data == data_json
225+ assert isinstance (response_result .data , BaseModel )
226+ assert response_result .data .data == []
225227
226228 def test_get_pets_ids_param (self , spec , response_validator ):
227229 host_url = 'http://petstore.swagger.io/v1'
@@ -258,7 +260,8 @@ def test_get_pets_ids_param(self, spec, response_validator):
258260 response_result = response_validator .validate (request , response )
259261
260262 assert response_result .errors == []
261- assert response_result .data == data_json
263+ assert isinstance (response_result .data , BaseModel )
264+ assert response_result .data .data == []
262265
263266 def test_get_pets_tags_param (self , spec , response_validator ):
264267 host_url = 'http://petstore.swagger.io/v1'
@@ -295,7 +298,8 @@ def test_get_pets_tags_param(self, spec, response_validator):
295298 response_result = response_validator .validate (request , response )
296299
297300 assert response_result .errors == []
298- assert response_result .data == data_json
301+ assert isinstance (response_result .data , BaseModel )
302+ assert response_result .data .data == []
299303
300304 def test_get_pets_parameter_deserialization_error (self , spec ):
301305 host_url = 'http://petstore.swagger.io/v1'
@@ -810,10 +814,12 @@ def test_get_pet(self, spec, response_validator):
810814
811815 assert body is None
812816
817+ data_id = 1
818+ data_name = 'test'
813819 data_json = {
814820 'data' : {
815- 'id' : 1 ,
816- 'name' : 'test' ,
821+ 'id' : data_id ,
822+ 'name' : data_name ,
817823 },
818824 }
819825 data = json .dumps (data_json )
@@ -822,7 +828,10 @@ def test_get_pet(self, spec, response_validator):
822828 response_result = response_validator .validate (request , response )
823829
824830 assert response_result .errors == []
825- assert response_result .data == data_json
831+ assert isinstance (response_result .data , BaseModel )
832+ assert isinstance (response_result .data .data , BaseModel )
833+ assert response_result .data .data .id == data_id
834+ assert response_result .data .data .name == data_name
826835
827836 def test_get_pet_not_found (self , spec , response_validator ):
828837 host_url = 'http://petstore.swagger.io/v1'
@@ -847,18 +856,24 @@ def test_get_pet_not_found(self, spec, response_validator):
847856
848857 assert body is None
849858
859+ code = 404
860+ message = 'Not found'
861+ rootCause = 'Pet not found'
850862 data_json = {
851863 'code' : 404 ,
852- 'message' : 'Not found' ,
853- 'rootCause' : 'Pet not found' ,
864+ 'message' : message ,
865+ 'rootCause' : rootCause ,
854866 }
855867 data = json .dumps (data_json )
856868 response = MockResponse (data , status_code = 404 )
857869
858870 response_result = response_validator .validate (request , response )
859871
860872 assert response_result .errors == []
861- assert response_result .data == data_json
873+ assert isinstance (response_result .data , BaseModel )
874+ assert response_result .data .code == code
875+ assert response_result .data .message == message
876+ assert response_result .data .rootCause == rootCause
862877
863878 def test_get_pet_wildcard (self , spec , response_validator ):
864879 host_url = 'http://petstore.swagger.io/v1'
@@ -993,18 +1008,27 @@ def test_post_tags_additional_properties(
9931008 body = request .get_body (spec )
9941009
9951010 assert parameters == {}
996- assert body == data_json
1011+ assert isinstance (body , BaseModel )
1012+ assert body .name == pet_name
9971013
1014+ code = 400
1015+ message = 'Bad request'
1016+ rootCause = 'Tag already exist'
1017+ additionalinfo = 'Tag Dog already exist'
9981018 data_json = {
999- 'code' : 400 ,
1000- 'message' : 'Bad request' ,
1001- 'rootCause' : 'Tag already exist' ,
1002- 'additionalinfo' : 'Tag Dog already exist' ,
1019+ 'code' : code ,
1020+ 'message' : message ,
1021+ 'rootCause' : rootCause ,
1022+ 'additionalinfo' : additionalinfo ,
10031023 }
10041024 data = json .dumps (data_json )
10051025 response = MockResponse (data , status_code = 404 )
10061026
10071027 response_result = response_validator .validate (request , response )
10081028
10091029 assert response_result .errors == []
1010- assert response_result .data == data_json
1030+ assert isinstance (response_result .data , BaseModel )
1031+ assert response_result .data .code == code
1032+ assert response_result .data .message == message
1033+ assert response_result .data .rootCause == rootCause
1034+ assert response_result .data .additionalinfo == additionalinfo
0 commit comments