mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-06-15 15:24:06 +00:00
38 lines
1.6 KiB
Python
38 lines
1.6 KiB
Python
"""Tests for WebUI on-disk cleanup (legacy JSON + transcript JSONL)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from nanobot.webui.thread_disk import delete_webui_thread, webui_thread_file_path
|
|
from nanobot.webui.transcript import (
|
|
append_transcript_object,
|
|
webui_transcript_path,
|
|
webui_transcript_segments_dir,
|
|
)
|
|
|
|
|
|
def test_delete_webui_thread_removes_legacy_json_and_transcript(tmp_path, monkeypatch) -> None:
|
|
monkeypatch.setattr("nanobot.config.paths.get_data_dir", lambda: tmp_path)
|
|
monkeypatch.setattr("nanobot.webui.transcript._MAX_TRANSCRIPT_FILE_BYTES", 520)
|
|
monkeypatch.setattr("nanobot.webui.transcript._TARGET_ACTIVE_TRANSCRIPT_BYTES", 260)
|
|
key = "websocket:k1"
|
|
json_path = webui_thread_file_path(key)
|
|
json_path.parent.mkdir(parents=True, exist_ok=True)
|
|
json_path.write_text('{"x":1}', encoding="utf-8")
|
|
for idx in range(1, 5):
|
|
append_transcript_object(
|
|
key,
|
|
{"event": "user", "chat_id": "k1", "text": f"question {idx} " + ("x" * 24)},
|
|
)
|
|
append_transcript_object(
|
|
key,
|
|
{"event": "message", "chat_id": "k1", "text": f"answer {idx} " + ("y" * 24)},
|
|
)
|
|
append_transcript_object(key, {"event": "turn_end", "chat_id": "k1"})
|
|
assert webui_transcript_path(key).is_file()
|
|
assert webui_transcript_segments_dir(key).is_dir()
|
|
assert delete_webui_thread(key) is True
|
|
assert not json_path.is_file()
|
|
assert not webui_transcript_path(key).is_file()
|
|
assert not webui_transcript_segments_dir(key).exists()
|
|
assert delete_webui_thread(key) is False
|