Esempio n. 1
0
def test_version_must_be_a_string(value):
    data = RawSchemaFactory(swagger=value, )
    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(data)

    assert_message_in_errors(
        MESSAGES['type']['invalid'],
        err.value.detail,
        'swagger.type',
    )
Esempio n. 2
0
def test_consumes_with_invalid_mimetype():
    raw_schema = RawSchemaFactory(consumes=['invalid-mimetype'])

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['mimetype']['invalid'],
        err.value.detail,
        'consumes',
    )
Esempio n. 3
0
def test_invalid_host_value_with_scheme(value):
    raw_schema = RawSchemaFactory(host=value)

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['host']['may_not_include_scheme'],
        err.value.detail,
        'host.scheme',
    )
Esempio n. 4
0
def test_schemes_invalid_for_non_array_value(value):
    raw_schema = RawSchemaFactory(schemes=value)

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['type']['invalid'],
        err.value.detail,
        'schemes.type',
    )
Esempio n. 5
0
def test_schemes_invalid_for_invalid_schemes_value():
    raw_schema = RawSchemaFactory(schemes=['invalid-scheme'])

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['schemes']['invalid'],
        err.value.detail,
        'schemes',
    )
Esempio n. 6
0
def test_paths_dynamically_validates_paths():
    raw_schema = RawSchemaFactory(paths={'does-not-start-with-slash': None})

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['path']['must_start_with_slash'],
        err.value.detail,
        'paths.does-not-start-with-slash',
    )
Esempio n. 7
0
def test_base_path_must_begin_with_slash():
    raw_schema = RawSchemaFactory(basePath='api/v3/')

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['path']['must_start_with_slash'],
        err.value.detail,
        'basePath',
    )
Esempio n. 8
0
def test_swagger_field_with_invalid_version():
    raw_schema = RawSchemaFactory(swagger='not-valid')

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['enum']['invalid'],
        err.value.detail,
        'swagger.enum',
    )
Esempio n. 9
0
def test_schemes_invalid_for_invalid_schemes_value():
    raw_schema = RawSchemaFactory(schemes=['invalid-scheme'])

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['schemes']['invalid'],
        err.value.detail,
        'schemes',
    )
Esempio n. 10
0
def test_swagger_field_with_invalid_version():
    raw_schema = RawSchemaFactory(swagger='not-valid')

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['enum']['invalid'],
        err.value.detail,
        'swagger.enum',
    )
Esempio n. 11
0
def test_swagger_field_with_valid_version():
    raw_schema = RawSchemaFactory(swagger='2.0')

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors('swagger', errors)
Esempio n. 12
0
def test_paths_with_invalid_types(value):
    raw_schema = RawSchemaFactory(paths=value)

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['type']['invalid'],
        err.value.detail,
        'paths.type',
    )
Esempio n. 13
0
def test_schemes_invalid_for_non_array_value(value):
    raw_schema = RawSchemaFactory(schemes=value)

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['type']['invalid'],
        err.value.detail,
        'schemes.type',
    )
def test_consumes_with_invalid_mimetype():
    raw_schema = RawSchemaFactory(consumes=['invalid-mimetype'])

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['mimetype']['invalid'],
        err.value.detail,
        'consumes',
    )
Esempio n. 15
0
def test_invalid_host_value_with_scheme(value):
    raw_schema = RawSchemaFactory(host=value)

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['host']['may_not_include_scheme'],
        err.value.detail,
        'host.scheme',
    )
Esempio n. 16
0
def test_base_path_must_begin_with_slash():
    raw_schema = RawSchemaFactory(basePath='api/v3/')

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['path']['must_start_with_slash'],
        err.value.detail,
        'basePath',
    )
Esempio n. 17
0
def test_paths_dynamically_validates_paths():
    raw_schema = RawSchemaFactory(paths={'does-not-start-with-slash': None})

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['path']['must_start_with_slash'],
        err.value.detail,
        'paths.does-not-start-with-slash',
    )
Esempio n. 18
0
def test_paths_with_invalid_types(value):
    raw_schema = RawSchemaFactory(paths=value)

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['type']['invalid'],
        err.value.detail,
        'paths.type',
    )
Esempio n. 19
0
def test_version_must_be_a_string(value):
    data = RawSchemaFactory(
        swagger=value,
    )
    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(data)

    assert_message_in_errors(
        MESSAGES['type']['invalid'],
        err.value.detail,
        'swagger.type',
    )
Esempio n. 20
0
def test_swagger_field_cannot_be_null():
    raw_schema = RawSchemaFactory(swagger=None)

    assert raw_schema['swagger'] is None

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_path_in_errors(
        'swagger',
        err.value.detail,
    )
Esempio n. 21
0
def test_paths_is_required():
    raw_schema = RawSchemaFactory()
    raw_schema.pop('paths', None)

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['required']['required'],
        err.value.detail,
        'required.paths',
    )
