From d91dee8a63cd2b9eca21ceed5adcaf7bd2cff56d Mon Sep 17 00:00:00 2001 From: Yuzviak Date: Thu, 16 Apr 2026 23:04:22 +0300 Subject: [PATCH] test(e2e): register vpair_sample SHA256 in dataset registry URL left empty because VPAIR sample is form-gated on Zenodo. Registry records the known-good SHA256 for manual downloads; the download_dataset() helper refuses empty URLs so this cannot be used to auto-fetch a changed artifact. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/gps_denied/testing/download.py | 7 +++++++ tests/e2e/test_download.py | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/src/gps_denied/testing/download.py b/src/gps_denied/testing/download.py index a6a464c..1ad8467 100644 --- a/src/gps_denied/testing/download.py +++ b/src/gps_denied/testing/download.py @@ -37,6 +37,13 @@ DATASET_REGISTRY: dict[str, DatasetSpec] = { sha256="0" * 64, # placeholder — see note above target_subdir="euroc/MH_01", ), + "vpair_sample": DatasetSpec( + url="", # manual download only — see Zenodo link on + # https://github.com/AerVisLoc/vpair + sha256="c83f41fa7c9f39debe4898abceb009bff8a2b17b4840defb1831ecf127a9bf6b", + target_subdir="vpair/sample", + unpack=True, + ), } diff --git a/tests/e2e/test_download.py b/tests/e2e/test_download.py index 49c53b1..10b52d4 100644 --- a/tests/e2e/test_download.py +++ b/tests/e2e/test_download.py @@ -19,6 +19,15 @@ def test_registry_has_euroc(): assert len(spec.sha256) == 64 +def test_registry_has_vpair_sample(): + assert "vpair_sample" in DATASET_REGISTRY + spec = DATASET_REGISTRY["vpair_sample"] + # URL intentionally empty — Zenodo form-gated download; registry records SHA256 only. + assert spec.url == "" + assert len(spec.sha256) == 64 + assert spec.sha256 != "0" * 64 # real hash, not the placeholder + + def test_verify_sha256_matches(tmp_path: Path): data = b"hello world" f = tmp_path / "x.bin"