{"name": "test_cancelled_manifest", "status": "failed", "statusDetails": {"message": "AssertionError: Headers aren't the same: [{'first_list': 'Сайт отправителя (обязательно если это интернет-магазин)', 'second_list': 'Номер телефона отправителя (не обязательно)'}, {'first_list': 'Номер телефона отправителя (обязательно если это не интернет-магазин)', 'second_list': 'Серия и номер паспорта/ПИНФЛ получателя (обязательно)'}, {'first_list': 'Серия и номер паспорта/ПИНФЛ получателя (обязательно)', 'second_list': 'Дата рождения получателя (обязательно)'}, {'first_list': 'Дата рождения получателя (обязательно)', 'second_list': 'Вес брутто (кг) (обязательно)'}, {'first_list': 'Вес брутто (кг) (обязательно)', 'second_list': 'Номер телефона (обязательно)'}, {'first_list': 'Номер телефона (обязательно)', 'second_list': 'Адрес получателя (область, район, населенный пункт, улица, дом) (не обязательно)'}, {'first_list': 'Адрес получателя (область, район, населенный пункт, улица, дом) (не обязательно)', 'second_list': 'Дорожные расходы ($) (не обязательно)'}, {'first_list': 'Дорожные расходы ($) (не обязательно)', 'second_list': 'Электронная почта (не обязательно)'}, {'first_list': 'Электронная почта (не обязательно)', 'second_list': 'Код ТН ВЭД (обязательно)'}, {'first_list': 'Код ТН ВЭД (обязательно)', 'second_list': 'Позиция Код ТН ВЭД (обязательно)'}, {'first_list': 'Позиция Код ТН ВЭД (обязательно)', 'second_list': 'Код единицы измерения (не обязательно)'}, {'first_list': 'Код единицы измерения (не обязательно)', 'second_list': 'Количество товара (обязательно)'}, {'first_list': 'Количество товара (обязательно)', 'second_list': 'Стоимость товара (обязательно)'}, {'first_list': 'Стоимость товара (обязательно)', 'second_list': 'Тип валюта (не обязательно)'}, {'first_list': 'Тип валюта (не обязательно)', 'second_list': 'Марка, модель и товарный знак продукта (обязательно)'}, {'first_list': 'Марка, модель и товарный знак продукта (обязательно)', 'second_list': 'IMEI 1 (Обязательно в случае телефона или планшета)'}, {'first_list': 'IMEI 1 (Обязательно в случае телефона или планшета)', 'second_list': 'IMEI 2 (Если номер IMEI телефона или планшета равен 2, это обязательно)'}, {'first_list': 'IMEI 2 (Если номер IMEI телефона или планшета равен 2, это обязательно)', 'second_list': None}]", "trace": "self = <tests.fulfillment.test_courier.test_manifest.TestManifest object at 0x7017cf300490>\n\n    def test_cancelled_manifest(self):\n        data = [ManifestUpdateBatch(is_imei_present=True).to_dict() for _ in range(PARCEL_NUMBERS_FOR_BATCH_FILE)]\n    \n        with allure.step(\"Создаем пустой манифест\"):\n            builder_manifest = ManifestBuilder().login_or_refresh().create_empty_manifest()\n    \n        with allure.step(\"Добавляем посылки к манифесту методом batch\"):\n>           builder_manifest.update_parcels_in_manifest_batch(data=data)\n\ntests/fulfillment/test_courier/test_manifest.py:28: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \nsrc/framework/fulfillment/builders/courier/manifest.py:57: in update_parcels_in_manifest_batch\n    .validate_headers(TableHeaders.UpdateManifest.value)\n     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <src.framework.common.helpers.xlsx.XLSXData object at 0x7017d05e6150>\npattern_headers = ['Номер посылки (обязательно)', 'Интернет магазин 1-да, 0-нет', 'Отправитель (обязательно)', 'Номер телефона отправите... обязательно)', 'Серия и номер паспорта/ПИНФЛ получателя (обязательно)', 'Дата рождения получателя (обязательно)', ...]\n\n    def validate_headers(self, pattern_headers: list[str]):\n        differences = compare_lists_diff(self.table_headers, pattern_headers)\n>       assert differences == [], f\"Headers aren't the same: {differences}\"\n               ^^^^^^^^^^^^^^^^^\nE       AssertionError: Headers aren't the same: [{'first_list': 'Сайт отправителя (обязательно если это интернет-магазин)', 'second_list': 'Номер телефона отправителя (не обязательно)'}, {'first_list': 'Номер телефона отправителя (обязательно если это не интернет-магазин)', 'second_list': 'Серия и номер паспорта/ПИНФЛ получателя (обязательно)'}, {'first_list': 'Серия и номер паспорта/ПИНФЛ получателя (обязательно)', 'second_list': 'Дата рождения получателя (обязательно)'}, {'first_list': 'Дата рождения получателя (обязательно)', 'second_list': 'Вес брутто (кг) (обязательно)'}, {'first_list': 'Вес брутто (кг) (обязательно)', 'second_list': 'Номер телефона (обязательно)'}, {'first_list': 'Номер телефона (обязательно)', 'second_list': 'Адрес получателя (область, район, населенный пункт, улица, дом) (не обязательно)'}, {'first_list': 'Адрес получателя (область, район, населенный пункт, улица, дом) (не обязательно)', 'second_list': 'Дорожные расходы ($) (не обязательно)'}, {'first_list': 'Дорожные расходы ($) (не обязательно)', 'second_list': 'Электронная почта (не обязательно)'}, {'first_list': 'Электронная почта (не обязательно)', 'second_list': 'Код ТН ВЭД (обязательно)'}, {'first_list': 'Код ТН ВЭД (обязательно)', 'second_list': 'Позиция Код ТН ВЭД (обязательно)'}, {'first_list': 'Позиция Код ТН ВЭД (обязательно)', 'second_list': 'Код единицы измерения (не обязательно)'}, {'first_list': 'Код единицы измерения (не обязательно)', 'second_list': 'Количество товара (обязательно)'}, {'first_list': 'Количество товара (обязательно)', 'second_list': 'Стоимость товара (обязательно)'}, {'first_list': 'Стоимость товара (обязательно)', 'second_list': 'Тип валюта (не обязательно)'}, {'first_list': 'Тип валюта (не обязательно)', 'second_list': 'Марка, модель и товарный знак продукта (обязательно)'}, {'first_list': 'Марка, модель и товарный знак продукта (обязательно)', 'second_list': 'IMEI 1 (Обязательно в случае телефона или планшета)'}, {'first_list': 'IMEI 1 (Обязательно в случае телефона или планшета)', 'second_list': 'IMEI 2 (Если номер IMEI телефона или планшета равен 2, это обязательно)'}, {'first_list': 'IMEI 2 (Если номер IMEI телефона или планшета равен 2, это обязательно)', 'second_list': None}]\n\nsrc/framework/common/helpers/xlsx.py:187: AssertionError"}, "steps": [{"name": "SQLAlchemy query UNDEFINED ", "status": "passed", "attachments": [{"name": "query", "source": "5f0727a6-b6c2-4e7a-afa3-6d003c66fea3-attachment.txt", "type": "text/plain"}, {"name": "params", "source": "e9ff7757-5983-49e8-b1d8-afc982ca6ac0-attachment.json", "type": "application/json"}], "start": 1775604233763, "stop": 1775604233763}, {"name": "SQLAlchemy query UNDEFINED ", "status": "passed", "attachments": [{"name": "query", "source": "248baf47-0a2a-4d6d-ad49-3f32f6855b53-attachment.txt", "type": "text/plain"}, {"name": "params", "source": "3f5340d6-9b45-4a86-a160-c048a9afb9b4-attachment.json", "type": "application/json"}], "start": 1775604233765, "stop": 1775604233765}, {"name": "SQLAlchemy query UNDEFINED ", "status": "passed", "attachments": [{"name": "query", "source": "c3936249-2521-4077-b631-e11f37cbf21a-attachment.txt", "type": "text/plain"}, {"name": "params", "source": "b8f2d812-a549-4a74-8f54-59a9cff3ec9a-attachment.json", "type": "application/json"}], "start": 1775604233767, "stop": 1775604233767}, {"name": "Создаем пустой манифест", "status": "passed", "steps": [{"name": "Waiter function: login_or_refresh", "status": "passed", "steps": [{"name": "POST → https://dm-ff-be-service-account.k8s-review.dailymail-tech.uz/account/sign-in", "status": "passed", "steps": [{"name": "Request", "status": "passed", "attachments": [{"name": "request.headers", "source": "cc886a00-b0eb-4a7c-82e4-c9c6ff7436bc-attachment.json", "type": "application/json"}, {"name": "request.body", "source": "84ebb803-52a2-4807-97db-83e66e86eaba-attachment.json", "type": "application/json"}], "start": 1775604233850, "stop": 1775604233850}, {"name": "Response → 200, trace_id: c491e8031c67e37ba55b0ed2d838b60a", "status": "passed", "attachments": [{"name": "response.headers", "source": "68803e08-b20d-4a1b-ac5c-b4386f6615e9-attachment.json", "type": "application/json"}, {"name": "response.body", "source": "473b817b-df42-48e7-9123-991e6952a471-attachment.json", "type": "application/json"}], "start": 1775604233850, "stop": 1775604233850}], "attachments": [{"name": "cURL", "source": "6668a897-0b7e-4045-be41-539503698ca4-attachment.txt", "type": "text/plain"}], "start": 1775604233849, "stop": 1775604233850}], "start": 1775604233802, "stop": 1775604233852}, {"name": "POST → https://dm-ff-be-service-courier.k8s-review.dailymail-tech.uz/api/v1/courier/manifest/create-empty", "status": "passed", "steps": [{"name": "Request", "status": "passed", "attachments": [{"name": "request.headers", "source": "32dbb9a0-1b84-45d5-ae30-06cfe17c4b4c-attachment.json", "type": "application/json"}], "start": 1775604234185, "stop": 1775604234185}, {"name": "Response → 200, trace_id: None", "status": "passed", "attachments": [{"name": "response.headers", "source": "9655dbd6-9d28-4197-ae18-87aa7a3d6da7-attachment.json", "type": "application/json"}, {"name": "response.body", "source": "5751d8a4-d187-4621-8a0c-429f920aa7a4-attachment.json", "type": "application/json"}], "start": 1775604234185, "stop": 1775604234186}], "attachments": [{"name": "cURL", "source": "00d591c6-1e63-426e-8c13-d550f31ea9f4-attachment.txt", "type": "text/plain"}], "start": 1775604234185, "stop": 1775604234186}], "start": 1775604233802, "stop": 1775604234191}, {"name": "Добавляем посылки к манифесту методом batch", "status": "failed", "statusDetails": {"message": "AssertionError: Headers aren't the same: [{'first_list': 'Сайт отправителя (обязательно если это интернет-магазин)', 'second_list': 'Номер телефона отправителя (не обязательно)'}, {'first_list': 'Номер телефона отправителя (обязательно если это не интернет-магазин)', 'second_list': 'Серия и номер паспорта/ПИНФЛ получателя (обязательно)'}, {'first_list': 'Серия и номер паспорта/ПИНФЛ получателя (обязательно)', 'second_list': 'Дата рождения получателя (обязательно)'}, {'first_list': 'Дата рождения получателя (обязательно)', 'second_list': 'Вес брутто (кг) (обязательно)'}, {'first_list': 'Вес брутто (кг) (обязательно)', 'second_list': 'Номер телефона (обязательно)'}, {'first_list': 'Номер телефона (обязательно)', 'second_list': 'Адрес получателя (область, район, населенный пункт, улица, дом) (не обязательно)'}, {'first_list': 'Адрес получателя (область, район, населенный пункт, улица, дом) (не обязательно)', 'second_list': 'Дорожные расходы ($) (не обязательно)'}, {'first_list': 'Дорожные расходы ($) (не обязательно)', 'second_list': 'Электронная почта (не обязательно)'}, {'first_list': 'Электронная почта (не обязательно)', 'second_list': 'Код ТН ВЭД (обязательно)'}, {'first_list': 'Код ТН ВЭД (обязательно)', 'second_list': 'Позиция Код ТН ВЭД (обязательно)'}, {'first_list': 'Позиция Код ТН ВЭД (обязательно)', 'second_list': 'Код единицы измерения (не обязательно)'}, {'first_list': 'Код единицы измерения (не обязательно)', 'second_list': 'Количество товара (обязательно)'}, {'first_list': 'Количество товара (обязательно)', 'second_list': 'Стоимость товара (обязательно)'}, {'first_list': 'Стоимость товара (обязательно)', 'second_list': 'Тип валюта (не обязательно)'}, {'first_list': 'Тип валюта (не обязательно)', 'second_list': 'Марка, модель и товарный знак продукта (обязательно)'}, {'first_list': 'Марка, модель и товарный знак продукта (обязательно)', 'second_list': 'IMEI 1 (Обязательно в случае телефона или планшета)'}, {'first_list': 'IMEI 1 (Обязательно в случае телефона или планшета)', 'second_list': 'IMEI 2 (Если номер IMEI телефона или планшета равен 2, это обязательно)'}, {'first_list': 'IMEI 2 (Если номер IMEI телефона или планшета равен 2, это обязательно)', 'second_list': None}]\n", "trace": "  File \"/app/tests/fulfillment/test_courier/test_manifest.py\", line 28, in test_cancelled_manifest\n    builder_manifest.update_parcels_in_manifest_batch(data=data)\n  File \"/app/src/framework/fulfillment/builders/courier/manifest.py\", line 57, in update_parcels_in_manifest_batch\n    .validate_headers(TableHeaders.UpdateManifest.value)\n     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/app/src/framework/common/helpers/xlsx.py\", line 187, in validate_headers\n    assert differences == [], f\"Headers aren't the same: {differences}\"\n           ^^^^^^^^^^^^^^^^^\n"}, "start": 1775604234191, "stop": 1775604234708}], "attachments": [{"name": "log", "source": "c80b7ef3-ee34-4ee3-a24c-f8ac7d3b9587-attachment.txt", "type": "text/plain"}], "start": 1775604233741, "stop": 1775604234709, "uuid": "b07edd50-6654-46d8-86de-b8595fe5f547", "historyId": "ae421489d151f4ad45063f60aeaceafb", "testCaseId": "ae421489d151f4ad45063f60aeaceafb", "fullName": "tests.fulfillment.test_courier.test_manifest.TestManifest#test_cancelled_manifest", "labels": [{"name": "tag", "value": "dm-ff-be-service-courier"}, {"name": "parentSuite", "value": "tests.fulfillment.test_courier"}, {"name": "suite", "value": "test_manifest"}, {"name": "subSuite", "value": "TestManifest"}, {"name": "host", "value": "runner-1rdl4o-mi-project-9-concurrent-2-ofvt2akn"}, {"name": "thread", "value": "22-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.fulfillment.test_courier.test_manifest"}], "titlePath": ["tests", "fulfillment", "test_courier", "test_manifest.py", "TestManifest"]}