def test_enum_error(monkeypatch): logger = MagicMock() monkeypatch.setattr('connexion.decorators.validation.logger', logger) value = 'INVALID' param = {'schema': {'type': 'string', 'enum': ['valid']}, 'name': 'test_path_param'} result = ParameterValidator.validate_parameter('path', value, param) assert result.startswith("'INVALID' is not one of ['valid']")
def test_invalid_type_value_error(monkeypatch): logger = MagicMock() monkeypatch.setattr('connexion.decorators.validation.logger', logger) value = {'test': 1, 'second': 2} result = ParameterValidator.validate_parameter('formdata', value, { 'type': 'boolean', 'name': 'foo' }) assert result == "Wrong type, expected 'boolean' for formdata parameter 'foo'"
def test_get_nullable_parameter(): param = { 'type': 'number', 'required': True, 'name': 'foo', 'x-nullable': True } result = ParameterValidator.validate_parameter('formdata', 'None', param) assert result is None
def test_get_nullable_parameter(): param = { 'schema': { 'type': 'number', 'nullable': True }, 'required': True, 'name': 'foo' } result = ParameterValidator.validate_parameter('query', 'null', param) assert result is None
def test_invalid_type(monkeypatch): logger = MagicMock() monkeypatch.setattr('connexion.decorators.validation.logger', logger) result = ParameterValidator.validate_parameter('formdata', 20, {'type': 'string', 'name': 'foo'}) expected_result = """20 is not of type 'string' Failed validating 'type' in schema: {'name': 'foo', 'type': 'string'} On instance: 20""" assert result == expected_result logger.info.assert_called_once()
def test_get_explodable_object_parameter(): param = { 'schema': { 'type': 'object', 'additionalProperties': True }, 'required': True, 'name': 'foo', 'style': 'deepObject', 'explode': True } result = ParameterValidator.validate_parameter('query', {'bar': 1}, param) assert result is None
def test_enum_error(monkeypatch): logger = MagicMock() monkeypatch.setattr('connexion.decorators.validation.logger', logger) value = 'INVALID' param = { 'schema': { 'type': 'string', 'enum': ['valid'] }, 'name': 'test_path_param' } result = ParameterValidator.validate_parameter('path', value, param) assert result.startswith("'INVALID' is not one of ['valid']")
def test_get_valid_parameter_with_enum_array_header(): value = 'VALUE1,VALUE2' param = { 'schema': { 'type': 'array', 'items': { 'type': 'string', 'enum': ['VALUE1', 'VALUE2'] } }, 'name': 'test_header_param' } result = ParameterValidator.validate_parameter('header', value, param) assert result is None
def test_invalid_type(monkeypatch): logger = MagicMock() monkeypatch.setattr('connexion.decorators.validation.logger', logger) result = ParameterValidator.validate_parameter('formdata', 20, { 'type': 'string', 'name': 'foo' }) expected_result = """20 is not of type 'string' Failed validating 'type' in schema: {'name': 'foo', 'type': 'string'} On instance: 20""" assert result == expected_result logger.info.assert_called_once()
def test_get_valid_parameter_with_required_attr(): param = {'type': 'number', 'required': True, 'name': 'foobar'} result = ParameterValidator.validate_parameter('formdata', 20, param) assert result is None
def test_invalid_type_value_error(monkeypatch): logger = MagicMock() monkeypatch.setattr('connexion.decorators.validation.logger', logger) value = {'test': 1, 'second': 2} result = ParameterValidator.validate_parameter('formdata', value, {'type': 'boolean', 'name': 'foo'}) assert result == "Wrong type, expected 'boolean' for formdata parameter 'foo'"
def test_get_valid_parameter(): result = ParameterValidator.validate_parameter('formdata', 20, {'type': 'number', 'name': 'foobar'}) assert result is None
def test_get_nullable_parameter(): param = {'schema': {'type': 'number', 'nullable': True}, 'required': True, 'name': 'foo'} result = ParameterValidator.validate_parameter('query', 'null', param) assert result is None
def test_get_valid_path_parameter(): param = {'required': True, 'schema': {'type': 'number'}, 'name': 'foobar'} result = ParameterValidator.validate_parameter('path', 20, param) assert result is None
def test_get_missing_required_parameter(): param = {'type': 'number', 'required': True, 'name': 'foo'} result = ParameterValidator.validate_parameter('formdata', None, param) assert result == "Missing formdata parameter 'foo'"
def validate_parameter(*args, **kwargs): result = ParameterValidator.validate_parameter(*args, **kwargs) if result is not None: raise DSSBindingException(result) return result
def test_get_nullable_parameter(): param = {'type': 'number', 'required': True, 'name': 'foo', 'x-nullable': True} result = ParameterValidator.validate_parameter('formdata', 'None', param) assert result is None
def test_get_valid_parameter(): result = ParameterValidator.validate_parameter('formdata', 20, { 'type': 'number', 'name': 'foobar' }) assert result is None