import hashlib from pathlib import Path from metis.pkg import image def test_download_file_url(tmp_path): src = tmp_path / "src.bin" src.write_bytes(b"hello") dest = tmp_path / "dest.bin" image.Download(f"file://{src}", dest) assert dest.read_bytes() == b"hello" def test_checksum_ok(tmp_path): f = tmp_path / "file.bin" f.write_bytes(b"abc") checksum = "sha256:" + hashlib.sha256(b"abc").hexdigest() image.VerifyChecksum(f, checksum) def test_checksum_bad(tmp_path): f = tmp_path / "file.bin" f.write_bytes(b"abc") checksum = "sha256:deadbeef" try: image.VerifyChecksum(f, checksum) except Exception: return raise AssertionError("expected checksum failure")