Как получить код состояния API http, когда Bravado вызывает ошибку SwaggerMappingError?

Я использую Bravado и Pytest для написания тестов для REST API, определенного с помощью Swagger.

Я хочу знать, есть ли способ использовать Bravado для получения кода состояния HTTP, возвращаемого API в случаях, когда SwaggerMappingError Поднялся. Другие исключения бравады, такие как HTTPBadRequestсодержат информацию о коде состояния HTTP, который API возвратит, но SwaggerMappingError не.

Ниже приведен пример теста, который поднимает SwaggerMappingError:

async def test_failure_with_missing_external_id(self, swagger_client, http_headers, event_instance):

    """
    Test failure with missing external_id, should return a 400 response

    """
    with pytest.raises(SwaggerMappingError):

        _, http_response = await bravado_request(

            swagger_client.Events.getEvents(
                event_id=event_instance.id,
                request_options={"headers": http_headers})
        )
        # The below line of code will never be executed, as 
        # as a SwaggerMappingError will be thrown before it
        # is reached.
        assert http_response.status_code = 400

Должен ли я просто написать не-Bravado тесты для этих случаев, или есть какой-то способ сделать это с помощью Bravado?

0 ответов

Другие вопросы по тегам