@@ -140,41 +140,33 @@ def test_model_name_conflict(self):
140140 assert new_schemas == schemas
141141 assert err == PropertyError (detail = 'Attempted to generate duplicate models with name "OtherModel"' , data = data )
142142
143- def test_bad_props_return_error (self ):
143+ def test_model_bad_properties (self ):
144144 from openapi_python_client .parser .properties import Schemas , build_model_property
145145
146146 data = oai .Schema (
147147 properties = {
148- "bad" : oai .Schema ( type = "not_real " ),
148+ "bad" : oai .Reference . construct ( ref = "#/components/schema/NotExist " ),
149149 },
150150 )
151- schemas = Schemas ()
152-
153- err , new_schemas = build_model_property (
154- data = data , name = "prop" , schemas = schemas , required = True , parent_name = None , config = Config ()
155- )
156-
157- assert new_schemas == schemas
158- assert err == PropertyError (detail = "unknown type not_real" , data = oai .Schema (type = "not_real" ))
151+ result = build_model_property (
152+ data = data , name = "prop" , schemas = Schemas (), required = True , parent_name = "parent" , config = Config ()
153+ )[0 ]
154+ assert isinstance (result , PropertyError )
159155
160- def test_bad_additional_props_return_error (self ):
161- from openapi_python_client .parser .properties import Config , Schemas , build_model_property
156+ def test_model_bad_additional_properties (self ):
157+ from openapi_python_client .parser .properties import Schemas , build_model_property
162158
163159 additional_properties = oai .Schema (
164160 type = "object" ,
165161 properties = {
166- "bad" : oai .Schema ( type = "not_real " ),
162+ "bad" : oai .Reference ( ref = "#/components/schemas/not_exist " ),
167163 },
168164 )
169165 data = oai .Schema (additionalProperties = additional_properties )
170- schemas = Schemas ()
171-
172- err , new_schemas = build_model_property (
173- data = data , name = "prop" , schemas = schemas , required = True , parent_name = None , config = Config ()
174- )
175-
176- assert new_schemas == schemas
177- assert err == PropertyError (detail = "unknown type not_real" , data = oai .Schema (type = "not_real" ))
166+ result = build_model_property (
167+ data = data , name = "prop" , schemas = Schemas (), required = True , parent_name = "parent" , config = Config ()
168+ )[0 ]
169+ assert isinstance (result , PropertyError )
178170
179171
180172class TestProcessProperties :
@@ -198,6 +190,20 @@ def test_conflicting_properties_different_types(
198190
199191 assert isinstance (result , PropertyError )
200192
193+ def test_process_properties_reference_not_exist (self ):
194+ from openapi_python_client .parser .properties import Schemas
195+ from openapi_python_client .parser .properties .model_property import _process_properties
196+
197+ data = oai .Schema (
198+ properties = {
199+ "bad" : oai .Reference .construct (ref = "#/components/schema/NotExist" ),
200+ },
201+ )
202+
203+ result = _process_properties (data = data , class_name = "" , schemas = Schemas (), config = Config ())
204+
205+ assert isinstance (result , PropertyError )
206+
201207 def test_invalid_reference (self , model_property_factory ):
202208 from openapi_python_client .parser .properties import Schemas
203209 from openapi_python_client .parser .properties .model_property import _process_properties
0 commit comments