Я настраиваю модульные тесты для своего приложения для колбМногие из моих функций передают вывод в графический интерфейс, как этот:
def stream():
def generate():
if request.method == "POST":
hostname = request.data.decode('utf-8')
hostname_dn = "{}.{}".format(hostname, DOMAIN)
logging.info("Connecting to: {}".format(hostname_dn))
# Connect to hostname and execute create reports
client = set_up_client()
client.connect(hostname_dn,
username=USERNAME,
password=PASSWORD)
cmd = ('tail -f -n0 /home/server.log')
stdin, stdout, stderr = client.exec_command(cmd)
for line in iter(lambda: stdout.readline(2048), ""):
logging.info(line, end="")
yield line
if re.search(r'keyword', line):
yield 'keyword detected\n'
break
return Response(stream_with_context(generate()), mimetype='text/html')
Мой вопрос: как я могу использовать операторы assert
для проверки этих функций?Так как они возвращают ответ потока.Есть ли способ, которым я могу добавить дополнительный параметр в операторе возврата, например, 200 или что-то еще, затем использовать assert для проверки успешности потока?