dontelightfoot's picture
Publish SRC + Amyloid beta-42 open package
5d07399 verified
Raw
History Blame Contribute Delete
1.31 kB
"""Tests for Slack/Telegram bot common logic."""
from __future__ import annotations
import asyncio
import pytest
from symbolic_recursion.bots.common import BotAgent, HELP_TEXT, format_reply
from symbolic_recursion.inference.chat_engine import ChatResponse
def test_help_command() -> None:
agent = BotAgent()
reply = asyncio.run(agent.handle("test", "user1", "/help"))
assert "Symbolic Recursive Engine" in reply
assert "/sensors" in reply
def test_session_id_unique_per_platform() -> None:
agent = BotAgent()
assert agent.session_id("slack", "U1", "C1") == "slack:C1:U1"
assert agent.session_id("telegram", "123", "456") == "telegram:456:123"
def test_format_reply_truncates() -> None:
result = ChatResponse(
reply="x" * 5000,
tools_used=["health"],
kernel_state={},
model="test",
session_id="s1",
)
out = format_reply(result)
assert len(out) <= 3900
assert "truncated" in out
def test_clear_command() -> None:
agent = BotAgent()
reply = asyncio.run(agent.handle("test", "u", "/clear"))
assert "cleared" in reply.lower()
def test_sensors_command() -> None:
agent = BotAgent()
reply = asyncio.run(agent.handle("test", "u", "/sensors"))
assert "Q(t)" in reply or "Live sensors" in reply