mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-30 19:09:28 +00:00
43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
from argparse import Namespace
|
|
from unittest.mock import patch
|
|
|
|
from gateway.pairing import PairingStore
|
|
from hermes_cli.pairing import pairing_command
|
|
|
|
|
|
def test_cli_listed_request_id_and_bot_code_can_be_approved(tmp_path, capsys):
|
|
with patch("gateway.pairing.PAIRING_DIR", tmp_path):
|
|
store = PairingStore()
|
|
store.generate_code("telegram", "listed-user", "Listed User")
|
|
|
|
with patch("gateway.pairing.PairingStore", return_value=store):
|
|
pairing_command(Namespace(pairing_action="list"))
|
|
list_output = capsys.readouterr().out
|
|
request_id = store.list_pending("telegram")[0]["request_id"]
|
|
|
|
assert request_id in list_output
|
|
|
|
pairing_command(
|
|
Namespace(
|
|
pairing_action="approve",
|
|
platform="telegram",
|
|
code=request_id,
|
|
)
|
|
)
|
|
request_approval_output = capsys.readouterr().out
|
|
|
|
bot_code = store.generate_code("telegram", "code-user", "Code User")
|
|
pairing_command(
|
|
Namespace(
|
|
pairing_action="approve",
|
|
platform="telegram",
|
|
code=bot_code,
|
|
)
|
|
)
|
|
code_approval_output = capsys.readouterr().out
|
|
|
|
approved_ids = {entry["user_id"] for entry in store.list_approved("telegram")}
|
|
|
|
assert "listed-user" in request_approval_output
|
|
assert "code-user" in code_approval_output
|
|
assert approved_ids == {"listed-user", "code-user"}
|