1- import sys
2-
3- from pathlib import Path
41from typing import Any
52
63import pytest
74
8-
9- sys .path .insert (0 , str (Path (__file__ ).parent .parent .parent ))
10-
11- from builders import (
12- ArtifactUpdateEventBuilder ,
13- StatusUpdateEventBuilder ,
14- )
15- from fixtures import *
16- from test_doubles import InMemoryTaskStore
17-
185from a2a .server .tasks import TaskManager
196from a2a .types import (
207 InvalidParamsError ,
218 TaskState ,
229)
2310from a2a .utils .errors import ServerError
11+ from tests .builders import (
12+ ArtifactUpdateEventBuilder ,
13+ StatusUpdateEventBuilder ,
14+ )
15+ from tests .fixtures import (
16+ artifact_builder ,
17+ event_queue ,
18+ http_client ,
19+ message_builder ,
20+ push_config_store ,
21+ submitted_task ,
22+ task_builder ,
23+ task_manager ,
24+ task_manager_factory ,
25+ task_store ,
26+ )
27+ from tests .test_doubles import InMemoryTaskStore
2428
2529
2630@pytest .mark .parametrize ('invalid_task_id' , ['' , 123 ])
2731def test_task_manager_invalid_task_id (
2832 task_store : InMemoryTaskStore , invalid_task_id : Any
2933):
34+ """Test that TaskManager raises ValueError for an invalid task_id."""
3035 with pytest .raises (ValueError , match = 'Task ID must be a non-empty string' ):
3136 TaskManager (
3237 task_id = invalid_task_id ,
@@ -40,6 +45,7 @@ def test_task_manager_invalid_task_id(
4045async def test_get_task_existing (
4146 task_manager_factory , task_store : InMemoryTaskStore , submitted_task
4247):
48+ """Test retrieving an existing task from the task store."""
4349 task_manager = task_manager_factory (
4450 task_id = submitted_task .id , context_id = submitted_task .context_id
4551 )
@@ -55,6 +61,7 @@ async def test_get_task_existing(
5561async def test_get_task_nonexistent (
5662 task_manager : TaskManager , task_store : InMemoryTaskStore
5763):
64+ """Test retrieving a non-existent task returns None."""
5865 retrieved_task = await task_manager .get_task ()
5966
6067 assert retrieved_task is None
@@ -65,6 +72,7 @@ async def test_get_task_nonexistent(
6572async def test_save_task_event_new_task (
6673 task_manager_factory , task_store : InMemoryTaskStore , task_builder
6774):
75+ """Test saving a new task event to the task store."""
6876 task = task_builder .with_id ('task-abc' ).build ()
6977 task_manager = task_manager_factory (task_id = None , context_id = None )
7078
@@ -81,6 +89,7 @@ async def test_save_task_event_status_update(
8189 task_builder ,
8290 message_builder ,
8391):
92+ """Test saving a status update event for an existing task."""
8493 initial_task = (
8594 task_builder .with_id ('task-abc' ).with_context_id ('context-xyz' ).build ()
8695 )
@@ -117,6 +126,7 @@ async def test_save_task_event_artifact_update(
117126 task_builder ,
118127 artifact_builder ,
119128):
129+ """Test saving an artifact update event for an existing task."""
120130 initial_task = (
121131 task_builder .with_id ('task-abc' ).with_context_id ('context-xyz' ).build ()
122132 )
@@ -151,6 +161,7 @@ async def test_save_task_event_artifact_update(
151161async def test_save_task_event_metadata_update (
152162 task_manager_factory , task_store : InMemoryTaskStore , task_builder
153163):
164+ """Test saving a metadata update event for an existing task."""
154165 initial_task = (
155166 task_builder .with_id ('task-abc' ).with_context_id ('context-xyz' ).build ()
156167 )
@@ -178,6 +189,7 @@ async def test_save_task_event_metadata_update(
178189async def test_ensure_task_existing (
179190 task_manager_factory , task_store : InMemoryTaskStore , submitted_task
180191):
192+ """Test ensuring a task that already exists in the store."""
181193 task_store .set_task (submitted_task )
182194 task_manager = task_manager_factory (
183195 task_id = submitted_task .id , context_id = submitted_task .context_id
@@ -201,6 +213,7 @@ async def test_ensure_task_existing(
201213async def test_ensure_task_nonexistent (
202214 task_store : InMemoryTaskStore , task_manager_factory
203215):
216+ """Test ensuring a task that does not exist creates a new one."""
204217 task_manager = task_manager_factory (task_id = None , context_id = None )
205218
206219 event = (
@@ -222,6 +235,7 @@ async def test_ensure_task_nonexistent(
222235
223236
224237def test_init_task_obj (task_manager : TaskManager ):
238+ """Test initializing a new task object with default values."""
225239 new_task = task_manager ._init_task_obj ('new-task' , 'new-context' )
226240
227241 assert new_task .id == 'new-task'
@@ -234,6 +248,7 @@ def test_init_task_obj(task_manager: TaskManager):
234248async def test_save_task (
235249 task_manager : TaskManager , task_store : InMemoryTaskStore , submitted_task
236250):
251+ """Test saving a task directly to the task store."""
237252 await task_manager ._save_task (submitted_task )
238253
239254 task_store .assert_save_called (times = 1 )
@@ -244,6 +259,7 @@ async def test_save_task(
244259async def test_save_task_event_mismatched_id_raises_error (
245260 task_manager : TaskManager , task_builder
246261):
262+ """Test that saving a task with mismatched ID raises an error."""
247263 mismatched_task = (
248264 task_builder .with_id ('wrong-id' ).with_context_id ('session-xyz' ).build ()
249265 )
@@ -257,6 +273,7 @@ async def test_save_task_event_mismatched_id_raises_error(
257273async def test_save_task_event_new_task_no_task_id (
258274 task_store : InMemoryTaskStore , task_manager_factory , task_builder
259275):
276+ """Test saving a new task event when task manager has no task_id."""
260277 task_manager = task_manager_factory (task_id = None , context_id = None )
261278
262279 task = (
@@ -279,6 +296,7 @@ async def test_save_task_event_new_task_no_task_id(
279296async def test_get_task_no_task_id (
280297 task_store : InMemoryTaskStore , task_manager_factory
281298):
299+ """Test get_task returns None when task manager has no task_id."""
282300 task_manager = task_manager_factory (task_id = None , context_id = 'some-context' )
283301
284302 retrieved_task = await task_manager .get_task ()
@@ -291,6 +309,7 @@ async def test_get_task_no_task_id(
291309async def test_save_task_event_no_task_existing (
292310 task_store : InMemoryTaskStore , task_manager_factory
293311):
312+ """Test saving an event when no task exists creates a new task."""
294313 task_manager = task_manager_factory (task_id = None , context_id = None )
295314
296315 event = (
0 commit comments