Esempio n. 22
0
def test_paths_is_required():
    raw_schema = RawSchemaFactory()
    raw_schema.pop('paths', None)

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['required']['required'],
        err.value.detail,
        'paths.required',
    )
Esempio n. 23
0
def test_swagger_field_cannot_be_null():
    raw_schema = RawSchemaFactory(swagger=None)

    assert raw_schema['swagger'] is None

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_path_in_errors(
        'swagger',
        err.value.detail,
    )
def test_produces_with_valid():
    raw_schema = RawSchemaFactory(produces=['application/json'])

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'produces',
        errors,
    )
Esempio n. 25
0
def test_valid_host_values(value):
    raw_schema = RawSchemaFactory(host=value)

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'host',
        errors,
    )
Esempio n. 26
0
def test_base_path_with_valid_path():
    raw_schema = RawSchemaFactory(basePath='/api/v3/')

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'basePath',
        errors,
    )
Esempio n. 27
0
def test_produces_with_valid():
    raw_schema = RawSchemaFactory(produces=['application/json'])

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'produces',
        errors,
    )
Esempio n. 28
0
def test_swagger_field_with_valid_version():
    raw_schema = RawSchemaFactory(swagger='2.0')

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'swagger',
        errors
    )
Esempio n. 29
0
def test_valid_host_values(value):
    raw_schema = RawSchemaFactory(host=value)

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'host',
        errors,
    )
Esempio n. 30
0
def test_base_path_with_valid_path():
    raw_schema = RawSchemaFactory(basePath='/api/v3/')

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'basePath',
        errors,
    )
def test_consumes_not_required():
    raw_schema = RawSchemaFactory()
    raw_schema.pop('consumes', None)

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'consumes',
        errors,
    )
Esempio n. 32
0
def test_consumes_not_required():
    raw_schema = RawSchemaFactory()
    raw_schema.pop('consumes', None)

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'consumes',
        errors,
    )
Esempio n. 33
0
def test_info_field_is_required():
    """
    Test that the info field is required for overall schema validation.
    """
    raw_schema = RawSchemaFactory()
    raw_schema.pop('info', None)

    assert 'info' not in raw_schema

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['required']['required'],
        err.value.detail,
        'required.info',
    )
Esempio n. 34
0
def test_swagger_field_is_required():
    """
    Test that the info field is required for overall schema validation.
    """
    raw_schema = RawSchemaFactory()
    raw_schema.pop('swagger', None)

    assert 'swagger' not in raw_schema

    with pytest.raises(ValidationError) as err:
        swagger_schema_validator(raw_schema)

    assert_message_in_errors(
        MESSAGES['required']['required'],
        err.value.detail,
        'required.swagger',
    )
Esempio n. 35
0
def SchemaFactory(**kwargs):
    raw_schema = RawSchemaFactory(**kwargs)

    context = {'deferred_references': set()}
    definitions = definitions_validator(raw_schema, context=context)

    swagger_schema = swagger_schema_validator(raw_schema, context=definitions)

    return swagger_schema
Esempio n. 36
0
def SchemaFactory(**kwargs):
    raw_schema = RawSchemaFactory(**kwargs)

    context = {'deferred_references': set()}
    definitions = definitions_validator(raw_schema, context=context)

    swagger_schema = swagger_schema_validator(raw_schema, context=definitions)

    return swagger_schema
Esempio n. 37
0
def test_schemes_is_not_required():
    """
    Test that the info field is required for overall schema validation.
    """
    raw_schema = RawSchemaFactory()
    raw_schema.pop('schemes', None)

    assert 'schemes' not in raw_schema

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'schemes',
        errors,
    )
Esempio n. 38
0
def parse(raw_schema):
    context = {
        'deferred_references': set(),
    }
    swagger_definitions = definitions_validator(raw_schema, context=context)

    swagger_schema = swagger_schema_validator(
        raw_schema,
        context=swagger_definitions,
    )
    return swagger_schema
Esempio n. 39
0
def parse(raw_schema):
    context = {
        'deferred_references': set(),
    }
    swagger_definitions = definitions_validator(raw_schema, context=context)

    swagger_schema = swagger_schema_validator(
        raw_schema,
        context=swagger_definitions,
    )
    return swagger_schema
Esempio n. 40
0
def test_base_path_is_not_required():
    """
    Test that the info field is required for overall schema validation.
    """
    raw_schema = RawSchemaFactory()
    raw_schema.pop('basePath', None)

    assert 'basePath' not in raw_schema

    try:
        swagger_schema_validator(raw_schema)
    except ValidationError as err:
        errors = err.detail
    else:
        errors = {}

    assert_path_not_in_errors(
        'basePath',
        errors,
    )