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

Function TestServer_HandleRequest_TasksGet

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

Source from the content-addressed store, hash-verified

137}
138
139func TestServer_HandleRequest_TasksGet(t *testing.T) {
140 // 创建 Actor 系统
141 system := actor.NewSystem("test-a2a")
142 defer system.Shutdown()
143
144 // 创建 A2A 服务器
145 taskStore := NewInMemoryTaskStore()
146 server := NewServer(system, taskStore)
147
148 agentID := "test-agent"
149
150 // 创建一个任务
151 task := NewTask("task-1", "context-1")
152 task.AddMessage(Message{
153 MessageID: "msg-1",
154 Role: "user",
155 Parts: []Part{{Kind: "text", Text: "Hello"}},
156 })
157 task.UpdateStatus(TaskStateCompleted, nil)
158 require.NoError(t, taskStore.Save(agentID, task))
159
160 // 构造 tasks/get 请求
161 params := TasksGetParams{
162 TaskID: task.ID,
163 }
164 paramsJSON, _ := json.Marshal(params)
165
166 req := &JSONRPCRequest{
167 JSONRPC: "2.0",
168 ID: "req-1",
169 Method: "tasks/get",
170 Params: json.RawMessage(paramsJSON),
171 }
172
173 // 处理请求
174 ctx := context.Background()
175 resp := server.HandleRequest(ctx, agentID, req)
176
177 // 验证响应
178 require.NotNil(t, resp)
179 assert.Nil(t, resp.Error)
180 assert.NotNil(t, resp.Result)
181
182 // 验证返回的任务
183 var result TasksGetResult
184 resultBytes, _ := json.Marshal(resp.Result)
185 err := json.Unmarshal(resultBytes, &result)
186 require.NoError(t, err)
187 assert.Equal(t, task.ID, result.Task.ID)
188 assert.Equal(t, TaskStateCompleted, result.Task.Status.State)
189}
190
191func TestServer_HandleRequest_TasksCancel(t *testing.T) {
192 // 创建 Actor 系统

Callers

nothing calls this directly

Calls 9

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

Tested by

no test coverage detected