@@ -626,16 +626,16 @@ def test_property_from_data_ref_not_found(self, mocker):
626
626
schemas = Schemas ()
627
627
628
628
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 (),
630
635
)
631
636
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." )
639
639
assert schemas == new_schemas
640
640
641
641
def test_property_from_data_string (self , mocker ):
@@ -708,7 +708,12 @@ def test_property_from_data_array(self, mocker):
708
708
709
709
assert response == build_list_property .return_value
710
710
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 (),
712
717
)
713
718
714
719
def test_property_from_data_object (self , mocker ):
@@ -727,7 +732,12 @@ def test_property_from_data_object(self, mocker):
727
732
728
733
assert response == build_model_property .return_value
729
734
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 (),
731
741
)
732
742
733
743
def test_property_from_data_union (self , mocker ):
@@ -749,7 +759,12 @@ def test_property_from_data_union(self, mocker):
749
759
750
760
assert response == build_union_property .return_value
751
761
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 (),
753
768
)
754
769
755
770
def test_property_from_data_unsupported_type (self , mocker ):
@@ -804,7 +819,12 @@ def test_build_list_property_no_items(self, mocker):
804
819
schemas = properties .Schemas ()
805
820
806
821
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 (),
808
828
)
809
829
810
830
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):
827
847
)
828
848
829
849
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 (),
831
856
)
832
857
833
858
assert p == PropertyError (data = "blah" , detail = f"invalid data in items of array { name } " )
834
859
assert new_schemas == second_schemas
835
860
assert schemas != new_schemas , "Schema was mutated"
836
861
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 (),
838
868
)
839
869
840
870
def test_build_list_property (self , mocker ):
@@ -855,15 +885,25 @@ def test_build_list_property(self, mocker):
855
885
mocker .patch ("openapi_python_client.utils.to_valid_python_identifier" , return_value = name )
856
886
857
887
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 (),
859
894
)
860
895
861
896
assert isinstance (p , properties .ListProperty )
862
897
assert p .inner_property == property_from_data .return_value [0 ]
863
898
assert new_schemas == second_schemas
864
899
assert schemas != new_schemas , "Schema was mutated"
865
900
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 (),
867
907
)
868
908
869
909
@@ -1019,10 +1059,18 @@ def test_build_schemas(mocker):
1019
1059
1020
1060
build_model_property .assert_has_calls (
1021
1061
[
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
+ ),
1026
1074
]
1027
1075
)
1028
1076
# 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_
1118
1166
schemas = schemas ,
1119
1167
required = True ,
1120
1168
parent_name = "parent" ,
1169
+ lazy_references = dict (),
1121
1170
)
1122
1171
1123
1172
assert new_schemas != schemas
@@ -1156,11 +1205,7 @@ def test_build_model_property_bad_prop():
1156
1205
schemas = Schemas (models = {"OtherModel" : None })
1157
1206
1158
1207
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 ()
1164
1209
)
1165
1210
1166
1211
assert new_schemas == schemas
@@ -1185,6 +1230,7 @@ def test_build_model_property_bad_additional_props():
1185
1230
schemas = schemas ,
1186
1231
required = True ,
1187
1232
parent_name = None ,
1233
+ lazy_references = dict (),
1188
1234
)
1189
1235
1190
1236
assert new_schemas == schemas
@@ -1251,8 +1297,8 @@ def test__is_local_reference():
1251
1297
assert _is_local_reference (ref ) == expected_result
1252
1298
1253
1299
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
1256
1302
1257
1303
data_set = [
1258
1304
("#/foobar" , "foobar" ),
@@ -1261,7 +1307,7 @@ def test__reference_name():
1261
1307
1262
1308
for data , expected_result in data_set :
1263
1309
ref = oai .Reference .construct (ref = data )
1264
- assert _reference_name (ref ) == expected_result
1310
+ assert _reference_pointer_name (ref ) == expected_result
1265
1311
1266
1312
1267
1313
def test__reference_model_name ():
@@ -1440,6 +1486,8 @@ def test_lazy_proxy_reference_unresolved():
1440
1486
assert lazy_reference_proxy .get_type_string (no_optional = True ) == "LazyReferencePropertyProxy"
1441
1487
assert lazy_reference_proxy .get_imports (prefix = ".." ) == set ()
1442
1488
assert lazy_reference_proxy .resolve () == None
1489
+ assert lazy_reference_proxy .required == False
1490
+ assert lazy_reference_proxy .nullable == True
1443
1491
with pytest .raises (RuntimeError ):
1444
1492
lazy_reference_proxy .resolve (False )
1445
1493
with pytest .raises (RuntimeError ):
@@ -1448,10 +1496,6 @@ def test_lazy_proxy_reference_unresolved():
1448
1496
copy .deepcopy (lazy_reference_proxy )
1449
1497
with pytest .raises (RuntimeError ):
1450
1498
lazy_reference_proxy .name
1451
- with pytest .raises (RuntimeError ):
1452
- lazy_reference_proxy .required
1453
- with pytest .raises (RuntimeError ):
1454
- lazy_reference_proxy .nullable
1455
1499
with pytest .raises (RuntimeError ):
1456
1500
lazy_reference_proxy .default
1457
1501
with pytest .raises (RuntimeError ):
0 commit comments