def test_skip_validation_for_optional_enum_with_None_value( jsonschema_enum_validator): enums = ['encrypted', 'plaintext'] param_schema = { 'type': 'string', 'in': 'query', 'required': False, 'enum': enums } swagger_spec = Mock(spec=Spec, deref=Mock(return_value=param_schema)) param_value = None enum_validator(swagger_spec, None, enums, param_value, param_schema) assert jsonschema_enum_validator.call_count == 0
def test_single_jsonschema_call_if_enum_instance_not_array(): enums = ['a1', 'b2', 'c3'] param_schema = { 'enum': enums } with mock.patch('jsonschema._validators.enum') as m: [list(x) for x in enum_validator( None, enums, ['a1', 'd4'], param_schema)] m.assert_called_once_with(None, enums, ['a1', 'd4'], param_schema)
def test_single_jsonschema_call_if_enum_instance_not_array(): enums = ['a1', 'b2', 'c3'] param_schema = {'enum': enums} with mock.patch('jsonschema._validators.enum') as m: [ list(x) for x in enum_validator(None, enums, ['a1', 'd4'], param_schema) ] m.assert_called_once_with(None, enums, ['a1', 'd4'], param_schema)
def test_single_jsonschema_call_if_enum_instance_not_array( jsonschema_enum_validator): enums = ['a1', 'b2', 'c3'] param_schema = {'enum': enums} swagger_spec = Mock(spec=Spec, deref=Mock(return_value=param_schema)) # list() forces iteration over the generator list(enum_validator(swagger_spec, None, enums, ['a1', 'd4'], param_schema)) jsonschema_enum_validator.assert_called_once_with(None, enums, ['a1', 'd4'], param_schema)
def test_single_jsonschema_call_if_enum_instance_not_array( jsonschema_enum_validator): enums = ['a1', 'b2', 'c3'] param_schema = { 'enum': enums } swagger_spec = Mock(spec=Spec, deref=Mock(return_value=param_schema)) # list() forces iteration over the generator list(enum_validator(swagger_spec, None, enums, ['a1', 'd4'], param_schema)) jsonschema_enum_validator.assert_called_once_with( None, enums, ['a1', 'd4'], param_schema)
def test_multiple_jsonschem_call_if_enum_items_present_as_array(): enums = ['a1', 'b2', 'c3'] param_schema = { 'type': 'array', 'items': {'type': 'string'}, 'enum': enums } with mock.patch('jsonschema._validators.enum') as m: for x in enum_validator(None, enums, ['a1', 'd4'], param_schema): list(x) m.assert_any_call(None, enums, 'a1', param_schema) m.assert_any_call(None, enums, 'd4', param_schema)
def test_multiple_jsonschem_call_if_enum_items_present_as_array(): enums = ['a1', 'b2', 'c3'] param_schema = { 'type': 'array', 'items': { 'type': 'string' }, 'enum': enums } with mock.patch('jsonschema._validators.enum') as m: for x in enum_validator(None, enums, ['a1', 'd4'], param_schema): list(x) m.assert_any_call(None, enums, 'a1', param_schema) m.assert_any_call(None, enums, 'd4', param_schema)
def test_multiple_jsonschema_calls_if_enum_items_present_as_array(): swagger_spec = Mock(spec=Spec) enums = ['a1', 'b2', 'c3'] param_schema = { 'type': 'array', 'items': { 'type': 'string' }, 'enum': enums } # list() forces iteration over the generator errors = list(enum_validator(swagger_spec, None, enums, ['a1', 'd4'], param_schema)) assert len(errors) == 1 assert "'d4' is not one of ['a1', 'b2', 'c3']" in str(errors[0])
def test_multiple_jsonschema_call_ifs_enum_items_present_as_array( jsonschema_enum_validator): swagger_spec = Mock(spec=Spec) enums = ['a1', 'b2', 'c3'] param_schema = { 'type': 'array', 'items': { 'type': 'string' }, 'enum': enums } # list() forces iteration over the generator list(enum_validator(swagger_spec, None, enums, ['a1', 'd4'], param_schema)) jsonschema_enum_validator.assert_any_call(None, enums, 'a1', param_schema) jsonschema_enum_validator.assert_any_call(None, enums, 'd4', param_schema)