(t *testing.T)
| 321 | } |
| 322 | |
| 323 | func TestStoreAgentNameJSON(t *testing.T) { |
| 324 | t.Parallel() |
| 325 | |
| 326 | tempDB := filepath.Join(t.TempDir(), "test_store_json.db") |
| 327 | |
| 328 | store, err := NewSQLiteSessionStore(t.Context(), tempDB) |
| 329 | require.NoError(t, err) |
| 330 | defer store.(*SQLiteSessionStore).Close() |
| 331 | |
| 332 | agent1 := agent.New("my-agent", "test prompt") |
| 333 | agent2 := agent.New("another-agent", "another prompt") |
| 334 | |
| 335 | session := &Session{ |
| 336 | ID: "json-test-session", |
| 337 | Messages: []Item{ |
| 338 | NewMessageItem(UserMessage("User input")), |
| 339 | NewMessageItem(NewAgentMessage(agent1.Name(), &chat.Message{ |
| 340 | Role: chat.MessageRoleAssistant, |
| 341 | Content: "Response from my-agent", |
| 342 | })), |
| 343 | NewMessageItem(NewAgentMessage(agent2.Name(), &chat.Message{ |
| 344 | Role: chat.MessageRoleAssistant, |
| 345 | Content: "Response from another-agent", |
| 346 | })), |
| 347 | }, |
| 348 | CreatedAt: time.Now(), |
| 349 | } |
| 350 | |
| 351 | // Store the session |
| 352 | err = store.AddSession(t.Context(), session) |
| 353 | require.NoError(t, err) |
| 354 | |
| 355 | // Retrieve the session |
| 356 | retrievedSession, err := store.GetSession(t.Context(), "json-test-session") |
| 357 | require.NoError(t, err) |
| 358 | require.NotNil(t, retrievedSession) |
| 359 | |
| 360 | assert.Empty(t, retrievedSession.Messages[0].Message.AgentName) // User message |
| 361 | assert.Equal(t, "my-agent", retrievedSession.Messages[1].Message.AgentName) // First agent |
| 362 | assert.Equal(t, "another-agent", retrievedSession.Messages[2].Message.AgentName) // Second agent |
| 363 | } |
| 364 | |
| 365 | func TestNewSQLiteSessionStore_DirectoryNotWritable(t *testing.T) { |
| 366 | t.Parallel() |
nothing calls this directly
no test coverage detected