Как получить код состояния 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?