code: def setup_sample_data() -> Any:
      # TODO(john-bodley): Determine a cleaner way of setting up the sample data without
      # relying on `tests.integration_tests.test_app.app` leveraging an  `app` fixture which is purposely
      # scoped to the function level to ensure tests remain idempotent.
      with app.app_context():
          setup_presto_if_needed()
  
          from superset.cli.test import load_test_users_run
  
          load_test_users_run()
  
          from superset.examples.css_templates import load_css_templates
  
          load_css_templates()
  
      yield
  
      with app.app_context():
          # drop sqlalchemy tables
  
          db.session.commit()
          from sqlalchemy.ext import declarative
  
          sqla_base = declarative.declarative_base()
          # uses sorted_tables to drop in proper order without violating foreign constrains
          for table in sqla_base.metadata.sorted_tables:
              table.__table__.drop()
          db.session.commit()
  
imports: from __future__ import annotations
  import contextlib
  import functools
  import os
  from typing import Any, Callable, TYPE_CHECKING
  from unittest.mock import patch
  import pytest
  from flask.ctx import AppContext
  from flask_appbuilder.security.sqla import models
  from sqlalchemy.engine import Engine
  from superset import db, security_manager
  from superset.extensions import feature_flag_manager
  from superset.utils.core import json_dumps_w_dates
  from superset.utils.database import get_example_database, remove_database
  from tests.integration_tests.test_app import app, login
label_desc: Use image node_id 8 for calling a global function with example usage: setup_sample_data() without return types