@@ -306,8 +306,7 @@ def test_request_valid_param(self, validator):
306
306
assert result .parameters == {'query' : {'resId' : 10 }}
307
307
308
308
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
311
310
spec_dict ["paths" ]["/resource" ]["get" ]["parameters" ] = [
312
311
{
313
312
# full valid parameter object required
@@ -327,6 +326,29 @@ def test_request_override_param(self, spec_dict):
327
326
assert result .body is None
328
327
assert result .parameters == {}
329
328
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
+
330
352
331
353
class TestResponseValidator (object ):
332
354
0 commit comments