code: def test_migrate_domain_raises_for_missing_slots_and_forms(
      tmp_path: Path,
  ):
      domain_dir = tmp_path / "domain"
      domain_dir.mkdir()
  
      prepare_domain_path(
          domain_dir,
          """
          version: "2.0"
          entities:
          - bla
          """,
          "domain.yml",
      )
  
      with pytest.raises(
          RasaException,
          match=f"The files you have provided in '{re.escape(str(domain_dir))}' "
          f"are missing slots or forms. "
          f"Please make sure to include these for a successful migration.",
      ):
          migrate.migrate_domain_format(domain_dir, None)
  
imports: import itertools
  import shutil
  import re
  import textwrap
  from pathlib import Path
  from typing import Text, Any, Tuple, Callable
  from unittest.mock import patch, call
  import pytest
  import rasa.shared.utils.io
  from rasa.core import migrate
  from rasa.shared.core.domain import Domain
  from rasa.shared.exceptions import RasaException
  from rasa.shared.constants import LATEST_TRAINING_DATA_FORMAT_VERSION
label_desc: Use image node_id 17 for calling a global function with example usage: test_migrate_domain_raises_for_missing_slots_and_forms(tmp_path) without return types