mirror of
https://github.com/LukeHagar/connexion.git
synced 2025-12-09 12:27:46 +00:00
convert value to type before running validators
This commit is contained in:
@@ -27,7 +27,9 @@ def test_validate_maximum():
|
||||
|
||||
def test_parameter_validator(monkeypatch):
|
||||
request = MagicMock(name='request')
|
||||
request.args = {}
|
||||
request.headers = {}
|
||||
request.params = {}
|
||||
app = MagicMock(name='app')
|
||||
app.response_class = lambda a, mimetype, status: json.loads(a)['detail']
|
||||
monkeypatch.setattr('flask.request', request)
|
||||
@@ -38,6 +40,7 @@ def test_parameter_validator(monkeypatch):
|
||||
|
||||
params = [{'name': 'p1', 'in': 'path', 'type': 'integer', 'required': True},
|
||||
{'name': 'h1', 'in': 'header', 'type': 'string', 'enum': ['a', 'b']},
|
||||
{'name': 'q1', 'in': 'query', 'type': 'integer', 'maximum': 3},
|
||||
{'name': 'a1', 'in': 'query', 'type': 'array', 'items': {'type': 'integer', 'minimum': 0}}]
|
||||
validator = ParameterValidator(params)
|
||||
handler = validator(orig_handler)
|
||||
@@ -48,6 +51,11 @@ def test_parameter_validator(monkeypatch):
|
||||
assert handler(p1='foo') == "Wrong type, expected 'integer' for path parameter 'p1'"
|
||||
assert handler(p1='1.2') == "Wrong type, expected 'integer' for path parameter 'p1'"
|
||||
|
||||
request.args = {'q1': '4'}
|
||||
assert handler(p1=1) == 'Invalid value, must be at most 3'
|
||||
request.args = {'q1': '3'}
|
||||
assert handler(p1=1) == 'OK'
|
||||
|
||||
request.args = {'a1': '1,2'}
|
||||
assert handler(p1=1) == "OK"
|
||||
request.args = {'a1': '1,a'}
|
||||
|
||||
Reference in New Issue
Block a user