MCPcopy Create free account
hub / github.com/astercloud/aster / TestServer_HandleRequest_TasksCancel

Function TestServer_HandleRequest_TasksCancel

pkg/a2a/server_test.go:191–237  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

189}
190
191func TestServer_HandleRequest_TasksCancel(t *testing.T) {
192 // 创建 Actor 系统
193 system := actor.NewSystem("test-a2a")
194 defer system.Shutdown()
195
196 // 创建 A2A 服务器
197 taskStore := NewInMemoryTaskStore()
198 server := NewServer(system, taskStore)
199
200 agentID := "test-agent"
201
202 // 创建一个任务
203 task := NewTask("task-1", "context-1")
204 task.UpdateStatus(TaskStateWorking, nil)
205 require.NoError(t, taskStore.Save(agentID, task))
206
207 // 构造 tasks/cancel 请求
208 params := TasksCancelParams{
209 TaskID: task.ID,
210 }
211 paramsJSON, _ := json.Marshal(params)
212
213 req := &JSONRPCRequest{
214 JSONRPC: "2.0",
215 ID: "req-1",
216 Method: "tasks/cancel",
217 Params: json.RawMessage(paramsJSON),
218 }
219
220 // 处理请求
221 ctx := context.Background()
222 resp := server.HandleRequest(ctx, agentID, req)
223
224 // 验证响应
225 require.NotNil(t, resp)
226 assert.Nil(t, resp.Error)
227 assert.NotNil(t, resp.Result)
228
229 // 验证取消标记已设置
230 canceled := taskStore.IsCanceled(task.ID)
231 assert.True(t, canceled)
232
233 // 验证任务状态已更新
234 updatedTask, err := taskStore.Load(agentID, task.ID)
235 require.NoError(t, err)
236 assert.Equal(t, TaskStateCanceled, updatedTask.Status.State)
237}
238
239func TestServer_HandleRequest_InvalidMethod(t *testing.T) {
240 system := actor.NewSystem("test-a2a")

Callers

nothing calls this directly

Calls 10

ShutdownMethod · 0.95
UpdateStatusMethod · 0.95
SaveMethod · 0.95
HandleRequestMethod · 0.95
IsCanceledMethod · 0.95
LoadMethod · 0.95
NewSystemFunction · 0.92
NewInMemoryTaskStoreFunction · 0.85
NewServerFunction · 0.85
NewTaskFunction · 0.85

Tested by

no test coverage detected