{"name": "test_change_status_from_acceptance_in_progress_to_canceled", "status": "failed", "statusDetails": {"message": "AssertionError: Handler: POST https://dm-ff-be-service-supply.k8s-review.dailymail-tech.uz/api/v1/invoice/cancel; \n Expected status code: 200; \n Actual status code: 500; \n Response body: {\"message\":\"\",\"localizedMessage\":\"Нельзя отменить инвойс 410000015895\"}; \n X-Aer-Trace-Id:", "trace": "self = <tests.fulfillment.test_supply.test_invoice.TestFulfillmentSupplyCancelStatuses object at 0x7818c1355c10>\nget_invoice = FFInvoiceDTO(invoice=<src.framework.fulfillment.builders.supply.invoice.InvoiceBuilder object at 0x7818c138b390>)\n\n    def test_change_status_from_acceptance_in_progress_to_canceled(self, get_invoice):\n        headers = get_invoice.invoice.headers\n        invoice_number = get_invoice.invoice.invoice_number\n        InvoiceBuilder(headers=headers).update_invoice(invoice_number)\n        InvoiceBuilder(headers=headers).send_invoice(invoice_number)\n        assert (\n>           InvoiceBuilder(headers=headers).cancel_invoice(invoice_number).get_status()\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n            == FFSupplyInvoiceStatuses.CANCELED.name\n        ), \"Invoice is not in the 'Cancelled' status\"\n\ntests/fulfillment/test_supply/test_invoice.py:71: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \nsrc/framework/fulfillment/builders/supply/invoice.py:48: in cancel_invoice\n    InvoiceApi(headers=self.headers).api_v1_invoice_cancel_post(invoice_number=invoice_number)\n/usr/local/lib/python3.11/site-packages/qacl_dm_ff_be_service_supply/api/invoice_api.py:248: in api_v1_invoice_cancel_post\n    return self.api_v1_invoice_cancel_post_with_http_info(invoice_number, **kwargs)  # noqa: E501\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/site-packages/qacl_dm_ff_be_service_supply/api/invoice_api.py:311: in api_v1_invoice_cancel_post_with_http_info\n    return self.api_client.call_api(\n/usr/local/lib/python3.11/site-packages/qacl_dm_ff_be_service_supply/api_client.py:339: in call_api\n    return self.__call_api(resource_path, method,\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <qacl_dm_ff_be_service_supply.api_client.ApiClient object at 0x7818c07b8150>\nresource_path = '/api/v1/invoice/cancel', method = 'POST', path_params = {}\nquery_params = [('invoiceNumber', 410000015895)]\nheader_params = {'Authorization': 'Bearer b0414051-5d30-4b77-9cd6-e0f6f227510c', 'Content-Type': 'application/json', 'User-Agent': 'Swagger-Codegen/1.0.224+develop/python', 'x-aer-app-name': 'python-autotests', ...}\nbody = None, post_params = [], files = {}, response_type = None\nauth_settings = ['wms-authorization'], _return_http_data_only = False\ncollection_formats = {}, _preload_content = True, _request_timeout = None\nexpected_status_code = <HTTPStatus.OK: 200>\n\n    def __call_api(\n            self, resource_path, method, path_params=None,\n            query_params=None, header_params=None, body=None, post_params=None,\n            files=None, response_type=None, auth_settings=None,\n            _return_http_data_only=None, collection_formats=None,\n            _preload_content=True, _request_timeout=None,\n            expected_status_code=HTTPStatus.OK):\n    \n        config = self.configuration\n    \n        # header parameters\n        header_params = header_params or {}\n        header_params.update(self.default_headers)\n        if self.cookie:\n            header_params['Cookie'] = self.cookie\n        if header_params:\n            header_params = self.sanitize_for_serialization(header_params)\n            header_params = dict(self.parameters_to_tuples(header_params,\n                                                           collection_formats))\n    \n        # path parameters\n        if path_params:\n            path_params = self.sanitize_for_serialization(path_params)\n            path_params = self.parameters_to_tuples(path_params,\n                                                    collection_formats)\n            for k, v in path_params:\n                # specified safe chars, encode everything\n                resource_path = resource_path.replace(\n                    '{%s}' % k,\n                    quote(str(v), safe=config.safe_chars_for_path_param)\n                )\n    \n        # query parameters\n        if query_params:\n            query_params = self.sanitize_for_serialization(query_params)\n            query_params = self.parameters_to_tuples(query_params,\n                                                     collection_formats)\n    \n        # post parameters\n        if post_params or files:\n            post_params = self.prepare_post_parameters(post_params, files)\n            post_params = self.sanitize_for_serialization(post_params)\n            post_params = self.parameters_to_tuples(post_params,\n                                                    collection_formats)\n    \n        # auth setting\n        self.update_params_for_auth(header_params, query_params, auth_settings)\n    \n        # body\n        if body:\n            body = self.sanitize_for_serialization(body)\n    \n        # request url\n        url = self.configuration.host + resource_path\n    \n        # perform request and return response\n        response_data = self.request(\n            method, url, query_params=query_params, headers=header_params,\n            post_params=post_params, body=body,\n            _preload_content=_preload_content,\n            _request_timeout=_request_timeout)\n    \n        self.last_response = response_data\n    \n        return_data = response_data\n    \n        try:\n            response_data.data\n            trace_id = response_data.urllib3_response.headers.get('x-aer-trace-id', \"\")\n        except:\n            assert response_data.status == expected_status_code, \\\n                f'Handler: {method} {url}; \\n ' \\\n                f'Expected status code: {expected_status_code}; \\n ' \\\n                f'Actual status code: {response_data.status}'\n        else:\n>           assert response_data.status == expected_status_code, \\\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n                f'Handler: {method} {url}; \\n ' \\\n                f'Expected status code: {expected_status_code}; \\n ' \\\n                f'Actual status code: {response_data.status}; \\n ' \\\n                f'Response body: {response_data.data}; \\n ' \\\n                f'X-Aer-Trace-Id: {trace_id}'\nE           AssertionError: Handler: POST https://dm-ff-be-service-supply.k8s-review.dailymail-tech.uz/api/v1/invoice/cancel; \nE            Expected status code: 200; \nE            Actual status code: 500; \nE            Response body: {\"message\":\"\",\"localizedMessage\":\"Нельзя отменить инвойс 410000015895\"}; \nE            X-Aer-Trace-Id:\n\n/usr/local/lib/python3.11/site-packages/qacl_dm_ff_be_service_supply/api_client.py:172: AssertionError"}, "steps": [{"name": "PUT → https://dm-ff-be-service-supply.k8s-review.dailymail-tech.uz/api/v1/invoice?invoiceNumber=410000015895", "status": "passed", "steps": [{"name": "Request", "status": "passed", "attachments": [{"name": "request.headers", "source": "981e3e27-8a3a-4c40-acd2-b9797328b6aa-attachment.json", "type": "application/json"}, {"name": "request.body", "source": "0dc6c52d-01bb-4e31-a8e4-f65f39b21391-attachment.json", "type": "application/json"}, {"name": "request.params", "source": "dcc844f0-8a3b-4059-a01b-b95280a7d2e1-attachment.json", "type": "application/json"}], "start": 1775517839829, "stop": 1775517839829}, {"name": "Response → 200, trace_id: None", "status": "passed", "attachments": [{"name": "response.headers", "source": "7cf4a567-fd0b-470a-bf8e-2ee694cefaeb-attachment.json", "type": "application/json"}, {"name": "response.body", "source": "71c37bd4-0a7c-49df-ab37-5f7eb806f2c5-attachment.json", "type": "application/json"}], "start": 1775517839829, "stop": 1775517839829}], "attachments": [{"name": "cURL", "source": "2f94430d-2814-4496-a730-cd67e4f2b3c4-attachment.txt", "type": "text/plain"}], "start": 1775517839829, "stop": 1775517839829}, {"name": "Waiter function: wait_send_invoice", "status": "passed", "steps": [{"name": "POST → https://dm-ff-be-service-supply.k8s-review.dailymail-tech.uz/api/v1/invoice/send?invoiceNumber=410000015895", "status": "passed", "steps": [{"name": "Request", "status": "passed", "attachments": [{"name": "request.headers", "source": "d402debc-e763-4fa0-9ea6-b91ead7401a2-attachment.json", "type": "application/json"}, {"name": "request.params", "source": "f248b8fa-cfe8-456a-942d-7110925bd0a5-attachment.json", "type": "application/json"}], "start": 1775517840195, "stop": 1775517840195}, {"name": "Response → 200, trace_id: None", "status": "passed", "attachments": [{"name": "response.headers", "source": "5f4f8a0f-c5d8-47c6-a81c-0542dedec55d-attachment.json", "type": "application/json"}], "start": 1775517840195, "stop": 1775517840195}], "attachments": [{"name": "cURL", "source": "6cf0851d-f84f-4672-92b4-ddb909c68d8b-attachment.txt", "type": "text/plain"}], "start": 1775517840195, "stop": 1775517840195}], "start": 1775517839834, "stop": 1775517840199}, {"name": "GET → https://dm-ff-be-service-supply.k8s-review.dailymail-tech.uz/api/v1/invoice", "status": "passed", "steps": [{"name": "Request", "status": "passed", "attachments": [{"name": "request.headers", "source": "6a666eab-8496-48a7-8d58-56ff84807927-attachment.json", "type": "application/json"}, {"name": "request.params", "source": "df630209-3cfe-48f8-8c83-aece222d2b82-attachment.json", "type": "application/json"}], "start": 1775517840230, "stop": 1775517840230}, {"name": "Response → 200, trace_id: None", "status": "passed", "attachments": [{"name": "response.headers", "source": "7a7e3c00-0191-40fe-8be7-b9cc41ee5bf9-attachment.json", "type": "application/json"}, {"name": "response.body", "source": "40d777ff-8a46-42d4-8960-8609e67def9e-attachment.json", "type": "application/json"}], "start": 1775517840230, "stop": 1775517840230}], "attachments": [{"name": "cURL", "source": "6c2a5d24-3f3c-4d82-9a65-ed1a68bc12b7-attachment.txt", "type": "text/plain"}], "start": 1775517840229, "stop": 1775517840230}, {"name": "POST → https://dm-ff-be-service-supply.k8s-review.dailymail-tech.uz/api/v1/invoice/cancel?invoiceNumber=410000015895", "status": "passed", "steps": [{"name": "Request", "status": "passed", "attachments": [{"name": "request.headers", "source": "1f70524b-3297-4193-be60-ded2bd130c98-attachment.json", "type": "application/json"}, {"name": "request.params", "source": "d23390fe-67fb-4d3e-a27d-b08fd6dbbfa2-attachment.json", "type": "application/json"}], "start": 1775517840389, "stop": 1775517840389}, {"name": "Response → 500, trace_id: None", "status": "passed", "attachments": [{"name": "response.headers", "source": "7f068fa0-1469-4725-b6f2-8b92b204cef0-attachment.json", "type": "application/json"}, {"name": "response.body", "source": "74467f89-e60f-4efa-80a3-f0a5dd405f67-attachment.json", "type": "application/json"}], "start": 1775517840390, "stop": 1775517840390}], "attachments": [{"name": "cURL", "source": "3cb1f4bf-1bf6-4cec-915f-a297ff4862c9-attachment.txt", "type": "text/plain"}], "start": 1775517840389, "stop": 1775517840390}], "attachments": [{"name": "log", "source": "e1404104-4bb2-435e-9d8c-6769df16b575-attachment.txt", "type": "text/plain"}], "start": 1775517839796, "stop": 1775517840390, "uuid": "b1fafdc0-09d2-4fc0-b9b2-8ca86e777dd0", "historyId": "aaf6a337f4c692544d2bf638dc16070a", "testCaseId": "aaf6a337f4c692544d2bf638dc16070a", "fullName": "tests.fulfillment.test_supply.test_invoice.TestFulfillmentSupplyCancelStatuses#test_change_status_from_acceptance_in_progress_to_canceled", "labels": [{"name": "tag", "value": "dm-ff-be-service-supply"}, {"name": "parentSuite", "value": "tests.fulfillment.test_supply"}, {"name": "suite", "value": "test_invoice"}, {"name": "subSuite", "value": "TestFulfillmentSupplyCancelStatuses"}, {"name": "host", "value": "runner-1rdl4o-mi-project-9-concurrent-1-nf7l5zqw"}, {"name": "thread", "value": "27-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.fulfillment.test_supply.test_invoice"}], "titlePath": ["tests", "fulfillment", "test_supply", "test_invoice.py", "TestFulfillmentSupplyCancelStatuses"]}