MCPcopy Create free account
hub / github.com/diillson/chatcli / TestHandler_SaveAndLoadSession

Function TestHandler_SaveAndLoadSession

server/handler_test.go:230–264  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

228}
229
230func TestHandler_SaveAndLoadSession(t *testing.T) {
231 logger := zap.NewNop()
232 store := &mockSessionStore{}
233
234 history := []models.Message{
235 {Role: "user", Content: "hello"},
236 {Role: "assistant", Content: "hi"},
237 }
238
239 store.On("SaveSession", "test", history).Return(nil)
240 store.On("LoadSession", "test").Return(history, nil)
241
242 handler := &Handler{
243 sessionManager: store,
244 logger: logger,
245 }
246
247 // Save
248 saveResp, err := handler.SaveSession(context.Background(), &pb.SaveSessionRequest{
249 Name: "test",
250 Messages: []*pb.ChatMessage{
251 {Role: "user", Content: "hello"},
252 {Role: "assistant", Content: "hi"},
253 },
254 })
255 assert.NoError(t, err)
256 assert.True(t, saveResp.Success)
257
258 // Load
259 loadResp, err := handler.LoadSession(context.Background(), &pb.LoadSessionRequest{Name: "test"})
260 assert.NoError(t, err)
261 assert.Len(t, loadResp.Messages, 2)
262 assert.Equal(t, "user", loadResp.Messages[0].Role)
263 assert.Equal(t, "hello", loadResp.Messages[0].Content)
264}
265
266func TestHandler_DeleteSession(t *testing.T) {
267 logger := zap.NewNop()

Callers

nothing calls this directly

Calls 4

SaveSessionMethod · 0.95
LoadSessionMethod · 0.95
EqualMethod · 0.80
LenMethod · 0.45

Tested by

no test coverage detected