Загрузка данных


Тело теста
Подготовка параметров сценария формирования отчёта об утечках 3 вложенных шага, 1 вложение0s
В конфигурации задан export_leaks_report_test Ожидаемый результат: export_leaks_report_test не пустое Фактический результат: export_leaks_report_test = CaseMarkers(test_case_id='', offset=1)0s
Смещение timeOffset для запросов отчёта (часовой пояс Europe/Moscow) Ожидаемый результат: time_offset_hours не пустое Фактический результат: time_offset_hours = 30s
Задан ожидаемый текст режима МТ для отчёта Ожидаемый результат: expected_mt_mode не пустое Фактический результат: expected_mt_mode = Стационарный режим работы МТ0s
Фильтр периода отчёта
 106 B
period.start=2026-05-26 17:52:42.285998+03:00
period.end=2026-05-26 17:53:42.285998+03:00
offset_minutes=1
Этап 1. Подписка на пуш-нотификации (SubscribeReportsDataExportedRequest) 1 вложенный шаг1ms
Вызов SubscribeReportsDataExportedRequest c параметрами []0s
Этап 2. Запрос формирования отчёта (ExportReportsCommandRequest) 1 вложенный шаг1ms
Вызов ExportReportsCommandRequest c параметрами {'tuId': 3, 'exportedDataTypes': [4], 'timeOffset': 3, 'period': {'start': [Timestamp(seconds=1779807162, nanoseconds=0), 0], 'end': [Timestamp(seconds=1779807222, nanoseconds=0), 0], 'additionalProperties': {}}}1ms
Этап 3. Ожидание пуш-нотификации ReportDataExportedNotification о готовности отчёта10s 002ms
Проверка пуш-нотификации о готовности отчёта 5 вложенных шагов0s
Получена пуш-нотификация о готовности отчёта Ожидаемый результат: notification не пустое Фактический результат: notification = ReportDataExportedNotification(replyStatus=200, replyContent=ReportDataExportedContent(id=UUID('019e64c7-5470-73c2-b923-8dff872b8954'), exportStatus=<ExportStatus.DONE: 1>, errorMessage=''), replyErrors=None)0s
Проверка статуса пуш-нотификации Ожидаемый результат: replyStatus = 200 Фактический результат: replyStatus = 2000s
Проверка наличия контента нотификации Ожидаемый результат: replyContent не пустое Фактический результат: replyContent = ReportDataExportedContent(id=UUID('019e64c7-5470-73c2-b923-8dff872b8954'), exportStatus=<ExportStatus.DONE: 1>, errorMessage='')0s
Проверка exportStatus в нотификации Ожидаемый результат: exportStatus = ExportStatus.DONE Фактический результат: exportStatus = ExportStatus.DONE0s
Проверка отсутствия ошибки в нотификации Ожидаемый результат: errorMessage = Фактический результат: errorMessage =0s
Этап 4. Лонг-поллинг GetExportedDataListRequest до появления отчёта в списке 1 вложенный шаг, 1 вложение10s 006ms
Вызов GetExportedDataListRequest c параметрами {'limit': 10}0s
Список сформированных файлов (попытка, всего: 10)
 1.6 KiB
id=74, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-26 14:52:42+00:00, end=2026-05-26 14:53:42+00:00
id=73, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-26 14:22:15+00:00, end=2026-05-26 14:23:15+00:00
id=72, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-26 12:11:11+00:00, end=2026-05-26 12:12:11+00:00
id=71, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-26 11:56:25+00:00, end=2026-05-26 11:57:25+00:00
id=70, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-26 09:28:00+00:00, end=2026-05-26 09:29:00+00:00
id=69, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-25 15:51:52+00:00, end=2026-05-25 15:52:52+00:00
id=68, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-25 15:01:57+00:00, end=2026-05-25 15:02:57+00:00
id=67, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-25 14:49:44+00:00, end=2026-05-25 14:50:44+00:00
id=66, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-25 11:48:27+00:00, end=2026-05-25 12:50:27+00:00
id=65, name=Отчет об утечках Тихорецк-Новороссийск-3, type=4, start=2026-05-22 13:12:25+00:00, end=2026-05-22 14:14:25+00:00
Проверка: отчёт найден в списке сформированных файлов 1 вложенный шаг, 1 вложение0s
Отчёт найден в списке сформированных файлов Ожидаемый результат: report_item не пустое Фактический результат: report_item = ExportedDataItem(id=74, name='Отчет об утечках Тихорецк-Новороссийск-3', exportedDataType=<ExportedDataType.LEAKS_REPORT: 4>, start=datetime.datetime(2026, 5, 26, 14, 52, 42, tzinfo=datetime.timezone.utc), end=datetime.datetime(2026, 5, 26, 14, 53, 42, tzinfo=datetime.timezone.utc))0s
Найденный отчёт в списке
 170 B
