code: def test_serialize_subdirs_not_removed(es, tmp_path):
      write_path = tmp_path.joinpath("test")
      write_path.mkdir()
      test_dir = write_path.joinpath("test_dir")
      test_dir.mkdir()
      description_path = write_path.joinpath("data_description.json")
      with open(description_path, "w") as f:
          json.dump("__SAMPLE_TEXT__", f)
      if es.dataframe_type == Library.SPARK:
          compression = "none"
      else:
          compression = None
      serialize.write_data_description(
          es,
          path=str(write_path),
          index="1",
          sep="\t",
          encoding="utf-8",
          compression=compression,
      )
      assert os.path.exists(str(test_dir))
      with open(description_path, "r") as f:
          assert "__SAMPLE_TEXT__" not in json.load(f)
  
imports: import json
  import logging
  import os
  import tempfile
  from unittest.mock import patch
  from urllib.request import urlretrieve
  import boto3
  import pandas
  import pytest
  import woodwork.type_sys.type_system
  from woodwork.logical_types import Datetime, LogicalType, Ordinal
  from woodwork.serializers.serializer_base import typing_info_to_dict
  from woodwork.type_sys.utils import list_logical_types
  from featuretools.entityset import EntitySet, deserialize, serialize
  from featuretools.tests.testing_utils import to_pandas
  from featuretools.utils.gen_utils import Library
  from featuretools.version import ENTITYSET_SCHEMA_VERSION
label_desc: Use image node_id 27 for calling a global function with example usage: test_serialize_subdirs_not_removed(es, tmp_path) without return types