code: def test_basic_scenario(d=None, d2=None):
      fn_archive, fn_extracted = (
          fn_archive_obscure_ext,
          fn_archive_obscure,
      )
      annex = AnnexRepo(d, backend="MD5E")
      annex.init_remote(
          ARCHIVES_SPECIAL_REMOTE,
          [
              "encryption=none",
              "type=external",
              "externaltype=%s" % ARCHIVES_SPECIAL_REMOTE,
              "autoenable=true",
          ],
      )
      assert annex.is_special_annex_remote(ARCHIVES_SPECIAL_REMOTE)
      # We want two maximally obscure names, which are also different
      assert fn_extracted != fn_in_archive_obscure
      annex.add(fn_archive)
      annex.commit(msg="Added tarball")
      annex.add(fn_extracted)
      annex.commit(msg="Added the load file")
  
      # Operations with archive remote URL
      # this is not using this class for its actual purpose
      # being a special remote implementation
      # likely all this functionality should be elsewhere
      annexcr = ArchiveAnnexCustomRemote(annex=None, path=d)
      # few quick tests for get_file_url
  
      eq_(
          annexcr.get_file_url(archive_key="xyz", file="a.dat"),
          "dl+archive:xyz#path=a.dat",
      )
      eq_(
          annexcr.get_file_url(
              archive_key="xyz", file="a.dat", size=999
          ),
          "dl+archive:xyz#path=a.dat&size=999",
      )
  
      # see https://github.com/datalad/datalad/issues/441#issuecomment-223376906
      # old style
      eq_(
          annexcr._parse_url("dl+archive:xyz/a.dat#size=999"),
          ("xyz", "a.dat", {"size": 999}),
      )
      eq_(
          annexcr._parse_url("dl+archive:xyz/a.dat"),
          ("xyz", "a.dat", {}),
      )  # old format without size
      # new style
      eq_(
          annexcr._parse_url("dl+archive:xyz#path=a.dat&size=999"),
          ("xyz", "a.dat", {"size": 999}),
      )
      eq_(
          annexcr._parse_url("dl+archive:xyz#path=a.dat"),
          ("xyz", "a.dat", {}),
      )  # old format without size
  
      file_url = annexcr.get_file_url(
          archive_file=fn_archive,
          file=fn_archive.replace(".tar.gz", "")
          + "/d/"
          + fn_in_archive_obscure,
      )
  
      annex.add_url_to_file(fn_extracted, file_url, ["--relaxed"])
      annex.drop(fn_extracted)
  
      list_of_remotes = annex.whereis(
          fn_extracted, output="descriptions"
      )
      in_("[%s]" % ARCHIVES_SPECIAL_REMOTE, list_of_remotes)
  
      assert_false(annex.file_has_content(fn_extracted))
  
      with swallow_logs(new_level=logging.INFO) as cml:
          annex.get(fn_extracted)
          # Hint users to the extraction cache (and to datalad clean)
          cml.assert_logged(
              msg="datalad-archives special remote is using an "
              "extraction",
              level="INFO",
              regex=False,
          )
      assert_true(annex.file_has_content(fn_extracted))
  
      annex.rm_url(fn_extracted, file_url)
      assert_raises(CommandError, annex.drop, fn_extracted)
  
      annex.add_url_to_file(fn_extracted, file_url)
      annex.drop(fn_extracted)
      annex.get(fn_extracted)
      annex.drop(fn_extracted)  # so we don't get from this one next
  
      # Let's create a clone and verify chain of getting file through the tarball
      cloned_annex = AnnexRepo.clone(d, d2)
      # we still need to enable manually atm that special remote for archives
      # cloned_annex.enable_remote('annexed-archives')
  
      assert_false(cloned_annex.file_has_content(fn_archive))
      assert_false(cloned_annex.file_has_content(fn_extracted))
      cloned_annex.get(fn_extracted)
      assert_true(cloned_annex.file_has_content(fn_extracted))
      # as a result it would also fetch tarball
      assert_true(cloned_annex.file_has_content(fn_archive))
  
imports: import glob
  import logging
  import os
  import os.path
  import sys
  from time import sleep
  from unittest.mock import patch
  from datalad.api import Dataset
  from datalad.cmd import GitWitlessRunner, KillOutput, StdOutErrCapture, WitlessRunner
  from datalad.support.exceptions import CommandError
  from ...consts import ARCHIVES_SPECIAL_REMOTE
  from ...support.annexrepo import AnnexRepo
  from ...tests.test_archives import fn_archive_obscure, fn_archive_obscure_ext, fn_in_archive_obscure
  from ...tests.utils_pytest import abspath, assert_equal, assert_false, assert_not_equal, assert_not_in, assert_raises, assert_true, chpwd, eq_, in_, known_failure_githubci_win, ok_, serve_path_via_http, swallow_logs, with_tempfile, with_tree
  from ...utils import unlink
  from ..archives import ArchiveAnnexCustomRemote, link_file_load
label_desc: Use image node_id 1 for calling a global function with example usage: test_basic_scenario(d, d2) without return types