mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-29 06:31:32 +00:00
fix(teams): fall back to default port on invalid port config
This commit is contained in:
parent
e90a52deaf
commit
ea2ee51f0b
2 changed files with 21 additions and 1 deletions
|
|
@ -116,6 +116,13 @@ def _parse_bool(value: Any, *, default: bool = False) -> bool:
|
|||
return default
|
||||
|
||||
|
||||
def _coerce_port(value: Any, *, default: int = _DEFAULT_PORT) -> int:
|
||||
try:
|
||||
return int(value)
|
||||
except (TypeError, ValueError):
|
||||
return default
|
||||
|
||||
|
||||
class _StaticAccessTokenProvider:
|
||||
"""Minimal token-provider shim so outbound Graph delivery can reuse the shared client."""
|
||||
|
||||
|
|
@ -623,7 +630,9 @@ class TeamsAdapter(BasePlatformAdapter):
|
|||
self._client_id = extra.get("client_id") or os.getenv("TEAMS_CLIENT_ID", "")
|
||||
self._client_secret = extra.get("client_secret") or os.getenv("TEAMS_CLIENT_SECRET", "")
|
||||
self._tenant_id = extra.get("tenant_id") or os.getenv("TEAMS_TENANT_ID", "")
|
||||
self._port = int(extra.get("port") or os.getenv("TEAMS_PORT", str(_DEFAULT_PORT)))
|
||||
self._port = _coerce_port(
|
||||
extra.get("port") or os.getenv("TEAMS_PORT", str(_DEFAULT_PORT))
|
||||
)
|
||||
self._app: Optional["App"] = None
|
||||
self._runner: Optional["web.AppRunner"] = None
|
||||
self._dedup = MessageDeduplicator(max_size=1000)
|
||||
|
|
|
|||
|
|
@ -283,6 +283,17 @@ class TestTeamsAdapterInit:
|
|||
adapter = TeamsAdapter(_make_config(client_id="id", client_secret="secret", tenant_id="tenant"))
|
||||
assert adapter._port == 5000
|
||||
|
||||
def test_invalid_port_from_extra_falls_back_to_default(self):
|
||||
adapter = TeamsAdapter(
|
||||
_make_config(client_id="id", client_secret="secret", tenant_id="tenant", port="abc")
|
||||
)
|
||||
assert adapter._port == 3978
|
||||
|
||||
def test_invalid_port_from_env_falls_back_to_default(self, monkeypatch):
|
||||
monkeypatch.setenv("TEAMS_PORT", "abc")
|
||||
adapter = TeamsAdapter(_make_config(client_id="id", client_secret="secret", tenant_id="tenant"))
|
||||
assert adapter._port == 3978
|
||||
|
||||
def test_platform_value(self):
|
||||
adapter = TeamsAdapter(_make_config(client_id="id", client_secret="secret", tenant_id="tenant"))
|
||||
assert adapter.platform.value == "teams"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue