code: def test_copy_directory_with_created_destination(
      tmp_path: Path, create_destination: bool
  ):
      source = tmp_path / "source"
      source.mkdir()
  
      sub_dir_name = "sub"
      sub_dir = source / sub_dir_name
      sub_dir.mkdir()
  
      file_in_sub_dir_name = "file.txt"
      file_in_sub_dir = sub_dir / file_in_sub_dir_name
      file_in_sub_dir.touch()
  
      test_file_name = "some other file.txt"
      test_file = source / test_file_name
      test_file.touch()
  
      destination = tmp_path / "destination"
      if create_destination:
          destination.mkdir()
  
      rasa.utils.common.copy_directory(source, destination)
  
      assert destination.is_dir()
      assert (destination / test_file_name).is_file()
      assert (destination / sub_dir_name).is_dir()
      assert (
          destination / sub_dir_name / file_in_sub_dir_name
      ).is_file()
  
imports: import json
  import os
  import logging
  import logging.config
  import sys
  from pathlib import Path
  from pytest import MonkeyPatch
  from typing import Any, Text, Type
  from unittest import mock
  import pytest
  from pytest import LogCaptureFixture
  from rasa.core.agent import Agent
  from rasa.nlu.classifiers.diet_classifier import DIETClassifier
  from rasa.shared.exceptions import RasaException
  import rasa.utils.common
  from rasa.utils.common import RepeatedLogFilter, find_unavailable_packages, configure_logging_and_warnings, configure_logging_from_file, get_bool_env_variable
  import tests.conftest
label_desc: Use image node_id 7 for calling a global function with example usage: test_copy_directory_with_created_destination(tmp_path, create_destination) without return types