id=74, name=Отчет об утечках Тихорецк-Новороссийск-3, exportedDataType=4, start=2026-05-26 14:52:42+00:00, end=2026-05-26 14:53:42+00:00
Этап 5. Streaming-вызов DownloadExportedDataRequest по id=74 1 вложенный шаг1ms
Streaming-вызов DownloadExportedDataRequest c параметрами {'exportedDataId': 74, 'exportedDataType': 'LeaksReport', 'additionalProperties': None, 'timeOffset': 3}1ms
Этап 6. Получение fileChunk - скачивание отчёта по утечкам1s 003ms
Проверка ответа на скачивание и формата xlsx 4 вложенных шага0s
Проверка статуса ответа на скачивание Ожидаемый результат: replyStatus = 200 Фактический результат: replyStatus = 2000s
Проверка наличия контента ответа на скачивание Ожидаемый результат: replyContent не пустое Фактический результат: replyContent = DownloadExportedDataContent(fileChunk=b'PK\x03\x04\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\xb3\x0e\xa6h\x1c\x01\x00\x00\xcf\x01\x00\x00\x0f\x00\x00\x00xl/workbook.xml\x8dP\xbdN\xc30\x10~\x15\xcb;u\x89T@Q\xd3.,]\x10\x12\x15\xcc\xae}i\xac\xc6vd\xbbm\xe6 \xd4\xb7\xe0\x19``a\xe0\x19\xec7\xc2N\x1b\xb5bb\xf2\x9d\xef\xbe\xbf\x9b\xce[Y\xa3\x1d\x18+\xb4*\xf0\xf5h\x8c\x11(\xa6\xb9P\xeb\x02o]yu\x87\xe7\xb3i\x9b\xef\xb5\xd9\xac\xb4\xde\xa0\xb8\xafln\n\\9\xd7\xe4\x84XV\x81\xa4v\xa4\x1bPqVj#\xa9\x8b\xadY\x13]\x96\x82\xc1\xbdf[\t\xca\x91l<\xbe!\x06j\xea\xa2\x96\xadDc\xf1\x89\xad\xfd\x0f\x9bm\x0cPn+\x00\'\xeb#\x99\xa4B\xe1Kw\x8f\x06E\xef\xf0@%\x14xY\t\xfbr\x1a`D\xd2^*\x9f\x05\xec\xed%(}\xa0R\x18\xeb\x9e\x12y\x81\xe3\r(sb\x07K\xba\xea\xbb\x88%\x7f\xc0\xbd\x8fs\x85T/\xe9\xdfC\x17\x0e\xfe+t\xc8\xff\xf8O\x14^C\x17\xbb\x83\xff\xf6\x1f\xe1\r\xa3~w\xc1\xe3\xa112\xb9\x88\x85Y\xf0l\x108sr(\x85\x02\x9er\xd8\xa3sFk\x96\xd2\xc5\xa7\xc7g\x93\xdbl2\x00\x87$\xb3_PK\x03\x04\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\x02XV\x84}\x01\x00\x00\x7f\x03\x00\x00\x10\x00\x00\x00docProps/app.xml\x9dSAN\xc30\x10\xfc\x8a\xf1\x1dR\nB\xa8J\x8d*@\xe2\x02T\xb4\x82#2\xce\xa6\xb5Hl\xcb\xdeF\x85c\x11\xea/x\x03\x1c\xb8p\xe0\r\xc9\x8fpRhC\xa1\x08\xf5\xe6\x1d\xcf\xaeg\xc6vx0N\x13\x92\x81uR\xab6\xdd\xdejP\x02J\xe8H\xaaA\x9b\x8e0\xde\xdc\xa7\x07,\xe4\xa6\xd5\xb5\xda\x80E\t\x8e\xf8\x16\xe5Z\x19\xb6\xe9\x10\xd1\xb4\x82\xc0\x89!\xa4\xdcmy\x86\xf2\x9b\xb1\xb6)G_\xdaA\xa0\xe3X\n8\xd2b\x94\x82\xc2\xa0\xd9h\xec\x05\x91\x16\xe54w\xd9\xbf3\xe0\xe8\xe7<n\xd6\x9d\x07c\x04\x15A\xb4i\xe6\x1ai\xa5\xb9cL"\x05G\xef\x8d\x9dJa\xb5\xd31\x92\xe3\xb1\x80$\x0c\x96\xf6K~_b\x02\xee<\xeer\x8b\x8e\x85\x19\xb62\x10\xa8-\xb9\xe1\x0eJ\xb1m\x9a\x18\x87\x96\x12\'\xef}\xb1C+R\x85\xb1\xfc\xa9\x98\x14\xd3\xfc\xb5\x98\x90\xfc=\x7f!\xc5C1\xf1\xd54\x7f\xcb\x9f\x8b\xc70\x98\x13\xff\xdb\xb2\xd1\xb5R\xe1u\xc7\x02_\xbf{f\xa9\xde\x1f\xccm\xb1*\x84%\xd3\x1e9\x01^\xde\x7f\x97K\xbb"\x85\x8c[\xc9\x15~\xe5\xb0;\xcb\xe1\x13\xadI\xbc\xd2\xf6\xd6\r\x01\xf0\xa7\x82\x1a\xb7\xbe\x96\xbbl\xbb"\xf8\xc5\x9f\xc4\xd9\xac3\x9eBD.\xb8\x1a\xfcbr\xf5\x11\xcd\xdf\x8fX\x8e\xe6{\x10\x1e\xf0\xef\xae\x07bd%\xde\xb1FE\xa9#%\xa3\'x\x02\x87\xfe\x1d\xb2\x98\'\x0e*\xce\x02\xab\xca\xc5Ob\x1fPK\x03\x04\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\8+\x8d\x94=\x01\x00\x00Q\x02\x00\x00\x14\x00\x00\x00xl/sharedStrings.xml\x85\x92\xddj\xc2@\x10\x85_e\xc8}\xb31\xad\xb6\x04\x7f\x9e%\xe8\xaa\x01\x93Hv[\xbc\xd4\xb4V\xa8\x17\xde\xf4\xa2\x94"\xfdy\x01\x15-\xa9\xc4\xf4\x15f\xde\xa8\x93\x08\xa5-\x84\xde\x0c\x0c\xe7\xcc7s\x96\xad\xb7F\xfe\x00\xaed\xa4\xbc0h\x18\x15\xd32@\x06\xed\xb0\xe3\x05\xbd\x86q\xa9\xbb\'\x17F\xabY\x1f9Ji`k\xa0\x9cQ\xc3\xe8k=t\x84P\xed\xbe\xf4]e\x86C\x19\xb0\xd6\r#\xdf\xd5\xdcF=\xa1\x86\x91t;\xaa/\xa5\xf6\x07\xc2\xb6\xac\x9a\xf0]/0\n\x94\x97W\xdd\xc4%\xc54\xc3\x1d\xc5\x80\x19\xae\x81\xae)\xe6n\x86{\\\xd1\x14h\x02v\xcd\xb4\xaa\xa6m\xd95\xa8\x9c;U\xdb9\xb3\x01?1\xfb+\x9c\xb2P\x1793\xafG\xfe\xf7\x96{\xa6\xc5\xb8\x02L\x0074\xc6\x1d\xa6\xb4(u/qMw\xec\xd9S\\\xeayf\xfd\x1d\x13L\x81q+\\c\xc6A\xe6\x80/<\xfdV:\xf5\x80\x07\xbaa\xeb\x18S\xbe\xe8\x16\x13Zpn(\xba\tgNX\xc9p\xc3\xc0\x03\xb3\x93R\xce#\xbbr\xca\x96]\x87c\xb6\x7f\xd3\xa4\xbc{\x8e\x1f\xc5\xbd4\xa1)#\xb6?\xdf\xbb|[Y\xd6\'|\xfd=#\x8a?\xd2\xfc\x02PK\x03\x04\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\x95\xf3\x9biu\x02\x00\x00;\x0b\x00\x00\r\x00\x00\x00xl/styles.xml\xedVmk\xdb0\x10\xfe+B\xdfW%\x19\x1b\xa3\xc4)[G\xa0P\xba\xb1v\xd0\xaf\x8a}\xb6\xb5\xca\x92\x91.\xad\xd3_?\xbd\xd9y\xa1lu\xa0\x81\xc1\xfc\xc5w\x8f\xef9\xdd\x9dN\'\xcf/\xbaF\x92G0Vh\x95\xd1\xe9\xd9\x84\x12P\xb9.\x84\xaa2\xba\xc6\xf2\xdd\'z\xb1\x98w\xe7\x167\x12nk\x00$\x8e\xa1\xecy\x97\xd1\x1a\xb1=g\xcc\xe654\xdc\x9e\xe9\x16\x94\xfbVj\xd3pt\xaa\xa9\x98m\r\xf0\xc2zZ#\xd9l2\xf9\xc8\x1a.\x14\xf5\x1e\xd5\xbaY6hI\xae\xd7\n\xdd\xd2; \x89\xaf\xab"\xa3.\x9e\xe8\xf0R\x17\x90QJ\xd8b\xce\x06\xb2\xa7\x94Z\x1dz\xf1\x90\x7f\xbb\xbc\xf0\xb3\x14\x95"\x8f\\ft\xc5-H\xa1 8q)=Gx:M@\xae\xa56\xc4T\xab\x8c.\x97\x93\xf0\xa4/\x8a7\x10\x8d/\xb9\x14+#\x12^\xf2F\xc8M\xfc2\xebc\x8b\xab\'!\x86(\xa4\x1cB\x9c\xd1\x1e\xf2\xef\x96#\x82QK\xa7\x92$\xdfmZ\x97\xa9\xd2)P\xb65\xfe+\xa92|3\x9d}\xd8\xe7%!D\xb2\xd2\xa6p\x9b\xbd\x1fK\x04I!x\xa5\x15\x97?\xdbP\xf6^\xfd\xaa\x9f\x94\x07\xbc\xa5\x84\x12Ih\x85\x14\xe0\x9f\xca\xc6\xa2\xbd71\xa2\xaaG\x11\x03\xc1\xdb\xa0n\xc7\xf0\x9cy\xcc\x08Q7c\x88\x91\xe1\x8d\xfa\xbc\xc7\xb0{Nr\xe5\xcby|a\xb1N\'dla_C|\xa9\xb0\xaf\xe1\xbdX\xd8\xd7\x10\xdf\xa0\xb0\x83\x18Z:\x07)o\xbd\xc7\xfb\xf2\xa0\xaf\xbb\xf2p\x90\xa8At\x07"\x89\xd1URx\xdb\xca\xcd\xcd\xbaY\x81Y\x86\xb1\xe3GJD\xfdi\xdbj_\x02k\xcb\tc\xa6\x01\xb5C\xf8n4B\x8eq\xb0\x86\x80\xda\x01!R\xe7\x0fP\x04\xe3Z\x14\x05\x84NHIw\xe51\xd1O\x8f\x88~\xfaF\xd1\xb3\xfdm\xe9\xb7ig\x87\xde\x1f\xbbC]y\x92\xad\xe2\xbd\x11\xa9\xb5\x11\xcf..?\xe3+P`\xb8\xa4\xfe\xc6D\x91\x87K%\xf47%\x08\x1d\xfe\xd0\xc8\xa3\x13\xb7\xd6\x93\xe1\xed\x9d\x03\x83"T\x11\x16t\xa2\x01\xe9\x8c\x1e\xe1j\x0b\xfdZ[\x14\xe5\xe6\x9a[\xbcv\xf7S\xc0lm\x84z\xb8\xd3K\xd1\xd3\xb8\xbf\x94\xbf\r\xb9\xb0St\xd4\xf1\xd5\x1e\xd5Z/W;w\x00\x98\xff\xc5>I\xb1\xff\xe5\xd6f\xc3x\xd9\xbb\x10\x0e\xfe\n\x07\x9c\xf8\xdf\xb9\x8c\xde\xf8\xd2\xca\x9d\xb2\xaf\xd6B\xa2PIc\xfbc\xcc\x06u\xfb\x1b\xbc\xf8\rPK\x03\x04\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\xcc\'\x96Y)\x03\x00\x00\x9a\x08\x00\x00\x18\x00\x00\x00xl/worksheets/sheet1.xml\xa5V\xdbN\xe30\x10\xfd\x15+\xef4iz[*\n\x82rY$VT\xb0Z\x9e\x8d3i,\x12;\xb2\x1d\xda\xf2k\xfb\xb0\x9f\xb4\xbf\xb0c;M)x%\x10O\xf1\x1c\x9f\x1c\x9f\xb1\x9d\x99\xfc\xfd\xfd\xe7\xe8d]\x95\xe4\x19\x94\xe6R\xcc\xa2~/\x89\x08\x08&3.\x96\xb3\xa81\xf9\xc1\xb7\x88hCEFK)`\x16m@G\'\xc7G\xeb\xe9J\xaa\']\x00\x18\x82\nBO\xd5,*\x8c\xa9\xa7q\xacY\x01\x15\xd5=Y\x83\xc0\xb9\\\xaa\x8a\x1a\x0c\xd52\x96y\xce\x19\x9cK\xd6T L\x9c&\xc98VPR\x83\xab\xeb\x82\xd7:j\xd5\xd6\xfd!e\xef\x14+\xce\x94\xd427=&\xabV,\xd6\xb5\x02\x9a9+Ui%\x0f\xe3\xc3\x98\xb2\x88Tlz\xbd\x14R\xd1\xc7\x12\x8d;\xc5\xad|\xf5^;\xe0\xb6\xa2\xea\xa9\xa9\x0fp\xad\x1a\x1d>\xf2\x92\x9b\x8d\xf3\xdc\xb9\xfc\x88\xca;\x7fc\x14\xe6"\xb2\x9b\xe8\xd0\x85\xb2C\xd9\x98\x92\x0bX(\xa2\x9b\nW\xde\x9cA)Wx$\xd1\x16\xb8\xe3\xcb\xc28 >>\x8a\xf7^\xce8\xee\xa7=B\xa2 \x9fE\xa7\xfd\xe9U\xeah-\xeb\x17\x87\x95\xde\x8b\x88=\xbfG)\x9flp\x9d\xcd\xa2\xc4\x19\xaa\xa9\x00\xb2\xbe\xaf1U\x0b\x91M;D5#\xeb\x1b\xc8\xcd\x1c\xca\x12W\x18D\x842\xc3\x9faA\xed\xb5x\x94\xc6\xc8\xca\xce\xbb\xebb\x10\xca\x95|\x01\xe1\xde\xdfsl\x17\xdc\x8fv\xce.\xdd\xbe\xe1\x1ed\x90\xd3\xa64wr\xf5\x1d\xda\xb4GmBL\x96\xba}\x92\x8a\x0b\xb7!\x15]\xbb\xe7\x8ag\xa6@\xb7Io\xd2O\xc6\xe9\xc8\x9a\xd9\xd8\xd3\xc7TX\xa3\xd1\xe2\x83g\xf4wb^$mE\xd2N\xa4\x9f|^e\xd0\xaa\x0c:\x95\xe1\xe7E\x86\xad\xc8\xb0\x13\x19|^d\xd4\x8a\x8c\xbe\xb2)\xe3Vd\xfc\x15\'\x93Vd\xd2\x89\x8c>(\x12\xef\x0e\xdb\xdd\x8esj\xa8\r\x94\\\x11\xe5\xbf\x0c\xbc\xaf\x1aG\xd3\x89\xbb\xbd\xcc\xc2\xa7\x16w\xb3xk\xb4\xc3\x9f\x8f\x13+\xf6\xec%;\xe6Y\xc7\x8c;l\x1e\xc0\xce\x03\xd8E\x00\xbb\x0c`W\xaf\xb1\xd8y\x7f\x95B\xfa\x9f\x14R\xf7R\xba\x97B?\x98B\x88\x99\x86\x98\xf3\x10s\x10b\x9e\x87\x98\xc3\x10\xf3"\xc4\x1c\x85\x98\x97!\xe68\xc4\xbc\n1\'{\xcc\xed6\xc6o\xeeE\x05j\t\xb6>i\xc2d#\\\xad\xdc\xc3w\xd5\xb1;\x8f\xdd;\xae\xfc).\xccm\xed\xda\x11)\xa4\xe2/R\x18Z\xce\xb1Y\x81\x02W%m\xb34\x9c\xbd\x01\x0b,\xf1\xd82\xb5\x0b\x96\x8ag7X\xcb}\x14\xfb\xba\xba\x84\x1fT-9\xea\x96X%q\xa67\xc1\xfb\xaf|q\xf3\x01V\xd8\xed\xd0\xd7S\x1b\x8d\xbc8\xa86\xc8\xa54>\x98\x8c^\x89\xdf\x83ijR\xd3\x1a\xd4=\x7f\x01\xffu\xa0Kp\x85,"\x96s\xab\x9cL&W\xe2g\x01\xe2\x163\x89\x08&\x89\x89\xb8\x0e\x8cS\xbe\xec\xe2\xfa%eO\xa7"{(\xb8\xf1\xdfg\xa6h\xee{\x02\xc3\xdd\x9a\xcb\xcavp\xccP\xe0o\x01\xfe3(%\x15F\x19\xd7uI7\x90\xb5\xd6\xbc\xf5K\xe7\xd9#\xc6\xb6\xe3\x05U\xa6;\xa4d{\x16\xdd/\xc5\xf1?PK\x03\x04\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\`L\x87\xb3\xa6\x05\x00\x00\xb8\x1b\x00\x00\x13\x00\x00\x00xl/theme/theme1.xml\xedYM\x8f\xdbD\x18\xfe+#\xdf[\xc7I\x9cfWM\xabM6i\xa1\xddv\xb5\x1b\x8az\x9c8\x13{\x9a\xb1\xc7\x9a\x99\xec67\xd4\x1e\x91\x90\x10\x05qA\xe2\xc6\x01\x01\x95Z\x89K\xf95\x0bEP\xa4\xfe\x05^;\x8e=N\xc6\xddl\xbb\x08P7\x87\xc43~\xde\xef\x0f\xbf\xe3\\\xbd\xfe0d\xe8\x88\x08Iy\xd4\xb1\x9c\xcb5\x0b\x91\xc8\xe3c\x1a\xf9\x1dk\xa6&\x97\xda\xd6\xf5kW\xf1\xb6\nHH\x10\x80#\xb9\x8d;V\xa0T\xbcm\xdb\xd2\x83m,/\xf3\x98Dpo\xc2E\x88\x15,\x85o\x8f\x05>\x06&!\xb3\xeb\xb5Z\xcb\x0e1\x8d,\x14\xe1\x90t\xac\xbb\x93\t\xf5\x08\x1a&,\xad\x9cy\x9f\xc1W\xa4d\xb2\xe11q\xe8\xa5\x12u\x8a\x14;\x9e:\xc9\x8f\x9c\xcb\x1e\x13\xe8\x08\xb3\x8e\x05r\xc6\xfcxH\x1e*\x0b1,\x15\xdc\xe8X\xb5\xf4c!\xfb\xdaU;\xa7b\xaa\x82X#\x1c\xa4\x9f%aF1\x9e\xd6SB\xe1\x8frJg\xd0\xdc\xba\xb2[H\xa8/$\xac\x03\xfb\xfd~\xaf\xef\x14\x1cS\x04\xf6<\xb0\xd6Y\x037\x07m\xa7\x9bs\xd5P\x8b\xcbu\xee\xbd\x9a[k\xae\x10h\x12\x1ak\x04[\xddn\xd7\xdd*\x134\n\x82\xe6\x1aA\xbb\xd6j\xee\xd4\xcb\x04\xcd\x82\xc0]\xb7\xa1\xbb\xd3\xeb\xb5\xca\x04nA\xd0Z#\x18\\\xd9j5W\x08RT\xc0h4]\x83\'\x91-B\x94c&\x9c\xdd4\xe2\xdb\x80o\xe7\xb9P\xc0l-\xd3\x16\x0c"U\x95w!~\xc0\xc5\x00\x00i\x94\xb1\xa2\x11R\xf3\x98L\xb0\x07\xb8\x1e\x0eG\x82\xe2T\x02\xde&X\xbb\x95\xedyr}/\x11\x87\xa4\'h\xac:\xd6\x871\x86\x02)0\xaf_\xfc\xf0\xfa\xc53\xf4\xfa\xc5\xd3\x93G\xcfO\x1e\xfd|\xf2\xf8\xf1\xc9\xa3\x9fL\x947q\xe4\xeb\x94\xaf\xbe\xfb\xfc\xafo>A\x7f>\xfb\xf6\xd5\x93/+\x08\xa4N\xf0\xdb\x8f\x9f\xfe\xfa\xcb\x17\x15H\xa5#_~\xf5\xf4\xf7\xe7O_~\xfd\xd9\x1f\xdf?1\xe1w\x04\x1e\xe9\xf8!\r\x89Dw\xc81:\xe0ab\x9fA\x04\x19\x893\x92\x0c\x03LK$8\x00\xa8\t\xd9WA\tyg\x8e\x99\x11\xd8%e\x1f\xde\x13\xd0\x16\x8c\xc8\x1b\xb3\x07%}\x0f\x031S\xd4\x84\xbc\x15\x84%\xe4\x1e\xe7\xac\xcb\x85\xd9\xa6[\xa98\xcd\xa6Y\xe4W\xc8\x173\x1dx\x80\xf1\x91Q|o%\xca\xfdY\x0c\x99M\x8dL{\x01)\xa9\xba\xcf \xf0\xd8\'\x11Q(\xb9\xc7\xa7\x84\x98\xe8\xeeSZ\xf2\xef\x1e\xf5\x04\x97|\xa2\xd0}\x8a\xba\x98\x9a\x1d3\xa4#e\xa6\xbaIC\x08\xd0\xdc\xa8#D\xbd\xe4\xa1\xbd{\xa8\xcb\x99Q\xc0.9*C\xa1B032%\xac\xe4\xcd\x1bx\xa6ph\xd6\x1a\x87L\x87\xde\xc6*0*z8\x17^\xc9\xf1RA\xd0}\xc28\xea\x8f\x89\x94F\xa2\xbbb^R\xf9\x16\x86\x16e\xce\x80=6\x0f\xcbP\xa1\xe8\xd4\x08\xbd\x8d9\xd7\xa1\xbb|\xda\x0bp\x18\x9b\xf5\xa6Q\xa0\x83?\x90S\xc8X\x8c\xf6\xb92\xeb\xc1\xcb5\x93\xac! 8\xaa\x8e\xfc=J\xd4\x19\x8b\xfd#\xea\x07\xe6dI\xee\xcc\xc4\xb2\xab\x97\xfasH\xa375kF\xa1[_4\xeb\x95f\xbd\x03O0c\x91\xac\xb6\xe8J\xe0\xff\xb41\xef\xe2Y\xb4O\x92\xe4\xbf\xe8\xcb\x17}\xf9\xa2/\xbf\xa1\xc27\xee\xc6E\x03\xb6\xf5\xb9:e\x18V\x0e\xd9\x13\xca\xd8\xa1\x9a3r[\xa6\xad[\x82\xde\xe3\x01l\xa6\x8b\x94(\x1f\xea\xe3\x00.\x97\xf2J@_\xe0\xf4\x1a\t\xae>\xa6*8\x0cp\x0cr\x9cT\x84/3\xde\xbeD1\x97p\x98\xb0*\x99\xa7gS\n\xe6\xa7{n~\xa0\x048V{|\xbc\xd8o\x94N\x9a9\xa3t\xe5K]T#a\xb1\xa9\xb8\xc6\x95w\x15\xe7,\x90\x1b\xcas\xdc\ny\xee\x9b\xe5\xd9\x9aO\xa16\x10N\xde\x1c8\xadz\xa6\xa6\xf40#\xe3\xc4\xfb\x19\x87et\xce=R2\xc0c\x92\x85\xca1\xdb\xe246\xf5]\xfbt\xd7i\xf2\xb6\x1a\xef*o\x93X\xe9\x02\x9bU\x02\xdd\xf3\x08Vm=X\xf6zu\xb2\xa8\xbcB\xc7\xa0\x98[w-\xe4\xe1\xb8cM`\xf0\x82\xcb0\x06\x862iI\x98\xf9Q\xc7\xf2Tf\xcd\xa9\xb5\xbdjsE\x82:\xb5j\x9bKBb!\xd5.\x96\xc1\x82,\xbd\x95\xbf\x94\x89\n\x13\xean3aw>6\x98\xfa\xd3\x86z4\xda\xce\xbf\xaa\x87\xbd\x1aa2\x99\x10OU\xec\x14\xcb\xec\x1e\x9f)"\x0e\x83\xf11\x1a\xb1\x998\xc0\xa0ys\x91ec*\xe1QR_.\x04\xd4k3K\xc0r\x1f\xc8\xeaa\xf5\xd5OV\'\x98\xc5\x01\xcezT[\xcf\x80\x05>\xbd\xce\x95HW\x9a~v\x85\xf2oiK\xe3\x1cmq\xdfg[\x92\xf4\x85\xf1\xb61N\xcfa0\x1f\x08\x8c\x92<\xedX\\\xa8\x80C?\x8a\x03\xea\r\x04L\x14\xa90P\x0cAm\xa4-\x8b%\xaf\xb0\x13e\xc9\x91\xd6\xc2\x16L\x16\r\xcf\x0f\xd4\x01\xf5\x91\xa0\xd0\xf5T \x08\xd9W\x99\xa5\xa7ps\x96\x1d2+\x8f\x8cS\xd6qr\x85e\xbc\xf8\x1d\x91#\xc2\x86I\x11\xb7\x12\x17X(\xc8\xdbJ\xe6\x8b\x14\xb8\x1a8\xdbTc#\x7f\xf0_\x9e\x8a\x9aUS\xd1)cC!\xaay\x96)\xa5\xa9?\x04\xb4g\xc3\xd6\xbbjq\xc6\x07p\xbd\xc2\xec\xba\xbb\xf9\x038\x86\x93\nJ\xbe\xa0\x91S\xe1\xb1b\x06\x1e\xf2\x03\xc8\x02T\x0c\x9d\x90\x92\x97\xdaY)\xe6\x9b#\xd0\xba\xad\xdb\x97\xf0\xfagg\xac"\x10\xed\xaa\xb8\x9f\xebx\xaay\xbcQ\xe5\xf1S\x04\xbe\xbd\xc7]\x83\xc3\xddS\xfcm\xaf\x17\xac\xad\x1dy\xd2\xd5\xda\xdf]|\xf4\x00\x84\xef\xc2\x99j\xc6\x94\xcc\xdeK=\x84\xd3io\xf9\xef\x040\xcad\xa6\xc4\xd7\xfe\x06PK\x03\x04\x14\x00\x00\x00\x00\x00\xc2\x8e\xba\\\x9d\x13\x08\r\xda\x01\x00\x00\xda\x01\x00\x00Q\x00\x00\x00package/services/metadata/core-properties/e903d56ad29b410b890173a15d70f4af.psmdcp\xef\xbb\xbf<?xml version="1.0" encoding="utf-8"?><coreProperties xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" ><dcterms:created xsi:type="dcterms:W3CDTF">2026-05-26T14:54:05.2055850Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2026-05-26T14:54:05.2056260Z</dcterms:modified></coreProperties>PK\x03\x04\x14\x00\x00\x00\x00\x00\xc2\x8e\xba\\\xb3\x06`\x1c\x9c\x02\x00\x00\x9c\x02\x00\x00\x0b\x00\x00\x00_rels/.rels\xef\xbb\xbf<?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships" ><Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/xl/workbook.xml" Id="R0e2cf86aa3384734" /><Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="/docProps/app.xml" Id="rId1" /><Relationship Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="/package/services/metadata/core-properties/e903d56ad29b410b890173a15d70f4af.psmdcp" Id="R76f044325b424d4b" /></Relationships>PK\x03\x04\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\x0c\xdcH\xb3\xe3\x00\x00\x00\xbe\x02\x00\x00\x1a\x00\x00\x00xl/_rels/workbook.xml.rels\xb5\x92AN\xc30\x10E\xafb\xcd\x9eLZP\x85P\xddn\xba\xe9\xb6\xf4\x02\x963\x89\xa3&\xb6\xe5\x99\xd2\xf6l,8\x12W\xc0\x04\ta\xc4\x82M6\xb6\xfc\xc7\xf3\xf4\xc6\xf2\xfb\xeb\xdbz{\x1d\x07\xf5B\x89\xfb\xe05,\xaa\x1a\x14y\x1b\x9a\xdew\x1a\xce\xd2\xde=\xc2v\xb3>\xd0`$\xdf`\xd7GV\xb9\xc5\xb3\x06\'\x12\x9f\x10\xd9:\x1a\rW!\x92\xcf\x956\xa4\xd1H>\xa6\x0e\xa3\xb1\'\xd3\x11.\xebz\x85\xe9\'\x03J\xa6:\xde"\xfd\x87\x18\xda\xb6\xb7\xb4\x0b\xf6<\x92\x97?\xc0\xc8\xce$j\x9e%\xe5\t\x18\xd4\xd1\xa4\x8eD\x03^\x87\xb2Te2\xa8}\xa3!\xed\x9b{P8\x9f\x91\xdc\x06\xfa\xad2e\x85\xc3\xc3\x9c\x0e\x97\x90N\xec\x88\xa4\xd4\xf8\x8e?\xdf-o\x8b\xc2h9\xa7\x91\xe4^*m\xa6\xe8k-EV\x93\x08\x16\xbfp\xf3\x01PK\x03\x04\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\Z;R@;\x01\x00\x007\x04\x00\x00\x13\x00\x00\x00[Content_Types].xml\xad\x94\xcdN\x021\x10\xc7_e\xd3\xab\xd9-x0\xc6\xb0pP\xafJ\xa2/\xd0\xb4\xb3lC\xbf\xd2\x19\x10\x9e\xcd\x83\x8f\xe4+8\x14\x83\x86\x10\x89\xc0\xa5M;3\xff\xdf\xbf\x9f\x9f\xef\x1f\xa3\xc9\xca\xbbj\t\x19m\x0c\xad\x186\x03QA\xd0\xd1\xd80k\xc5\x82\xba\xfaVL\xc6\xa3\xd7u\x02\xac85`+z\xa2t\'%\xea\x1e\xbc\xc2&&\x08\x1c\xe9b\xf6\x8ax\x98g2)=W3\x90\xd7\x83\xc1\x8d\xd41\x10\x04\xaai\xa3!\xc6\xa3\x07\xe8\xd4\xc2Q\xf5\xb8\xe2\xe9-\x96\xcbEu\xbf\xcd\xdb\xa0Z\xa1RrV+\xe2\xb0\\\x06\xb3\x07\xa9c\xd7Y\r&\xea\x85\xe7\x92\x06S\x06e\xb0\x07 \xef\x9a\xd27^\xd9pU\x84\xe5AfBot\xfa\x1f\xf6{]\x8d\x8e\x19\xea\x949\x9a\xc9\x02\xfe\x85\xc9\xe0\xf04\x08W\x96\x1c\xecm\xfaA<\xf3Yek\xa0\x9a\xaaLO\xca\xb3\x9e\xe4}\x98\xb2\x19\x94\xac\xdc\x9c\xbb\x97\xb0\xf1n\xc0\x1cZ\xdf!\xf8\xcaI\xecU\x06\xf3B\x99/\r\x9em`\xff0\x7fi\x1f5Bk\x07\x17wPD\x8f\xa1\xdfb\x9e\x97\n\x94\xa5\x1b^\xd8\xc5N\xff\x98\x11\xe2W\t\xdb\xf6|\x0fEfG\x94\xe5\x1b\x18\x7f\x01PK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\xb3\x0e\xa6h\x1c\x01\x00\x00\xcf\x01\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x00\x00\x00\x00xl/workbook.xmlPK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\x02XV\x84}\x01\x00\x00\x7f\x03\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81I\x01\x00\x00docProps/app.xmlPK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\8+\x8d\x94=\x01\x00\x00Q\x02\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\xf4\x02\x00\x00xl/sharedStrings.xmlPK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\x95\xf3\x9biu\x02\x00\x00;\x0b\x00\x00\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81c\x04\x00\x00xl/styles.xmlPK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\xcc\'\x96Y)\x03\x00\x00\x9a\x08\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x03\x07\x00\x00xl/worksheets/sheet1.xmlPK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\`L\x87\xb3\xa6\x05\x00\x00\xb8\x1b\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81b\n\x00\x00xl/theme/theme1.xmlPK\x01\x02\x14\x03\x14\x00\x00\x00\x00\x00\xc2\x8e\xba\\\x9d\x13\x08\r\xda\x01\x00\x00\xda\x01\x00\x00Q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x819\x10\x00\x00package/services/metadata/core-properties/e903d56ad29b410b890173a15d70f4af.psmdcpPK\x01\x02\x14\x03\x14\x00\x00\x00\x00\x00\xc2\x8e\xba\\\xb3\x06`\x1c\x9c\x02\x00\x00\x9c\x02\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x82\x12\x00\x00_rels/.relsPK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\\x0c\xdcH\xb3\xe3\x00\x00\x00\xbe\x02\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81G\x15\x00\x00xl/_rels/workbook.xml.relsPK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00\xc2\x8e\xba\\Z;R@;\x01\x00\x007\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81b\x16\x00\x00[Content_Types].xmlPK\x05\x06\x00\x00\x00\x00\n\x00\n\x00\xc0\x02\x00\x00\xce\x17\x00\x00\x00\x00')0s
Проверка наличия байт файла Ожидаемый результат: fileChunk не пустое Фактический результат: количество элементов в fileChunk = 68200s
Проверка xlsx (zip) сигнатуры файла Ожидаемый результат: file_signature = True Фактический результат: file_signature = True0s
Проверка имени файла отчёта 3 вложенных шага0s
Имя файла оканчивается на .xlsx Ожидаемый результат: file_name = True Фактический результат: file_name = True0s
Имя файла содержит 'Отчет об утечках' Ожидаемый результат: file_name = True Фактический результат: file_name = True0s
Имя файла содержит описание ТУ 'Тихорецк-Новороссийск-3' Ожидаемый результат: file_name = True Фактический результат: file_name = True0s
Этап 8. Сохранение, обработка и проверка отчета по утечкам1ms
Проверка: временный xlsx файл создан 1 вложенный шаг0s
Временный xlsx файл создан Ожидаемый результат: temp_file_path не пустое Фактический результат: temp_file_path = /tmp/leaks_report_xf129snv.xlsx0s
Этап 9. Открытие xlsx и чтение шапки 1 вложение24ms
Шапка отчёта (1-я строка)
 175 B
