content: [project]
  # General information about the 3rd-party project: Its name, why we test it,
  # and where to find the relevant tarball, along with its expected checksum.
  name = "requests"
  description = "A very popular package with several dependencies."
  url = "https://github.com/psf/requests/archive/refs/tags/v2.28.2.tar.gz"
  sha256 = "375d6bb6b73af27c69487dcf1df51659a8ee7428420caff21253825fb338ce10"
  # The SHA256 checksum above can be found by running `sha256sum` on the
  # downloaded tarball. It is used to ensure that we run tests against the
  # expected revision of the 3rd-party project.
  
  # Below are our experiments which run FawltyDeps with various options on the
  # above (unpacked) tarball. Each table represents an experiment with the
  # command-line arguments we pass to FawltyDeps (in `args`, --json is implicitly
  # added by test_real_projects), as well as our expectations for what FawltyDeps
  # should return in that scenario. These expectations are encoded as lists of
  # import/dependency names which we expect to be present in the corresponding
  # parts of the JSON: imports, declared_deps, undeclared_deps, and unused_deps.
  # All these fields are optional, and the verification will be skipped for
  # missing fields.
  
  [experiments.all]
  description = "Running FD on the entire requests project"
  args = []
  # When we run FawltyDeps with the above arguments, we expect these results:
  imports = [
      "certifi",
      "chardet",
      "charset_normalizer",
      "cryptography",
      "idna",
      "OpenSSL",
      "pygments",
      "pytest",
      "setuptools",
      "simplejson",
      "trustme",
      "urllib3",
  ]
  declared_deps = [
      "Flask",
      "PySocks",
      "Sphinx",
      "certifi",
      "chardet",
      "charset_normalizer",
      "httpbin",
      "idna",
      "markupsafe",
      "pytest",
      "pytest-cov",
      "pytest-httpbin",
      "pytest-mock",
      "trustme",
      "urllib3",
      "wheel",
  ]
  undeclared_deps = [
      "cryptography",
      "OpenSSL",
      "pygments",
      "setuptools",
      "simplejson",
  ]
  # We don't have "wheel" as unused_deps because it is in the default_ignore_unused list
  unused_deps =  [
      "Flask",
      "PySocks",
      "Sphinx",
      "httpbin",
      "markupsafe",
  ]
  