19 lines
853 B
Python
19 lines
853 B
Python
import json, tempfile, pathlib
|
|
from pathlib import Path
|
|
|
|
def test_incremental_ids(tmp_path: Path):
|
|
# simulate previous final with one integrated id
|
|
prev_final = {"annotations":[{"clipping_id":"aaa"}]}
|
|
(tmp_path/"import-plan.final.json").write_text(json.dumps(prev_final))
|
|
prev_clipp = {"clippings":[{"id":"aaa","title":"T"},{"id":"bbb","title":"U"}]}
|
|
(tmp_path/"clippings.json").write_text(json.dumps(prev_clipp))
|
|
|
|
new_ids = {"aaa","bbb","ccc"} # ccc is new
|
|
prev_integrated = {"aaa"}
|
|
to_process = new_ids - prev_integrated
|
|
assert to_process == {"bbb","ccc"}
|
|
deletions = prev_integrated - new_ids
|
|
assert deletions == set() # none removed
|
|
# changed: aaa text changed -> new id ddd, old aaa no longer in new -> deletion
|
|
new_ids2 = {"ddd","bbb","ccc"}
|
|
assert (prev_integrated - new_ids2) == {"aaa"}
|