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

Function TestInMemoryService_AppendEvent

pkg/session/inmemory_test.go:218–339  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

216}
217
218func TestInMemoryService_AppendEvent(t *testing.T) {
219 ctx := context.Background()
220 service := NewInMemoryService()
221
222 sess, _ := service.Create(ctx, &CreateRequest{
223 AppName: "test-app",
224 UserID: "user-1",
225 AgentID: "agent-1",
226 })
227
228 t.Run("追加事件成功", func(t *testing.T) {
229 event := &Event{
230 ID: "evt-1",
231 Timestamp: time.Now(),
232 InvocationID: "inv-1",
233 AgentID: "agent-1",
234 Branch: "root",
235 Author: "user",
236 Content: types.Message{
237 Role: types.RoleUser,
238 Content: "Hello",
239 },
240 }
241
242 err := service.AppendEvent(ctx, sess.ID(), event)
243 require.NoError(t, err)
244
245 // 验证事件已追加
246 events, err := service.GetEvents(ctx, sess.ID(), nil)
247 require.NoError(t, err)
248 assert.Len(t, events, 1)
249 assert.Equal(t, "evt-1", events[0].ID)
250 })
251
252 t.Run("追加多个事件", func(t *testing.T) {
253 for i := range 3 {
254 event := &Event{
255 ID: "evt-" + string(rune('2'+i)),
256 Timestamp: time.Now(),
257 InvocationID: "inv-1",
258 AgentID: "agent-1",
259 Branch: "root",
260 Author: "assistant",
261 Content: types.Message{
262 Role: types.RoleAssistant,
263 Content: "Response",
264 },
265 }
266 if err := service.AppendEvent(ctx, sess.ID(), event); err != nil {
267 t.Errorf("AppendEvent failed: %v", err)
268 }
269 }
270
271 events, _ := service.GetEvents(ctx, sess.ID(), nil)
272 assert.Len(t, events, 4) // 1 from previous test + 3 new
273 })
274
275 t.Run("事件带状态变更", func(t *testing.T) {

Callers

nothing calls this directly

Calls 7

CreateMethod · 0.95
AppendEventMethod · 0.95
GetEventsMethod · 0.95
NewInMemoryServiceFunction · 0.85
IDMethod · 0.65
LenMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected