@@ -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
@@ -1156,11 +1205,7 @@ def test_build_model_property_bad_prop():
11561205 schemas = Schemas (models = {"OtherModel" : None })
11571206
11581207 err , new_schemas = build_model_property (
1159- data = data ,
1160- name = "prop" ,
1161- schemas = schemas ,
1162- required = True ,
1163- parent_name = None ,
1208+ data = data , name = "prop" , schemas = schemas , required = True , parent_name = None , lazy_references = dict ()
11641209 )
11651210
11661211 assert new_schemas == schemas
@@ -1185,6 +1230,7 @@ def test_build_model_property_bad_additional_props():
11851230 schemas = schemas ,
11861231 required = True ,
11871232 parent_name = None ,
1233+ lazy_references = dict (),
11881234 )
11891235
11901236 assert new_schemas == schemas
@@ -1251,8 +1297,8 @@ def test__is_local_reference():
12511297 assert _is_local_reference (ref ) == expected_result
12521298
12531299
1254- def test__reference_name ():
1255- from openapi_python_client .parser .properties import _reference_name
1300+ def test__reference_pointer_name ():
1301+ from openapi_python_client .parser .properties import _reference_pointer_name
12561302
12571303 data_set = [
12581304 ("#/foobar" , "foobar" ),
@@ -1261,7 +1307,7 @@ def test__reference_name():
12611307
12621308 for data , expected_result in data_set :
12631309 ref = oai .Reference .construct (ref = data )
1264- assert _reference_name (ref ) == expected_result
1310+ assert _reference_pointer_name (ref ) == expected_result
12651311
12661312
12671313def test__reference_model_name ():
@@ -1440,6 +1486,8 @@ def test_lazy_proxy_reference_unresolved():
14401486 assert lazy_reference_proxy .get_type_string (no_optional = True ) == "LazyReferencePropertyProxy"
14411487 assert lazy_reference_proxy .get_imports (prefix = ".." ) == set ()
14421488 assert lazy_reference_proxy .resolve () == None
1489+ assert lazy_reference_proxy .required == False
1490+ assert lazy_reference_proxy .nullable == True
14431491 with pytest .raises (RuntimeError ):
14441492 lazy_reference_proxy .resolve (False )
14451493 with pytest .raises (RuntimeError ):
@@ -1448,10 +1496,6 @@ def test_lazy_proxy_reference_unresolved():
14481496 copy .deepcopy (lazy_reference_proxy )
14491497 with pytest .raises (RuntimeError ):
14501498 lazy_reference_proxy .name
1451- with pytest .raises (RuntimeError ):
1452- lazy_reference_proxy .required
1453- with pytest .raises (RuntimeError ):
1454- lazy_reference_proxy .nullable
14551499 with pytest .raises (RuntimeError ):
14561500 lazy_reference_proxy .default
14571501 with pytest .raises (RuntimeError ):
0 commit comments