mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-19 21:32:24 +02:00
Squash Odysseus development history
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
"""Verify that research launched from the chat stream passes owner to start_research."""
|
||||
|
||||
import ast
|
||||
import textwrap
|
||||
from pathlib import Path
|
||||
|
||||
_CHAT_ROUTES = Path(__file__).resolve().parent.parent / "routes" / "chat_routes.py"
|
||||
|
||||
|
||||
def test_chat_stream_start_research_passes_owner():
|
||||
"""The start_research call in the chat-stream path must include owner=<user>."""
|
||||
source = _CHAT_ROUTES.read_text(encoding="utf-8")
|
||||
tree = ast.parse(source)
|
||||
|
||||
# Find all calls to *.start_research or start_research
|
||||
calls = []
|
||||
for node in ast.walk(tree):
|
||||
if not isinstance(node, ast.Call):
|
||||
continue
|
||||
func = node.func
|
||||
name = ""
|
||||
if isinstance(func, ast.Attribute):
|
||||
name = func.attr
|
||||
elif isinstance(func, ast.Name):
|
||||
name = func.id
|
||||
if name == "start_research":
|
||||
calls.append(node)
|
||||
|
||||
assert calls, "No start_research calls found in chat_routes.py"
|
||||
|
||||
for call in calls:
|
||||
kwarg_names = [kw.arg for kw in call.keywords]
|
||||
assert "owner" in kwarg_names, (
|
||||
f"start_research call at line {call.lineno} is missing owner= keyword argument"
|
||||
)
|
||||
Reference in New Issue
Block a user