approval-engine/tests/test_cli.py

23 lines
800 B
Python
Raw Normal View History

import json
import pytest
from approval_engine.cli import main
def test_migrate_verify_and_backup_commands(tmp_path, capsys):
database = tmp_path / "approval.sqlite"
backup = tmp_path / "approval.backup.sqlite"
assert main(["migrate", "--db", str(database)]) == 0
migrated = json.loads(capsys.readouterr().out)
assert migrated["ok"] is True
assert main(["verify", "--db", str(database)]) == 0
assert json.loads(capsys.readouterr().out)["schema_current"] is True
assert main(["backup", "--db", str(database), "--output", str(backup)]) == 0
assert json.loads(capsys.readouterr().out)["integrity"] == "ok"
def test_production_refuses_memory_store_before_serving():
with pytest.raises(SystemExit):
main(["serve", "--production", "--db", ":memory:"])