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"])