code: def test_prepare_cancel_query(
      initial_extra: dict[str, Any],
      final_extra: dict[str, Any],
      mocker: MockerFixture,
  ) -> None:
      from superset.db_engine_specs.trino import TrinoEngineSpec
      from superset.models.sql_lab import Query
  
      query = Query(extra_json=json.dumps(initial_extra))
      TrinoEngineSpec.prepare_cancel_query(query=query)
      assert query.extra == final_extra
  
imports: import copy
  import json
  from datetime import datetime
  from typing import Any, Optional
  from unittest.mock import Mock, patch
  import pandas
  import pytest
  from pytest_mock import MockerFixture
  from sqlalchemy import types
  from trino.sqlalchemy import datatype
  import superset.config
  from superset.constants import QUERY_CANCEL_KEY, QUERY_EARLY_CANCEL_KEY, USER_AGENT
  from superset.superset_typing import ResultSetColumnType, SQLAColumnType
  from superset.utils.core import GenericDataType
  from tests.unit_tests.db_engine_specs.utils import assert_column_spec, assert_convert_dttm
  from tests.unit_tests.fixtures.common import dttm
label_desc: Use image node_id 15 for calling a global function with example usage: test_prepare_cancel_query(initial_extra, final_extra, mocker) without return types