code: def dcmp_helper(
      self,
      remove_top_level_directory,
      unlink_zip,
      tmp_subdir,
      tmp_path,
      archive_path,
  ):
      dcmp = None
      if remove_top_level_directory:
          dcmp = dircmp(
              tmp_subdir, os.path.join(tmp_path, TOP_LEVEL_DIR_NAME)
          )
      else:
          dcmp = dircmp(
              os.path.join(tmp_subdir, TOP_LEVEL_DIR_NAME),
              os.path.join(tmp_path, TOP_LEVEL_DIR_NAME),
          )
      assert len(dcmp.left_only) == 0
      assert len(dcmp.right_only) == 0
  
      if unlink_zip:
          assert not Path(archive_path).is_file()
      else:
          assert Path(archive_path).is_file()
  
imports: import os
  import random
  import shutil
  import socket
  import string
  import sys
  import tempfile
  import uuid
  from filecmp import dircmp
  from pathlib import Path
  from shutil import copytree, make_archive, rmtree
  import zipfile
  import ray
  import pytest
  from ray._private.gcs_utils import GcsAioClient
  from ray._private.ray_constants import KV_NAMESPACE_PACKAGE, RAY_RUNTIME_ENV_IGNORE_GITIGNORE
  from ray._private.runtime_env.packaging import GCS_STORAGE_MAX_SIZE, MAC_OS_ZIP_HIDDEN_DIR_NAME, Protocol, _dir_travel, _get_excludes, _store_package_in_gcs, download_and_unpack_package, get_local_dir_from_uri, get_top_level_dir_from_compressed_package, get_uri_for_directory, get_uri_for_package, is_whl_uri, is_zip_uri, parse_uri, remove_dir_from_filepaths, unzip_package, upload_package_if_needed, _get_gitignore, upload_package_to_gcs
  from ray.experimental.internal_kv import _initialize_internal_kv, _internal_kv_del, _internal_kv_exists, _internal_kv_get, _internal_kv_reset
label_desc: Use image node_id 1 for calling the TestUnzipPackage obj's underlying member method code with example usage: obj.dcmp_helper(remove_top_level_directory, unlink_zip, tmp_subdir, tmp_path, archive_path) without return types