Files
am-downloader/tests/test_exact.py
T

23 lines
700 B
Python

from pathlib import Path
from am_deduper.db import connect
from am_deduper.exact import exact_dedupe
from am_deduper.scanner import scan
def test_exact_dedupe_creates_hardlink(tmp_path: Path):
root = tmp_path / "AllMusic"
(root / "admin").mkdir(parents=True)
(root / "alice").mkdir(parents=True)
a = root / "admin" / "song.flac"
b = root / "alice" / "song.flac"
data = b"fake flac content" * 10000
a.write_bytes(data)
b.write_bytes(data)
db = root / ".dedupe" / "dedupe.db"
assert scan(root, db) == 2
actions = exact_dedupe(db, root)
assert len(actions) == 1
assert a.stat().st_ino == b.stat().st_ino
assert a.read_bytes() == b.read_bytes()