chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
"""Session delete purges yoyo-owned turn_errors rows (router_decisions precedent)."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import sqlite3
|
||||
from pathlib import Path
|
||||
|
||||
from opensquilla.persistence.migrator import apply_pending
|
||||
from opensquilla.session.models import SessionNode
|
||||
from opensquilla.session.storage import SessionStorage
|
||||
|
||||
MIGRATIONS_DIR = Path(__file__).resolve().parents[2] / "migrations"
|
||||
|
||||
|
||||
async def test_delete_session_purges_turn_errors(tmp_path) -> None:
|
||||
db = str(tmp_path / "sessions.db")
|
||||
apply_pending(db, MIGRATIONS_DIR)
|
||||
storage = SessionStorage(db)
|
||||
await storage.connect()
|
||||
try:
|
||||
await storage.upsert_session(
|
||||
SessionNode(session_key="agent:main:test:purge", session_id="sid-purge")
|
||||
)
|
||||
conn = sqlite3.connect(db)
|
||||
conn.execute(
|
||||
"INSERT INTO turn_errors (error_id, session_key, ts_ms) VALUES (?, ?, ?)",
|
||||
("abcd1234", "agent:main:test:purge", 1_000_000),
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
await storage.delete_session("agent:main:test:purge")
|
||||
|
||||
conn = sqlite3.connect(db)
|
||||
rows = conn.execute("SELECT * FROM turn_errors").fetchall()
|
||||
conn.close()
|
||||
assert rows == []
|
||||
assert await storage.get_session("agent:main:test:purge") is None
|
||||
finally:
|
||||
await storage.close()
|
||||
Reference in New Issue
Block a user