docstr: Ensure that query objects with unknown fields don't raise an Exception and
  have an identical cache key as one without the unknown field
docstr_tok: ["Ensure","that","query","objects","with","unknown","fields","do","n't","raise","an","Exception","and","have","an","identical","cache","key","as","one","without","the","unknown","field"]
code: def test_query_object_unknown_fields(self):
      """
      Ensure that query objects with unknown fields don't raise an Exception and
      have an identical cache key as one without the unknown field
      """
      self.login(username="admin")
      payload = get_query_context("birth_names")
      query_context = ChartDataQueryContextSchema().load(payload)
      responses = query_context.get_payload()
      orig_cache_key = responses["queries"][0]["cache_key"]
      payload["queries"][0]["foo"] = "bar"
      query_context = ChartDataQueryContextSchema().load(payload)
      responses = query_context.get_payload()
      new_cache_key = responses["queries"][0]["cache_key"]
      self.assertEqual(orig_cache_key, new_cache_key)
  
imports: import re
  import time
  from typing import Any
  import numpy
  import pandas
  import pytest
  from pandas import DateOffset
  from superset import db
  from superset.charts.schemas import ChartDataQueryContextSchema
  from superset.common.chart_data import ChartDataResultFormat, ChartDataResultType
  from superset.common.query_context import QueryContext
  from superset.common.query_context_factory import QueryContextFactory
  from superset.common.query_object import QueryObject
  from superset.connectors.sqla.models import SqlMetric
  from superset.daos.datasource import DatasourceDAO
  from superset.extensions import cache_manager
  from superset.superset_typing import AdhocColumn
  from superset.utils.core import AdhocMetricExpressionType, backend, DatasourceType, QueryStatus
  from superset.utils.pandas_postprocessing.utils import FLAT_COLUMN_SEPARATOR
  from tests.integration_tests.base_tests import SupersetTestCase
  from tests.integration_tests.conftest import only_postgresql, only_sqlite
  from tests.integration_tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices, load_birth_names_data
  from tests.integration_tests.fixtures.query_context import get_query_context
label_desc: Use image node_id 18 for calling the TestQueryContext obj's underlying member method code with example usage: obj.test_query_object_unknown_fields() without return types