Spaces:
Sleeping
Sleeping
| """Smoke test for scripts/dev_reset_local.py DB wipe (no port kill).""" | |
| from __future__ import annotations | |
| import os | |
| import subprocess | |
| import sys | |
| from pathlib import Path | |
| import pytest | |
| from sqlmodel import Session, select | |
| from backend.core import Backend | |
| from models import User | |
| REPO_ROOT = Path(__file__).resolve().parents[1] | |
| def test_dev_reset_local_script_wipes_users(tmp_path: Path, dry_run: bool) -> None: | |
| os.environ["KINK_SKIP_HEAVY_WARM"] = "1" | |
| db = tmp_path / "reset.db" | |
| b = Backend(db) | |
| b.create_user() | |
| b.create_user() | |
| with Session(b.engine) as session: | |
| assert len(session.exec(select(User)).all()) == 2 | |
| cmd = [ | |
| sys.executable, | |
| str(REPO_ROOT / "scripts" / "dev_reset_local.py"), | |
| "--db", | |
| str(db), | |
| "--skip-port-kill", | |
| ] | |
| if dry_run: | |
| cmd.append("--dry-run") | |
| else: | |
| cmd.append("--i-am-sure") | |
| r = subprocess.run(cmd, cwd=str(REPO_ROOT), capture_output=True, text=True) | |
| assert r.returncode == 0, r.stderr + r.stdout | |
| with Session(b.engine) as session: | |
| rows = session.exec(select(User)).all() | |
| if dry_run: | |
| assert len(rows) == 2 | |
| else: | |
| assert len(rows) == 0 | |