23 lines
741 B
Python
23 lines
741 B
Python
import pytest
|
|
|
|
from tools.database import main
|
|
|
|
|
|
def test_status_uses_configured_data_directory(tmp_path, monkeypatch, capsys) -> None:
|
|
monkeypatch.setenv("APP_ENV", "test")
|
|
monkeypatch.setenv("APP_DATA_DIR", str(tmp_path))
|
|
monkeypatch.delenv("APP_DATABASE_PATH", raising=False)
|
|
|
|
assert main(["status"]) == 0
|
|
|
|
assert capsys.readouterr().out.strip() == "available=true schema_version=0"
|
|
assert (tmp_path / "xiaobai.db").exists()
|
|
|
|
|
|
def test_downgrade_requires_explicit_confirmation(tmp_path, monkeypatch) -> None:
|
|
monkeypatch.setenv("APP_ENV", "test")
|
|
monkeypatch.setenv("APP_DATA_DIR", str(tmp_path))
|
|
|
|
with pytest.raises(SystemExit, match="confirm-downgrade"):
|
|
main(["downgrade", "--target", "0"])
|