Spaces:
Sleeping
Sleeping
File size: 1,127 Bytes
2e818da | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | from pathlib import Path
from app.services.project_activity import ProjectActivityService
def test_activity_service_appends_and_lists_newest_first(tmp_path):
service = ProjectActivityService(root=str(tmp_path))
first = service.record("p1", "paper_added", "Added paper", status="running", metadata={"file": "a.pdf"})
second = service.record("p1", "memory_flush", "Project memory deepened")
rows = service.list("p1")
assert [row.event_id for row in rows] == [second.event_id, first.event_id]
assert rows[0].event_type == "memory_flush"
assert rows[1].metadata == {"file": "a.pdf"}
assert Path(tmp_path / "p1.jsonl").exists()
def test_activity_service_token_usage_helper(tmp_path):
service = ProjectActivityService(root=str(tmp_path))
service.record_llm_usage(
project_id="p1",
operation="structured_complete",
tokens=120,
elapsed_seconds=0.5,
model="gemma-4-31b",
)
row = service.list("p1")[0]
assert row.event_type == "llm_usage"
assert row.metadata["tokens"] == 120
assert row.metadata["tokens_per_second"] == 240.0
|