import json from tamq.cli import main from tamq.store import Store def test_purge_dry_run_does_not_delete(tmp_path, monkeypatch, capsys): state = tmp_path / "state" monkeypatch.setenv("TAMQ_STATE_DIR", str(state)) store = Store(state / "tamq.sqlite3") store.add("a", "b", "body") store.close() assert main(["purge"]) == 0 assert "Dry run" in capsys.readouterr().out store = Store(state / "tamq.sqlite3") assert len(store.list()) == 1 def test_purge_confirmed_deletes(tmp_path, monkeypatch, capsys): state = tmp_path / "state" monkeypatch.setenv("TAMQ_STATE_DIR", str(state)) store = Store(state / "tamq.sqlite3") store.add("a", "b", "body") store.db.execute("UPDATE messages SET created_at=created_at-400*86400") store.db.commit() store.close() assert main(["purge", "--yes"]) == 0 assert "Purged" in capsys.readouterr().out assert len(Store(state / "tamq.sqlite3").list()) == 0