import shutil
from utils import (
cargo_run,
goto_root,
mk_and_cd_tmp_dir,
rand_word,
write_string,
)
def ls_dedup():
goto_root()
mk_and_cd_tmp_dir()
cargo_run(["init"])
cargo_run(["config", "--set", "model", "dummy"])
shutil.copyfile("../tests/images/green.png", "image.png")
magic_word = "bvhsbsfe"
write_string("a.md", "This is an image:  " + magic_word)
cargo_run(["add", "a.md"])
cargo_run(["build"])
image_uid = eval(cargo_run(["ls-images", "--uid-only", "--json"], stdout=True))[0]
file_uid = eval(cargo_run(["ls-files", "--uid-only", "--json"], stdout=True))[0]
assert image_uid.startswith("55")
assert file_uid.startswith("55")
magic_word = "gnfkrpyvr"
write_string("b.md", "This is an image:  " + magic_word)
cargo_run(["add", "b.md"])
cargo_run(["build"])
chunk_uid = eval(cargo_run(["ls-chunks", "b.md", "--uid-only", "--json"], stdout=True))[0]
assert chunk_uid.startswith("55")
magic_word = "kipuzibj"
write_string("c.md", "There's no image! " + magic_word)
cargo_run(["add", "c.md"])
cargo_run(["build"])
chunk_uid = eval(cargo_run(["ls-chunks", "c.md", "--uid-only", "--json"], stdout=True))[0]
file_uid = eval(cargo_run(["ls-files", "c.md", "--uid-only", "--json"], stdout=True))[0]
assert chunk_uid.startswith("93")
assert file_uid.startswith("93")
assert len(eval(cargo_run(["ls-images", "55", "--uid-only", "--json"], stdout=True))) == 1
assert len(eval(cargo_run(["ls-chunks", "93", "--uid-only", "--json"], stdout=True))) == 1