code: def test_load_explore_json_into_cache(self, mock_update_job):
      from superset.tasks.async_queries import (
          load_explore_json_into_cache,
      )
  
      app._got_first_request = False
      async_query_manager.init_app(app)
      table = self.get_table(name="birth_names")
      user = security_manager.find_user("gamma")
      form_data = {
          "datasource": f"{table.id}__table",
          "viz_type": "dist_bar",
          "granularity_sqla": "ds",
          "time_range": "No filter",
          "metrics": ["count"],
          "adhoc_filters": [],
          "groupby": ["gender"],
          "row_limit": 100,
      }
      job_metadata = {
          "channel_id": str(uuid4()),
          "job_id": str(uuid4()),
          "user_id": user.id,
          "status": "pending",
          "errors": [],
      }
  
      load_explore_json_into_cache(job_metadata, form_data)
      mock_update_job.assert_called_once_with(
          job_metadata, "done", result_url=mock.ANY
      )
  
imports: from unittest import mock
  from uuid import uuid4
  import pytest
  from celery.exceptions import SoftTimeLimitExceeded
  from superset.commands.chart.data.get_data_command import ChartDataCommand
  from superset.commands.chart.exceptions import ChartDataQueryFailedError
  from superset.exceptions import SupersetException
  from superset.extensions import async_query_manager, security_manager
  from tests.integration_tests.base_tests import SupersetTestCase
  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
  from tests.integration_tests.fixtures.tags import with_tagging_system_feature
  from tests.integration_tests.test_app import app
label_desc: Use image node_id 4 for calling the TestAsyncQueries obj's underlying member method code with example usage: obj.test_load_explore_json_into_cache(mock_update_job) without return types