code: def test_s3_test_profile(
      es, s3_client, s3_bucket, setup_test_profile
  ):
      if es.dataframe_type != Library.PANDAS:
          pytest.xfail(
              "tmp file disappears after deserialize step, cannot check equality with Dask",
          )
      es.to_csv(
          TEST_S3_URL,
          encoding="utf-8",
          engine="python",
          profile_name="test",
      )
      make_public(s3_client, s3_bucket)
      new_es = deserialize.read_entityset(
          TEST_S3_URL, profile_name="test"
      )
      assert es.__eq__(new_es, deep=True)
  
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 25 for calling a global function with example usage: test_s3_test_profile(es, s3_client, s3_bucket, setup_test_profile) without return types