(t *testing.T)
| 228 | } |
| 229 | |
| 230 | func 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 | |
| 266 | func TestHandler_DeleteSession(t *testing.T) { |
| 267 | logger := zap.NewNop() |
nothing calls this directly
no test coverage detected