68 lines
2.3 KiB
Python
68 lines
2.3 KiB
Python
from pathlib import Path
|
|
|
|
from nanobot.bus.queue import MessageBus
|
|
from nanobot.channels.matrix import MatrixChannel
|
|
from nanobot.channels.mochat import MochatChannel
|
|
from nanobot.config.schema import MatrixConfig, MatrixInstanceConfig, MochatConfig, MochatInstanceConfig
|
|
|
|
|
|
def test_matrix_default_store_path_unchanged(monkeypatch, tmp_path: Path) -> None:
|
|
monkeypatch.setattr("nanobot.channels.matrix.get_data_dir", lambda: tmp_path)
|
|
channel = MatrixChannel(
|
|
MatrixConfig(
|
|
enabled=True,
|
|
homeserver="https://matrix.example.com",
|
|
access_token="token",
|
|
user_id="@bot:example.com",
|
|
allow_from=["*"],
|
|
),
|
|
MessageBus(),
|
|
)
|
|
|
|
assert channel._get_store_path() == tmp_path / "matrix-store"
|
|
|
|
|
|
def test_matrix_instance_store_path_isolated(monkeypatch, tmp_path: Path) -> None:
|
|
monkeypatch.setattr("nanobot.channels.matrix.get_data_dir", lambda: tmp_path)
|
|
channel = MatrixChannel(
|
|
MatrixInstanceConfig(
|
|
name="ops",
|
|
enabled=True,
|
|
homeserver="https://matrix.example.com",
|
|
access_token="token",
|
|
user_id="@bot:example.com",
|
|
allow_from=["*"],
|
|
),
|
|
MessageBus(),
|
|
)
|
|
|
|
assert channel._get_store_path() == tmp_path / "matrix-store" / "ops"
|
|
|
|
|
|
def test_mochat_default_state_dir_unchanged(monkeypatch, tmp_path: Path) -> None:
|
|
monkeypatch.setattr("nanobot.channels.mochat.get_runtime_subdir", lambda _: tmp_path / "mochat")
|
|
channel = MochatChannel(
|
|
MochatConfig(enabled=True, claw_token="token", agent_user_id="agent-1", allow_from=["*"]),
|
|
MessageBus(),
|
|
)
|
|
|
|
assert channel._state_dir == tmp_path / "mochat"
|
|
assert channel._cursor_path == tmp_path / "mochat" / "session_cursors.json"
|
|
|
|
|
|
def test_mochat_instance_state_dir_isolated(monkeypatch, tmp_path: Path) -> None:
|
|
monkeypatch.setattr("nanobot.channels.mochat.get_runtime_subdir", lambda _: tmp_path / "mochat")
|
|
channel = MochatChannel(
|
|
MochatInstanceConfig(
|
|
name="sales",
|
|
enabled=True,
|
|
claw_token="token",
|
|
agent_user_id="agent-1",
|
|
allow_from=["*"],
|
|
),
|
|
MessageBus(),
|
|
)
|
|
|
|
assert channel._state_dir == tmp_path / "mochat" / "sales"
|
|
assert channel._cursor_path == tmp_path / "mochat" / "sales" / "session_cursors.json"
|