code: def test_footprints_cli(run_cli, tmpdir, geojson_path):
      result = run_cli(
          "--geometry",
          geojson_path,
          "-s",
          "20151219",
          "-e",
          "20151228",
          "--sentinel",
          "2",
          "--footprints",
          str(tmpdir / "test.geojson"),
      )
      assert len(result.products) == 89
      gj_file = tmpdir / "test.geojson"
      assert gj_file.check()
      content = json.loads(gj_file.read_text(encoding="utf-8"))
      assert len(content["features"]) == len(result.products)
      for feature in content["features"]:
          assert len(feature["properties"]) >= 28
          coords = feature["geometry"]["coordinates"]
          assert len(coords[0]) > 3 or len(coords[0][0]) > 3
  
imports: import json
  import os
  import re
  import glob
  import shutil
  from contextlib import contextmanager
  from functools import partialmethod
  import pytest
  import requests_mock
  from click.testing import CliRunner
  from sentinelsat import SentinelAPI, InvalidChecksumError
  from sentinelsat.scripts.cli import cli
label_desc: Use image node_id 25 for calling a global function with example usage: test_footprints_cli(run_cli, tmpdir, geojson_path) without return types