@@ -626,16 +626,16 @@ def test_property_from_data_ref_not_found(self, mocker):
626626 schemas = Schemas ()
627627
628628 prop , new_schemas = property_from_data (
629- name = name , required = required , data = data , schemas = schemas , parent_name = "parent"
629+ name = name ,
630+ required = required ,
631+ data = data ,
632+ schemas = schemas ,
633+ parent_name = "parent" ,
634+ lazy_references = dict (),
630635 )
631636
632- from_ref .assert_called_with (data .ref )
633- assert isinstance (prop , LazyReferencePropertyProxy )
634- assert prop .resolve () == None
635- with pytest .raises (RuntimeError ):
636- prop .resolve (False )
637- with pytest .raises (RuntimeError ):
638- prop .template
637+ from_ref .assert_called_once_with (data .ref )
638+ assert prop == PropertyError (data = data , detail = "Could not find reference in parsed models or enums." )
639639 assert schemas == new_schemas
640640
641641 def test_property_from_data_string (self , mocker ):
@@ -708,7 +708,12 @@ def test_property_from_data_array(self, mocker):
708708
709709 assert response == build_list_property .return_value
710710 build_list_property .assert_called_once_with (
711- data = data , name = name , required = required , schemas = schemas , parent_name = "parent"
711+ data = data ,
712+ name = name ,
713+ required = required ,
714+ schemas = schemas ,
715+ parent_name = "parent" ,
716+ lazy_references = dict (),
712717 )
713718
714719 def test_property_from_data_object (self , mocker ):
@@ -727,7 +732,12 @@ def test_property_from_data_object(self, mocker):
727732
728733 assert response == build_model_property .return_value
729734 build_model_property .assert_called_once_with (
730- data = data , name = name , required = required , schemas = schemas , parent_name = "parent"
735+ data = data ,
736+ name = name ,
737+ required = required ,
738+ schemas = schemas ,
739+ parent_name = "parent" ,
740+ lazy_references = dict (),
731741 )
732742
733743 def test_property_from_data_union (self , mocker ):
@@ -749,7 +759,12 @@ def test_property_from_data_union(self, mocker):
749759
750760 assert response == build_union_property .return_value
751761 build_union_property .assert_called_once_with (
752- data = data , name = name , required = required , schemas = schemas , parent_name = "parent"
762+ data = data ,
763+ name = name ,
764+ required = required ,
765+ schemas = schemas ,
766+ parent_name = "parent" ,
767+ lazy_references = dict (),
753768 )
754769
755770 def test_property_from_data_unsupported_type (self , mocker ):
@@ -804,7 +819,12 @@ def test_build_list_property_no_items(self, mocker):
804819 schemas = properties .Schemas ()
805820
806821 p , new_schemas = properties .build_list_property (
807- name = name , required = required , data = data , schemas = schemas , parent_name = "parent"
822+ name = name ,
823+ required = required ,
824+ data = data ,
825+ schemas = schemas ,
826+ parent_name = "parent" ,
827+ lazy_references = dict (),
808828 )
809829
810830 assert p == PropertyError (data = data , detail = "type array must have items defined" )
@@ -827,14 +847,24 @@ def test_build_list_property_invalid_items(self, mocker):
827847 )
828848
829849 p , new_schemas = properties .build_list_property (
830- name = name , required = required , data = data , schemas = schemas , parent_name = "parent"
850+ name = name ,
851+ required = required ,
852+ data = data ,
853+ schemas = schemas ,
854+ parent_name = "parent" ,
855+ lazy_references = dict (),
831856 )
832857
833858 assert p == PropertyError (data = "blah" , detail = f"invalid data in items of array { name } " )
834859 assert new_schemas == second_schemas
835860 assert schemas != new_schemas , "Schema was mutated"
836861 property_from_data .assert_called_once_with (
837- name = f"{ name } _item" , required = True , data = data .items , schemas = schemas , parent_name = "parent"
862+ name = f"{ name } _item" ,
863+ required = True ,
864+ data = data .items ,
865+ schemas = schemas ,
866+ parent_name = "parent" ,
867+ lazy_references = dict (),
838868 )
839869
840870 def test_build_list_property (self , mocker ):
@@ -855,15 +885,25 @@ def test_build_list_property(self, mocker):
855885 mocker .patch ("openapi_python_client.utils.to_valid_python_identifier" , return_value = name )
856886
857887 p , new_schemas = properties .build_list_property (
858- name = name , required = required , data = data , schemas = schemas , parent_name = "parent"
888+ name = name ,
889+ required = required ,
890+ data = data ,
891+ schemas = schemas ,
892+ parent_name = "parent" ,
893+ lazy_references = dict (),
859894 )
860895
861896 assert isinstance (p , properties .ListProperty )
862897 assert p .inner_property == property_from_data .return_value [0 ]
863898 assert new_schemas == second_schemas
864899 assert schemas != new_schemas , "Schema was mutated"
865900 property_from_data .assert_called_once_with (
866- name = f"{ name } _item" , required = True , data = data .items , schemas = schemas , parent_name = "parent"
901+ name = f"{ name } _item" ,
902+ required = True ,
903+ data = data .items ,
904+ schemas = schemas ,
905+ parent_name = "parent" ,
906+ lazy_references = dict (),
867907 )
868908
869909
@@ -1019,10 +1059,18 @@ def test_build_schemas(mocker):
10191059
10201060 build_model_property .assert_has_calls (
10211061 [
1022- mocker .call (data = in_data ["1" ], name = "1" , schemas = Schemas (), required = True , parent_name = None ),
1023- mocker .call (data = in_data ["2" ], name = "2" , schemas = schemas_1 , required = True , parent_name = None ),
1024- mocker .call (data = in_data ["3" ], name = "3" , schemas = schemas_2 , required = True , parent_name = None ),
1025- mocker .call (data = in_data ["3" ], name = "3" , schemas = schemas_2 , required = True , parent_name = None ),
1062+ mocker .call (
1063+ data = in_data ["1" ], name = "1" , schemas = Schemas (), required = True , parent_name = None , lazy_references = dict ()
1064+ ),
1065+ mocker .call (
1066+ data = in_data ["2" ], name = "2" , schemas = schemas_1 , required = True , parent_name = None , lazy_references = dict ()
1067+ ),
1068+ mocker .call (
1069+ data = in_data ["3" ], name = "3" , schemas = schemas_2 , required = True , parent_name = None , lazy_references = dict ()
1070+ ),
1071+ mocker .call (
1072+ data = in_data ["3" ], name = "3" , schemas = schemas_2 , required = True , parent_name = None , lazy_references = dict ()
1073+ ),
10261074 ]
10271075 )
10281076 # schemas_3 was the last to come back from build_model_property, but it should be ignored because it's an error
@@ -1118,6 +1166,7 @@ def test_build_model_property(additional_properties_schema, expected_additional_
11181166 schemas = schemas ,
11191167 required = True ,
11201168 parent_name = "parent" ,
1169+ lazy_references = dict (),
11211170 )
11221171
11231172 assert new_schemas != schemas
@@ -1164,6 +1213,7 @@ def test_build_model_property_conflict():
11641213 schemas = schemas ,
11651214 required = True ,
11661215 parent_name = None ,
1216+ lazy_references = dict (),
11671217 )
11681218
11691219 assert new_schemas == schemas
@@ -1181,11 +1231,7 @@ def test_build_model_property_bad_prop():
11811231 schemas = Schemas (models = {"OtherModel" : None })
11821232
11831233 err , new_schemas = build_model_property (
1184- data = data ,
1185- name = "prop" ,
1186- schemas = schemas ,
1187- required = True ,
1188- parent_name = None ,
1234+ data = data , name = "prop" , schemas = schemas , required = True , parent_name = None , lazy_references = dict ()
11891235 )
11901236
11911237 assert new_schemas == schemas
@@ -1210,6 +1256,7 @@ def test_build_model_property_bad_additional_props():
12101256 schemas = schemas ,
12111257 required = True ,
12121258 parent_name = None ,
1259+ lazy_references = dict (),
12131260 )
12141261
12151262 assert new_schemas == schemas
@@ -1276,8 +1323,8 @@ def test__is_local_reference():
12761323 assert _is_local_reference (ref ) == expected_result
12771324
12781325
1279- def test__reference_name ():
1280- from openapi_python_client .parser .properties import _reference_name
1326+ def test__reference_pointer_name ():
1327+ from openapi_python_client .parser .properties import _reference_pointer_name
12811328
12821329 data_set = [
12831330 ("#/foobar" , "foobar" ),
@@ -1286,7 +1333,7 @@ def test__reference_name():
12861333
12871334 for data , expected_result in data_set :
12881335 ref = oai .Reference .construct (ref = data )
1289- assert _reference_name (ref ) == expected_result
1336+ assert _reference_pointer_name (ref ) == expected_result
12901337
12911338
12921339def test__reference_model_name ():
@@ -1465,6 +1512,8 @@ def test_lazy_proxy_reference_unresolved():
14651512 assert lazy_reference_proxy .get_type_string (no_optional = True ) == "LazyReferencePropertyProxy"
14661513 assert lazy_reference_proxy .get_imports (prefix = ".." ) == set ()
14671514 assert lazy_reference_proxy .resolve () == None
1515+ assert lazy_reference_proxy .required == False
1516+ assert lazy_reference_proxy .nullable == True
14681517 with pytest .raises (RuntimeError ):
14691518 lazy_reference_proxy .resolve (False )
14701519 with pytest .raises (RuntimeError ):
@@ -1473,10 +1522,6 @@ def test_lazy_proxy_reference_unresolved():
14731522 copy .deepcopy (lazy_reference_proxy )
14741523 with pytest .raises (RuntimeError ):
14751524 lazy_reference_proxy .name
1476- with pytest .raises (RuntimeError ):
1477- lazy_reference_proxy .required
1478- with pytest .raises (RuntimeError ):
1479- lazy_reference_proxy .nullable
14801525 with pytest .raises (RuntimeError ):
14811526 lazy_reference_proxy .default
14821527 with pytest .raises (RuntimeError ):
0 commit comments