{"name": "test_invoice_accept[params0-fmcg_warehouse_invoice1]", "status": "broken", "statusDetails": {"message": "requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='dm-fmcg-be-facade-fe.k8s-review.dailymail-tech.uz', port=443): Read timed out. (read timeout=30)", "trace": "self = <urllib3.connectionpool.HTTPSConnectionPool object at 0x78e07dd4c810>\nconn = <HTTPSConnection(host='dm-fmcg-be-facade-fe.k8s-review.dailymail-tech.uz', port=443) at 0x78e07dd4d610>\nmethod = 'POST', url = '/api/v1/acceptance/invoices'\nbody = b'{\"invoiceId\": 1839, \"gateBarcode\": \"QA_AUTO_GATE_DECLARED_6\"}'\nheaders = {'User-Agent': 'python-requests/2.33.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-aliv...horization': 'Bearer d973204c-efcb-4692-9e67-31d1a1f146a2', 'Content-Length': '61', 'Content-Type': 'application/json'}\nretries = Retry(total=0, connect=None, read=False, redirect=None, status=None)\ntimeout = Timeout(connect=30, read=30, total=None), chunked = False\nresponse_conn = <HTTPSConnection(host='dm-fmcg-be-facade-fe.k8s-review.dailymail-tech.uz', port=443) at 0x78e07dd4d610>\npreload_content = False, decode_content = False, enforce_content_length = True\n\n    def _make_request(\n        self,\n        conn: BaseHTTPConnection,\n        method: str,\n        url: str,\n        body: _TYPE_BODY | None = None,\n        headers: typing.Mapping[str, str] | None = None,\n        retries: Retry | None = None,\n        timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,\n        chunked: bool = False,\n        response_conn: BaseHTTPConnection | None = None,\n        preload_content: bool = True,\n        decode_content: bool = True,\n        enforce_content_length: bool = True,\n    ) -> BaseHTTPResponse:\n        \"\"\"\n        Perform a request on a given urllib connection object taken from our\n        pool.\n    \n        :param conn:\n            a connection from one of our connection pools\n    \n        :param method:\n            HTTP request method (such as GET, POST, PUT, etc.)\n    \n        :param url:\n            The URL to perform the request on.\n    \n        :param body:\n            Data to send in the request body, either :class:`str`, :class:`bytes`,\n            an iterable of :class:`str`/:class:`bytes`, or a file-like object.\n    \n        :param headers:\n            Dictionary of custom headers to send, such as User-Agent,\n            If-None-Match, etc. If None, pool headers are used. If provided,\n            these headers completely replace any pool-specific headers.\n    \n        :param retries:\n            Configure the number of retries to allow before raising a\n            :class:`~urllib3.exceptions.MaxRetryError` exception.\n    \n            Pass ``None`` to retry until you receive a response. Pass a\n            :class:`~urllib3.util.retry.Retry` object for fine-grained control\n            over different types of retries.\n            Pass an integer number to retry connection errors that many times,\n            but no other types of errors. Pass zero to never retry.\n    \n            If ``False``, then retries are disabled and any exception is raised\n            immediately. Also, instead of raising a MaxRetryError on redirects,\n            the redirect response will be returned.\n    \n        :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.\n    \n        :param timeout:\n            If specified, overrides the default timeout for this one\n            request. It may be a float (in seconds) or an instance of\n            :class:`urllib3.util.Timeout`.\n    \n        :param chunked:\n            If True, urllib3 will send the body using chunked transfer\n            encoding. Otherwise, urllib3 will send the body using the standard\n            content-length form. Defaults to False.\n    \n        :param response_conn:\n            Set this to ``None`` if you will handle releasing the connection or\n            set the connection to have the response release it.\n    \n        :param preload_content:\n          If True, the response's body will be preloaded during construction.\n    \n        :param decode_content:\n            If True, will attempt to decode the body based on the\n            'content-encoding' header.\n    \n        :param enforce_content_length:\n            Enforce content length checking. Body returned by server must match\n            value of Content-Length header, if present. Otherwise, raise error.\n        \"\"\"\n        self.num_requests += 1\n    \n        timeout_obj = self._get_timeout(timeout)\n        timeout_obj.start_connect()\n        conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout)\n    \n        try:\n            # Trigger any extra validation we need to do.\n            try:\n                self._validate_conn(conn)\n            except (SocketTimeout, BaseSSLError) as e:\n                self._raise_timeout(err=e, url=url, timeout_value=conn.timeout)\n                raise\n    \n        # _validate_conn() starts the connection to an HTTPS proxy\n        # so we need to wrap errors with 'ProxyError' here too.\n        except (\n            OSError,\n            NewConnectionError,\n            TimeoutError,\n            BaseSSLError,\n            CertificateError,\n            SSLError,\n        ) as e:\n            new_e: Exception = e\n            if isinstance(e, (BaseSSLError, CertificateError)):\n                new_e = SSLError(e)\n            # If the connection didn't successfully connect to it's proxy\n            # then there\n            if isinstance(\n                new_e, (OSError, NewConnectionError, TimeoutError, SSLError)\n            ) and (conn and conn.proxy and not conn.has_connected_to_proxy):\n                new_e = _wrap_proxy_error(new_e, conn.proxy.scheme)\n            raise new_e\n    \n        # conn.request() calls http.client.*.request, not the method in\n        # urllib3.request. It also calls makefile (recv) on the socket.\n        try:\n            conn.request(\n                method,\n                url,\n                body=body,\n                headers=headers,\n                chunked=chunked,\n                preload_content=preload_content,\n                decode_content=decode_content,\n                enforce_content_length=enforce_content_length,\n            )\n    \n        # We are swallowing BrokenPipeError (errno.EPIPE) since the server is\n        # legitimately able to close the connection after sending a valid response.\n        # With this behaviour, the received response is still readable.\n        except BrokenPipeError:\n            pass\n        except OSError as e:\n            # MacOS/Linux\n            # EPROTOTYPE and ECONNRESET are needed on macOS\n            # https://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/\n            # Condition changed later to emit ECONNRESET instead of only EPROTOTYPE.\n            if e.errno != errno.EPROTOTYPE and e.errno != errno.ECONNRESET:\n                raise\n    \n        # Reset the timeout for the recv() on the socket\n        read_timeout = timeout_obj.read_timeout\n    \n        if not conn.is_closed:\n            # In Python 3 socket.py will catch EAGAIN and return None when you\n            # try and read into the file pointer created by http.client, which\n            # instead raises a BadStatusLine exception. Instead of catching\n            # the exception and assuming all BadStatusLine exceptions are read\n            # timeouts, check for a zero timeout before making the request.\n            if read_timeout == 0:\n                raise ReadTimeoutError(\n                    self, url, f\"Read timed out. (read timeout={read_timeout})\"\n                )\n            conn.timeout = read_timeout\n    \n        # Receive the response from the server\n        try:\n>           response = conn.getresponse()\n                       ^^^^^^^^^^^^^^^^^^\n\n/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py:534: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/usr/local/lib/python3.11/site-packages/urllib3/connection.py:571: in getresponse\n    httplib_response = super().getresponse()\n                       ^^^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/http/client.py:1415: in getresponse\n    response.begin()\n/usr/local/lib/python3.11/http/client.py:330: in begin\n    version, status, reason = self._read_status()\n                              ^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/http/client.py:291: in _read_status\n    line = str(self.fp.readline(_MAXLINE + 1), \"iso-8859-1\")\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/socket.py:718: in readinto\n    return self._sock.recv_into(b)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/ssl.py:1314: in recv_into\n    return self.read(nbytes, buffer)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, len = 8192\nbuffer = <memory at 0x78e07ecdaec0>\n\n    def read(self, len=1024, buffer=None):\n        \"\"\"Read up to LEN bytes and return them.\n        Return zero-length string on EOF.\"\"\"\n    \n        self._checkClosed()\n        if self._sslobj is None:\n            raise ValueError(\"Read on closed or unwrapped SSL socket.\")\n        try:\n            if buffer is not None:\n>               return self._sslobj.read(len, buffer)\n                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nE               TimeoutError: The read operation timed out\n\n/usr/local/lib/python3.11/ssl.py:1166: TimeoutError\n\nThe above exception was the direct cause of the following exception:\n\nself = <requests.adapters.HTTPAdapter object at 0x78e07dd74950>\nrequest = <PreparedRequest [POST]>, stream = False\ntimeout = Timeout(connect=30, read=30, total=None), verify = True, cert = None\nproxies = OrderedDict()\n\n    def send(\n        self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None\n    ):\n        \"\"\"Sends PreparedRequest object. Returns Response object.\n    \n        :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.\n        :param stream: (optional) Whether to stream the request content.\n        :param timeout: (optional) How long to wait for the server to send\n            data before giving up, as a float, or a :ref:`(connect timeout,\n            read timeout) <timeouts>` tuple.\n        :type timeout: float or tuple or urllib3 Timeout object\n        :param verify: (optional) Either a boolean, in which case it controls whether\n            we verify the server's TLS certificate, or a string, in which case it\n            must be a path to a CA bundle to use\n        :param cert: (optional) Any user-provided SSL certificate to be trusted.\n        :param proxies: (optional) The proxies dictionary to apply to the request.\n        :rtype: requests.Response\n        \"\"\"\n    \n        try:\n            conn = self.get_connection_with_tls_context(\n                request, verify, proxies=proxies, cert=cert\n            )\n        except LocationValueError as e:\n            raise InvalidURL(e, request=request)\n    \n        self.cert_verify(conn, request.url, verify, cert)\n        url = self.request_url(request, proxies)\n        self.add_headers(\n            request,\n            stream=stream,\n            timeout=timeout,\n            verify=verify,\n            cert=cert,\n            proxies=proxies,\n        )\n    \n        chunked = not (request.body is None or \"Content-Length\" in request.headers)\n    \n        if isinstance(timeout, tuple):\n            try:\n                connect, read = timeout\n                timeout = TimeoutSauce(connect=connect, read=read)\n            except ValueError:\n                raise ValueError(\n                    f\"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, \"\n                    f\"or a single float to set both timeouts to the same value.\"\n                )\n        elif isinstance(timeout, TimeoutSauce):\n            pass\n        else:\n            timeout = TimeoutSauce(connect=timeout, read=timeout)\n    \n        try:\n>           resp = conn.urlopen(\n                method=request.method,\n                url=url,\n                body=request.body,\n                headers=request.headers,\n                redirect=False,\n                assert_same_host=False,\n                preload_content=False,\n                decode_content=False,\n                retries=self.max_retries,\n                timeout=timeout,\n                chunked=chunked,\n            )\n\n/usr/local/lib/python3.11/site-packages/requests/adapters.py:645: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py:841: in urlopen\n    retries = retries.increment(\n/usr/local/lib/python3.11/site-packages/urllib3/util/retry.py:490: in increment\n    raise reraise(type(error), error, _stacktrace)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/site-packages/urllib3/util/util.py:39: in reraise\n    raise value\n/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py:787: in urlopen\n    response = self._make_request(\n/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py:536: in _make_request\n    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <urllib3.connectionpool.HTTPSConnectionPool object at 0x78e07dd4c810>\nerr = TimeoutError('The read operation timed out')\nurl = '/api/v1/acceptance/invoices', timeout_value = 30\n\n    def _raise_timeout(\n        self,\n        err: BaseSSLError | OSError | SocketTimeout,\n        url: str,\n        timeout_value: _TYPE_TIMEOUT | None,\n    ) -> None:\n        \"\"\"Is the error actually a timeout? Will raise a ReadTimeout or pass\"\"\"\n    \n        if isinstance(err, SocketTimeout):\n>           raise ReadTimeoutError(\n                self, url, f\"Read timed out. (read timeout={timeout_value})\"\n            ) from err\nE           urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='dm-fmcg-be-facade-fe.k8s-review.dailymail-tech.uz', port=443): Read timed out. (read timeout=30)\n\n/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py:367: ReadTimeoutError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <tests.fmcg.test_acceptance.test_invoice.TestFmcgAcceptanceInvoice object at 0x78e0807692d0>\nparams = {'task_pallet_flow_type': <AcceptanceTaskPalletFlowType.NEW: 'NEW'>}\nfmcg_warehouse_invoice = FmcgWarehouseInvoiceFixtureDto(warehouse=FmcgWarehouse(id=1, name='uz 7200', user=FmcgUser(wms_id=9000000001, barcode=...1a1f146a2'), invoice=<src.framework.fmcg.builders.acceptance.v1_invoice.V1FmcgInvoiceBuilder object at 0x78e07e1da050>)\n\n    @pytest.mark.parametrize(\n        \"fmcg_warehouse_invoice\",\n        [\n            {\n                \"random_items\": [\n                    FmcgRandomItem(\n                        items_count=randint(2, 5),\n                        quantity=randint(5, 9),\n                        is_bundle=False,\n                    )\n                ]\n            },\n            {\n                \"random_items\": [\n                    FmcgRandomItem(\n                        items_count=randint(2, 5),\n                        quantity=randint(10, 20),\n                        is_bundle=True,\n                        bundle_quantity=randint(2, 4),\n                    )\n                ]\n            },\n        ],\n        indirect=True,\n    )\n    @pytest.mark.parametrize(\n        \"params\",\n        [\n            {\"task_pallet_flow_type\": AcceptanceTaskPalletFlowType.NEW},\n            # {\"task_pallet_flow_type\": AcceptanceTaskPalletFlowType.FORMED},\n        ],\n    )\n    def test_invoice_accept(self, params, fmcg_warehouse_invoice):\n        e2e = V1FmcgE2EBuilder(\n            warehouse=fmcg_warehouse_invoice.warehouse,\n            user=fmcg_warehouse_invoice.user,\n            headers=fmcg_warehouse_invoice.invoice.headers,\n            stock_cell_barcode=fmcg_warehouse_invoice.cells[0].cell_barcode,\n        )\n        e2e.set_invoice_builder(fmcg_warehouse_invoice.invoice)\n>       e2e.flow_car_bind_to_gate()\n\ntests/fmcg/test_acceptance/test_invoice.py:80: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \nsrc/framework/fmcg/builders/v1_e2e.py:148: in flow_car_bind_to_gate\n    SwaggerDmFmcgBeFacadeFe(headers=self.headers).post_api_v1_acceptance_invoices(\nsrc/framework/common/swagger/dm/fmcg/be/facade/fe.py:473: in post_api_v1_acceptance_invoices\n    self.client.request(\nsrc/framework/common/api.py:270: in request\n    response = requests.request(method=method, url=url, **sanitized_kwargs)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/site-packages/requests/api.py:59: in request\n    return session.request(method=method, url=url, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/site-packages/requests/sessions.py:592: in request\n    resp = self.send(prep, **send_kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n/usr/local/lib/python3.11/site-packages/requests/sessions.py:706: in send\n    r = adapter.send(request, **kwargs)\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <requests.adapters.HTTPAdapter object at 0x78e07dd74950>\nrequest = <PreparedRequest [POST]>, stream = False\ntimeout = Timeout(connect=30, read=30, total=None), verify = True, cert = None\nproxies = OrderedDict()\n\n    def send(\n        self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None\n    ):\n        \"\"\"Sends PreparedRequest object. Returns Response object.\n    \n        :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.\n        :param stream: (optional) Whether to stream the request content.\n        :param timeout: (optional) How long to wait for the server to send\n            data before giving up, as a float, or a :ref:`(connect timeout,\n            read timeout) <timeouts>` tuple.\n        :type timeout: float or tuple or urllib3 Timeout object\n        :param verify: (optional) Either a boolean, in which case it controls whether\n            we verify the server's TLS certificate, or a string, in which case it\n            must be a path to a CA bundle to use\n        :param cert: (optional) Any user-provided SSL certificate to be trusted.\n        :param proxies: (optional) The proxies dictionary to apply to the request.\n        :rtype: requests.Response\n        \"\"\"\n    \n        try:\n            conn = self.get_connection_with_tls_context(\n                request, verify, proxies=proxies, cert=cert\n            )\n        except LocationValueError as e:\n            raise InvalidURL(e, request=request)\n    \n        self.cert_verify(conn, request.url, verify, cert)\n        url = self.request_url(request, proxies)\n        self.add_headers(\n            request,\n            stream=stream,\n            timeout=timeout,\n            verify=verify,\n            cert=cert,\n            proxies=proxies,\n        )\n    \n        chunked = not (request.body is None or \"Content-Length\" in request.headers)\n    \n        if isinstance(timeout, tuple):\n            try:\n                connect, read = timeout\n                timeout = TimeoutSauce(connect=connect, read=read)\n            except ValueError:\n                raise ValueError(\n                    f\"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, \"\n                    f\"or a single float to set both timeouts to the same value.\"\n                )\n        elif isinstance(timeout, TimeoutSauce):\n            pass\n        else:\n            timeout = TimeoutSauce(connect=timeout, read=timeout)\n    \n        try:\n            resp = conn.urlopen(\n                method=request.method,\n                url=url,\n                body=request.body,\n                headers=request.headers,\n                redirect=False,\n                assert_same_host=False,\n                preload_content=False,\n                decode_content=False,\n                retries=self.max_retries,\n                timeout=timeout,\n                chunked=chunked,\n            )\n    \n        except (ProtocolError, OSError) as err:\n            raise ConnectionError(err, request=request)\n    \n        except MaxRetryError as e:\n            if isinstance(e.reason, ConnectTimeoutError):\n                # TODO: Remove this in 3.0.0: see #2811\n                if not isinstance(e.reason, NewConnectionError):\n                    raise ConnectTimeout(e, request=request)\n    \n            if isinstance(e.reason, ResponseError):\n                raise RetryError(e, request=request)\n    \n            if isinstance(e.reason, _ProxyError):\n                raise ProxyError(e, request=request)\n    \n            if isinstance(e.reason, _SSLError):\n                # This branch is for urllib3 v1.22 and later.\n                raise SSLError(e, request=request)\n    \n            raise ConnectionError(e, request=request)\n    \n        except ClosedPoolError as e:\n            raise ConnectionError(e, request=request)\n    \n        except _ProxyError as e:\n            raise ProxyError(e)\n    \n        except (_SSLError, _HTTPError) as e:\n            if isinstance(e, _SSLError):\n                # This branch is for urllib3 versions earlier than v1.22\n                raise SSLError(e, request=request)\n            elif isinstance(e, ReadTimeoutError):\n>               raise ReadTimeout(e, request=request)\nE               requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='dm-fmcg-be-facade-fe.k8s-review.dailymail-tech.uz', port=443): Read timed out. (read timeout=30)\n\n/usr/local/lib/python3.11/site-packages/requests/adapters.py:691: ReadTimeout"}, "steps": [{"name": "Waiter function: wait_invoice", "status": "passed", "start": 1775605427254, "stop": 1775605427255}, {"name": "POST → https://dm-fmcg-be-facade-fe.k8s-review.dailymail-tech.uz/api/v1/acceptance/invoices", "status": "broken", "statusDetails": {"message": "requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='dm-fmcg-be-facade-fe.k8s-review.dailymail-tech.uz', port=443): Read timed out. (read timeout=30)\n", "trace": "  File \"/app/src/framework/common/api.py\", line 270, in request\n    response = requests.request(method=method, url=url, **sanitized_kwargs)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/local/lib/python3.11/site-packages/requests/api.py\", line 59, in request\n    return session.request(method=method, url=url, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/local/lib/python3.11/site-packages/requests/sessions.py\", line 592, in request\n    resp = self.send(prep, **send_kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/local/lib/python3.11/site-packages/requests/sessions.py\", line 706, in send\n    r = adapter.send(request, **kwargs)\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/local/lib/python3.11/site-packages/requests/adapters.py\", line 691, in send\n    raise ReadTimeout(e, request=request)\n"}, "attachments": [{"name": "Request", "source": "33397752-3682-470b-8623-c69a29c4716c-attachment.json", "type": "application/json"}], "start": 1775605427255, "stop": 1775605457297}], "attachments": [{"name": "log", "source": "ba574c77-3ce0-4448-b195-7fe9bbca58e1-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "params", "value": "{'task_pallet_flow_type': <AcceptanceTaskPalletFlowType.NEW: 'NEW'>}"}, {"name": "fmcg_warehouse_invoice", "value": "{'random_items': [FmcgRandomItem(items_count=2, barcode_count=1, quantity=13, sku_id=None, barcode='', is_bundle=True, bundle_quantity=2, has_mark=False, has_expiration_date=False)]}"}], "start": 1775605427254, "stop": 1775605457301, "uuid": "3975c110-d71a-4e53-9ac4-3792619aaa02", "historyId": "72024b424772e280bf9b48eab07db5fa", "testCaseId": "0be4445cf64a6c2a558dc5237cc25029", "fullName": "tests.fmcg.test_acceptance.test_invoice.TestFmcgAcceptanceInvoice#test_invoice_accept", "labels": [{"name": "tag", "value": "fmcg-flow-invoice"}, {"name": "tag", "value": "dm-fmcg-be-service-acceptance"}, {"name": "parentSuite", "value": "tests.fmcg.test_acceptance"}, {"name": "suite", "value": "test_invoice"}, {"name": "subSuite", "value": "TestFmcgAcceptanceInvoice"}, {"name": "host", "value": "runner-1rdl4o-mi-project-9-concurrent-0-4sp0t57f"}, {"name": "thread", "value": "22-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.fmcg.test_acceptance.test_invoice"}], "titlePath": ["tests", "fmcg", "test_acceptance", "test_invoice.py", "TestFmcgAcceptanceInvoice"]}