@@ -306,8 +306,7 @@ def test_request_valid_param(self, validator):
306306 assert result .parameters == {'query' : {'resId' : 10 }}
307307
308308 def test_request_override_param (self , spec_dict ):
309- # override parameter path parameter on operation
310- # (name and in property must match)
309+ # override path parameter on operation
311310 spec_dict ["paths" ]["/resource" ]["get" ]["parameters" ] = [
312311 {
313312 # full valid parameter object required
@@ -327,6 +326,29 @@ def test_request_override_param(self, spec_dict):
327326 assert result .body is None
328327 assert result .parameters == {}
329328
329+ def test_request_override_param_uniqueness (self , spec_dict ):
330+ # add parameter on operation with same name as on path but
331+ # different location
332+ spec_dict ["paths" ]["/resource" ]["get" ]["parameters" ] = [
333+ {
334+ # full valid parameter object required
335+ "name" : "resId" ,
336+ "in" : "header" ,
337+ "required" : False ,
338+ "schema" : {
339+ "type" : "integer" ,
340+ },
341+ }
342+ ]
343+ validator = RequestValidator (create_spec (spec_dict ))
344+ request = MockRequest ('http://example.com' , 'get' , '/resource' )
345+ result = validator .validate (request )
346+
347+ assert len (result .errors ) == 1
348+ assert type (result .errors [0 ]) == MissingRequiredParameter
349+ assert result .body is None
350+ assert result .parameters == {}
351+
330352
331353class TestResponseValidator (object ):
332354
0 commit comments