code: def test_execute_complete_error(self, mock_post):
      task = LivyOperator(
          livy_conn_id="livyunittest",
          file="sparkapp",
          dag=self.dag,
          task_id="livy_example",
          polling_interval=1,
          deferrable=True,
      )
      with pytest.raises(AirflowException):
          task.execute_complete(
              context=self.mock_context,
              event={
                  "status": "error",
                  "log_lines": ["mock log"],
                  "batch_id": BATCH_ID,
                  "response": "mock error",
              },
          )
      self.mock_context["ti"].xcom_push.assert_not_called()
  
imports: from __future__ import annotations
  import logging
  from unittest.mock import MagicMock, patch
  import pytest
  from airflow.exceptions import AirflowException
  from airflow.models import Connection
  from airflow.models.dag import DAG
  from airflow.providers.apache.livy.hooks.livy import BatchState
  from airflow.providers.apache.livy.operators.livy import LivyOperator
  from airflow.utils import db, timezone
label_desc: Use image node_id 15 for calling the TestLivyOperator obj's underlying member method code with example usage: obj.test_execute_complete_error(mock_post) without return types