Шапка отчёта (raw): Отчет об утечках с 26.05.2026 17:52:42 по 26.05.2026 17:53:42
period_start: 2026-05-26 17:52:42
period_end: 2026-05-26 17:53:42
Проверка двойной шапки отчёта 5 вложенных шагов, 1 вложение6ms
Лист xlsx открыт Ожидаемый результат: worksheet не пустое Фактический результат: worksheet = <openpyxl.worksheet._read_only.ReadOnlyWorksheet object at 0x7f194e2fe620>0s
В шапке отчёта присутствует 'Отчет об утечках' Ожидаемый результат: report_title = True Фактический результат: report_title = True0s
Время начала периода в шапке совпадает с фильтром запроса Ожидаемый результат: period_start = 2026-05-26 17:52:42.285998 Фактический результат: period_start = 2026-05-26 17:52:420s
Время конца периода в шапке совпадает с фильтром запроса Ожидаемый результат: period_end = 2026-05-26 17:53:42.285998 Фактический результат: period_end = 2026-05-26 17:53:420s
Названия колонок в шапке отчёта Ожидаемый результат: column_headers = ['Дата и время', 'Объект', 'Режим работы СОУ', 'Информация о маскировании', 'Координата', 'Объемный расход утечки', 'Режим работы МТ'] Фактический результат: column_headers = ['Дата и время', 'Объект', 'Режим работы СОУ', 'Информация о маскировании', 'Координата', 'Объемный расход утечки', 'Режим работы МТ']1ms
soft assertion failures
 1.8 KiB
