Skip to content

Commit 477103d

Browse files
feat: update metadata property in RequestContext to use type hints and add tests
1 parent c317baa commit 477103d

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/a2a/server/agent_execution/context.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import uuid
2+
from typing import Any
23

34
from a2a.server.context import ServerCallContext
45
from a2a.types import (
@@ -135,7 +136,7 @@ def call_context(self) -> ServerCallContext | None:
135136
return self._call_context
136137

137138
@property
138-
def metadata(self) -> dict:
139+
def metadata(self) -> dict[str, Any]:
139140
"""Metadata associated with the request, if available."""
140141
if not self._params:
141142
return {}

tests/server/agent_execution/test_context.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,17 @@ def test_message_property_with_params(self, mock_params):
211211
context = RequestContext(request=mock_params)
212212
assert context.message == mock_params.message
213213

214+
def test_metadata_property_without_content(self):
215+
"""Test metadata property returns empty dict when no content are provided."""
216+
context = RequestContext()
217+
assert context.metadata == {}
218+
219+
def test_metadata_property_with_content(self, mock_params):
220+
"""Test metadata property returns the metadata from params."""
221+
mock_params.metadata = {'key': 'value'}
222+
context = RequestContext(request=mock_params)
223+
assert context.metadata == {'key': 'value'}
224+
214225
def test_init_with_existing_ids_in_message(self, mock_message, mock_params):
215226
"""Test initialization with existing IDs in the message."""
216227
mock_message.taskId = 'existing-task-id'

0 commit comments

Comments
 (0)