@@ -530,22 +530,20 @@ def test_add_parameters_parse_error(self, mocker):
530530 property_schemas ,
531531 )
532532
533- def test_add_parameters_parse_error_on_non_required_path_param (self , mocker ):
534- from openapi_python_client .parser .openapi import Endpoint , Schemas
535-
533+ def test__add_parameters_parse_error_on_non_required_path_param (self ):
536534 endpoint = self .make_endpoint ()
537- parsed_schemas = mocker .MagicMock ()
538- mocker .patch (f"{ MODULE_NAME } .property_from_data" , return_value = (mocker .MagicMock (), parsed_schemas ))
539535 param = oai .Parameter .construct (
540- name = "test" , required = False , param_schema = mocker .MagicMock (), param_in = oai .ParameterLocation .PATH
536+ name = "test" ,
537+ required = False ,
538+ param_schema = oai .Schema .construct (type = "string" ),
539+ param_in = oai .ParameterLocation .PATH ,
541540 )
542541 schemas = Schemas ()
543- config = MagicMock ()
544542
545543 result = Endpoint .add_parameters (
546- endpoint = endpoint , data = oai .Operation .construct (parameters = [param ]), schemas = schemas , config = config
544+ endpoint = endpoint , data = oai .Operation .construct (parameters = [param ]), schemas = schemas , config = Config ()
547545 )
548- assert result == (ParseError (data = param , detail = "Path parameter must be required" ), parsed_schemas )
546+ assert result == (ParseError (data = param , detail = "Path parameter must be required" ), schemas )
549547
550548 def test_validation_error_when_location_not_supported (self , mocker ):
551549 parsed_schemas = mocker .MagicMock ()
@@ -656,7 +654,7 @@ def test__add_parameters_skips_references(self):
656654 ]
657655 )
658656
659- (endpoint , _ ) = endpoint ._add_parameters (endpoint = endpoint , data = data , schemas = Schemas (), config = Config ())
657+ (endpoint , _ ) = endpoint .add_parameters (endpoint = endpoint , data = data , schemas = Schemas (), config = Config ())
660658
661659 assert isinstance (endpoint , Endpoint )
662660 assert (
@@ -679,7 +677,7 @@ def test__add_parameters_skips_params_without_schemas(self):
679677 ]
680678 )
681679
682- (endpoint , _ ) = endpoint ._add_parameters (endpoint = endpoint , data = data , schemas = Schemas (), config = Config ())
680+ (endpoint , _ ) = endpoint .add_parameters (endpoint = endpoint , data = data , schemas = Schemas (), config = Config ())
683681
684682 assert isinstance (endpoint , Endpoint )
685683 assert len (endpoint .path_parameters ) == 0
@@ -692,11 +690,13 @@ def test__add_parameters_same_identifier_conflict(self):
692690 name = "param" ,
693691 param_in = "path" ,
694692 param_schema = oai .Schema .construct (nullable = False , type = "string" ),
693+ required = True ,
695694 ),
696695 oai .Parameter .construct (
697696 name = "param_path" ,
698697 param_in = "path" ,
699698 param_schema = oai .Schema .construct (nullable = False , type = "string" ),
699+ required = True ,
700700 ),
701701 oai .Parameter .construct (
702702 name = "param" ,
@@ -706,7 +706,7 @@ def test__add_parameters_same_identifier_conflict(self):
706706 ]
707707 )
708708
709- (err , _ ) = endpoint ._add_parameters (endpoint = endpoint , data = data , schemas = Schemas (), config = Config ())
709+ (err , _ ) = endpoint .add_parameters (endpoint = endpoint , data = data , schemas = Schemas (), config = Config ())
710710
711711 assert isinstance (err , ParseError )
712712 assert "param_path" in err .detail
@@ -742,7 +742,7 @@ def test__add_parameters_query_optionality(self):
742742 ]
743743 )
744744
745- (endpoint , _ ) = endpoint ._add_parameters (endpoint = endpoint , data = data , schemas = Schemas (), config = Config ())
745+ (endpoint , _ ) = endpoint .add_parameters (endpoint = endpoint , data = data , schemas = Schemas (), config = Config ())
746746
747747 assert len (endpoint .query_parameters ) == 4 , "Not all query params were added"
748748 for param in endpoint .query_parameters .values ():
@@ -798,33 +798,29 @@ def test_add_parameters_duplicate_properties_different_location(self):
798798 assert result .path_parameters ["test" ].name == "test"
799799 assert result .query_parameters ["test" ].name == "test"
800800
801- def test_sort_parameters (self , mocker ):
801+ def test_sort_parameters (self , string_property_factory ):
802802 from openapi_python_client .parser .openapi import Endpoint
803803
804804 endpoint = self .make_endpoint ()
805805 endpoint .path = "/multiple-path-parameters/{param4}/{param2}/{param1}/{param3}"
806806
807807 for i in range (1 , 5 ):
808- param = oai .Parameter .construct (
809- name = f"param{ i } " , required = True , param_schema = mocker .MagicMock (), param_in = oai .ParameterLocation .PATH
810- )
811- endpoint .path_parameters .append (param )
808+ prop = string_property_factory (name = f"param{ i } " )
809+ endpoint .path_parameters [prop .name ] = prop
812810
813811 result = Endpoint .sort_parameters (endpoint = endpoint )
814- result_names = [p . name for p in result .path_parameters ]
812+ result_names = [name for name in result .path_parameters ]
815813 expected_names = [f"param{ i } " for i in (4 , 2 , 1 , 3 )]
816814
817815 assert result_names == expected_names
818816
819- def test_sort_parameters_invalid_path_templating (self , mocker ):
817+ def test_sort_parameters_invalid_path_templating (self , string_property_factory ):
820818 from openapi_python_client .parser .openapi import Endpoint
821819
822820 endpoint = self .make_endpoint ()
823821 endpoint .path = "/multiple-path-parameters/{param1}/{param2}"
824- param = oai .Parameter .construct (
825- name = "param1" , required = True , param_schema = mocker .MagicMock (), param_in = oai .ParameterLocation .PATH
826- )
827- endpoint .path_parameters .append (param )
822+ param = string_property_factory (name = "param1" )
823+ endpoint .path_parameters [param .name ] = param
828824
829825 result = Endpoint .sort_parameters (endpoint = endpoint )
830826
0 commit comments