tmux-amq/tests/test_purge.py

30 lines
960 B
Python
Raw Normal View History

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