(t *testing.T)
| 121 | } |
| 122 | |
| 123 | func TestGetSessions(t *testing.T) { |
| 124 | t.Parallel() |
| 125 | |
| 126 | tempDB := filepath.Join(t.TempDir(), "test_get_sessions.db") |
| 127 | |
| 128 | store, err := NewSQLiteSessionStore(t.Context(), tempDB) |
| 129 | require.NoError(t, err) |
| 130 | defer store.(*SQLiteSessionStore).Close() |
| 131 | |
| 132 | testAgent := agent.New("test-agent", "test prompt") |
| 133 | |
| 134 | session1 := &Session{ |
| 135 | ID: "session-1", |
| 136 | Messages: []Item{ |
| 137 | NewMessageItem(NewAgentMessage(testAgent.Name(), &chat.Message{ |
| 138 | Role: chat.MessageRoleAssistant, |
| 139 | Content: "Message from session 1", |
| 140 | })), |
| 141 | }, |
| 142 | CreatedAt: time.Now().Add(-1 * time.Hour), |
| 143 | } |
| 144 | |
| 145 | session2 := &Session{ |
| 146 | ID: "session-2", |
| 147 | Messages: []Item{ |
| 148 | NewMessageItem(NewAgentMessage(testAgent.Name(), &chat.Message{ |
| 149 | Role: chat.MessageRoleAssistant, |
| 150 | Content: "Message from session 2", |
| 151 | })), |
| 152 | }, |
| 153 | CreatedAt: time.Now(), |
| 154 | } |
| 155 | |
| 156 | // Store the sessions |
| 157 | err = store.AddSession(t.Context(), session1) |
| 158 | require.NoError(t, err) |
| 159 | err = store.AddSession(t.Context(), session2) |
| 160 | require.NoError(t, err) |
| 161 | |
| 162 | // Retrieve all sessions |
| 163 | sessions, err := store.GetSessions(t.Context()) |
| 164 | require.NoError(t, err) |
| 165 | assert.Len(t, sessions, 2) |
| 166 | |
| 167 | for _, session := range sessions { |
| 168 | assert.Len(t, session.Messages, 1) |
| 169 | assert.Equal(t, "test-agent", session.Messages[0].Message.AgentName) |
| 170 | } |
| 171 | } |
| 172 | |
| 173 | func TestGetSessionSummaries(t *testing.T) { |
| 174 | t.Parallel() |
nothing calls this directly
no test coverage detected