Add comprehensive tests for Python Agent Mail adapter
- Add 24 new tests across 6 test classes - Cover authorization headers, request body validation - Test reservation edge cases (TTL, special chars, multiple reservations) - Test timeout configuration and precedence - Test inbox/notification edge cases (large payloads, Unicode, nested data) - Fix timeout parameter precedence bug (constructor now overrides env var) - All 51 tests pass Closes bd-b134 Amp-Thread-ID: https://ampcode.com/threads/T-2f39e97d-38de-4df4-bf94-ef90184cee8a Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
@@ -44,7 +44,7 @@ class AgentMailAdapter:
|
||||
url: Optional[str] = None,
|
||||
token: Optional[str] = None,
|
||||
agent_name: Optional[str] = None,
|
||||
timeout: int = 5
|
||||
timeout: Optional[int] = None
|
||||
):
|
||||
"""
|
||||
Initialize Agent Mail adapter with health check.
|
||||
@@ -53,12 +53,16 @@ class AgentMailAdapter:
|
||||
url: Server URL (overrides AGENT_MAIL_URL env var)
|
||||
token: Bearer token (overrides AGENT_MAIL_TOKEN env var)
|
||||
agent_name: Agent identifier (overrides BEADS_AGENT_NAME env var)
|
||||
timeout: HTTP request timeout in seconds
|
||||
timeout: HTTP request timeout in seconds (overrides AGENT_MAIL_TIMEOUT env var)
|
||||
"""
|
||||
self.url = url or os.getenv("AGENT_MAIL_URL", "http://127.0.0.1:8765")
|
||||
self.token = token or os.getenv("AGENT_MAIL_TOKEN", "")
|
||||
self.agent_name = agent_name or os.getenv("BEADS_AGENT_NAME") or self._get_default_agent_name()
|
||||
self.timeout = int(os.getenv("AGENT_MAIL_TIMEOUT", str(timeout)))
|
||||
# Constructor argument overrides environment variable
|
||||
if timeout is not None:
|
||||
self.timeout = timeout
|
||||
else:
|
||||
self.timeout = int(os.getenv("AGENT_MAIL_TIMEOUT", "5"))
|
||||
self.enabled = False
|
||||
|
||||
# Remove trailing slash from URL
|
||||
|
||||
Reference in New Issue
Block a user