AssertionError: Soft assertion failures:

Traceback (most recent call last):
  File "/builds/lds/lds-autotests/utils/helpers/asserts.py", line 240, in equal_to
    assert_that(self._actual).described_as(msg).is_equal_to(self._expected)
  File "/builds/lds/lds-autotests/.venv/lib/python3.10/site-packages/assertpy/base.py", line 126, in is_equal_to
    self.error('Expected <%s> to be equal to <%s>, but was not.' % (self.val, other))
  File "/builds/lds/lds-autotests/.venv/lib/python3.10/site-packages/assertpy/assertpy.py", line 433, in error
    raise AssertionError(out)
AssertionError: [Время начала периода в шапке совпадает с фильтром запроса
Ожидаемый результат: period_start = 2026-05-26 17:52:42.285998
Фактический результат: period_start = 2026-05-26 17:52:42] Expected <2026-05-26 17:52:42> to be equal to <2026-05-26 17:52:42.285998>, but was not.


Traceback (most recent call last):
  File "/builds/lds/lds-autotests/utils/helpers/asserts.py", line 240, in equal_to
    assert_that(self._actual).described_as(msg).is_equal_to(self._expected)
  File "/builds/lds/lds-autotests/.venv/lib/python3.10/site-packages/assertpy/base.py", line 126, in is_equal_to
    self.error('Expected <%s> to be equal to <%s>, but was not.' % (self.val, other))
  File "/builds/lds/lds-autotests/.venv/lib/python3.10/site-packages/assertpy/assertpy.py", line 433, in error
    raise AssertionError(out)
AssertionError: [Время конца периода в шапке совпадает с фильтром запроса
Ожидаемый результат: period_end = 2026-05-26 17:53:42.285998
Фактический результат: period_end = 2026-05-26 17:53:42] Expected <2026-05-26 17:53:42> to be equal to <2026-05-26 17:53:42.285998>, but was not.

Прикрепление xlsx отчёта к Allure при падении теста 1 вложение0s
Отчет об утечках Тихорецк-Новороссийск-3.xlsx
 6.7 KiB
 Click to download attachment
Удаление временного xlsx файла