У меня есть приложение Flask, в котором я использую отправленные сервером события для отправки данных в мой интерфейс.
@bp.route("/stream", methods=("GET",))
def stream_translations():
translation_schema = TranslationSchema()
def event_stream():
while True:
recently_updated = [
translation_schema.dump(translation)
for translation in recently_updated_translations()]
if recently_updated:
yield f"data: {json.dumps(recently_updated)}\n\n"
return Response(event_stream(), mimetype="text/event-stream")
Это работает нормально, но я также хочу написать тест, чтобы убедиться, что,Я никогда раньше не писал тест для генератора и определенно не отправлял события на сервер. В настоящее время это то, что у меня есть:
def test_stream(client):
response = client.get("/translations/stream")
assert response.status_code == 200
assert response.mimetype == "text/event-stream"
Конечно, это просто проверяет ответ, но я также хочу проверить генератор event_stream()
. Как мне это сделать?