diff --git a/tests/integration/common.py b/tests/integration/common.py index f5a3bd0..7ef34f4 100644 --- a/tests/integration/common.py +++ b/tests/integration/common.py @@ -11,7 +11,7 @@ import urllib.request # ── config ──────────────────────────────────────────────────────────────────── DEEPAGENTS = "http://localhost:8000" -BIFROST = "http://localhost:8080" +LITELLM = "http://localhost:4000" OPENMEMORY = "http://localhost:8765" GRAMMY_HOST = "localhost" GRAMMY_PORT = 3001 @@ -156,19 +156,6 @@ def fetch_logs(since_s=600): return [] -def fetch_bifrost_logs(since_s=120): - """Return bifrost container log lines from the last since_s seconds.""" - try: - r = subprocess.run( - ["docker", "compose", "-f", COMPOSE_FILE, "logs", "bifrost", - f"--since={int(since_s)}s", "--no-log-prefix"], - capture_output=True, text=True, timeout=10, - ) - return r.stdout.splitlines() - except Exception: - return [] - - def parse_run_block(lines, msg_prefix): """ Scan log lines for the LAST '[agent] running: ' block. diff --git a/tests/integration/test_memory.py b/tests/integration/test_memory.py index 7d713b2..6dee557 100644 --- a/tests/integration/test_memory.py +++ b/tests/integration/test_memory.py @@ -6,7 +6,7 @@ Tests: 1. Name store — POST "remember that your name is " 2. Qdrant point — verifies a new vector was written after store 3. Name recall — POST "what is your name?" → reply must contain - 4. Bifrost — verifies store/recall requests passed through Bifrost + 4. LiteLLM — verifies LiteLLM proxy is reachable (replaced Bifrost) 5. Timing profile — breakdown of store and recall latencies 6. Memory benchmark — store 5 personal facts, recall with 10 questions 7. Dedup test — same fact stored twice must not grow Qdrant by 2 points @@ -24,11 +24,11 @@ import time import urllib.request from common import ( - DEEPAGENTS, QDRANT, COMPOSE_FILE, DEFAULT_CHAT_ID, + DEEPAGENTS, LITELLM, QDRANT, COMPOSE_FILE, DEFAULT_CHAT_ID, NAMES, INFO, PASS, FAIL, WARN, report, print_summary, tf, - get, post_json, qdrant_count, fetch_logs, fetch_bifrost_logs, + get, post_json, qdrant_count, fetch_logs, parse_run_block, wait_for, ) @@ -155,14 +155,13 @@ if _run_name: report(results, "Agent replied to recall message", False, "timeout") report(results, f"Reply contains '{random_name}'", False, "no reply") - # ── 4. Bifrost pass-through check ───────────────────────────────────────── - bifrost_lines = fetch_bifrost_logs(since_s=300) - report(results, "Bifrost container has log output (requests forwarded)", - len(bifrost_lines) > 0, f"{len(bifrost_lines)} lines in bifrost logs") - bifrost_raw = "\n".join(bifrost_lines) - report(results, " Bifrost log shows AsyncOpenAI agent requests", - "AsyncOpenAI" in bifrost_raw, - f"{'found' if 'AsyncOpenAI' in bifrost_raw else 'NOT found'} in bifrost logs") + # ── 4. LiteLLM proxy reachable (replaced Bifrost) ───────────────────────── + try: + status, _ = get(f"{LITELLM}/health", timeout=5) + litellm_ok = status == 200 + except Exception: + litellm_ok = False + report(results, "LiteLLM proxy reachable", litellm_ok) # ── 5. Timing profile ───────────────────────────────────────────────────── print(f"\n[{INFO}] 5. Timing profile")