Hugo Dutka
2026-06-12 13:33:12 +02:00
committed by GitHub
parent 4a07f61c50
commit 4debd23cbb
155 changed files with 37612 additions and 24513 deletions
+55 -14
View File
@@ -11063,10 +11063,12 @@ func TestInsertChatMessages(t *testing.T) {
insertMessage := func(t *testing.T, store database.Store, ctx context.Context, chatID, userID, modelConfigID uuid.UUID, content string) {
t.Helper()
apiKey, _ := dbgen.APIKey(t, store, database.APIKey{ID: uuid.NewString(), UserID: userID})
_, err := store.InsertChatMessages(ctx, database.InsertChatMessagesParams{
ChatID: chatID,
CreatedBy: []uuid.UUID{userID},
APIKeyID: []string{apiKey.ID},
ModelConfigID: []uuid.UUID{modelConfigID},
Role: []database.ChatMessageRole{database.ChatMessageRoleUser},
ContentVersion: []int16{chatprompt.CurrentContentVersion},
@@ -11125,10 +11127,12 @@ func TestInsertChatMessages(t *testing.T) {
t.Parallel()
store, ctx, user, chat, _, modelConfigA := setupChat(t)
apiKey, _ := dbgen.APIKey(t, store, database.APIKey{ID: uuid.NewString(), UserID: user.ID})
msgs, err := store.InsertChatMessages(ctx, database.InsertChatMessagesParams{
ChatID: chat.ID,
CreatedBy: []uuid.UUID{user.ID, uuid.Nil, uuid.Nil},
APIKeyID: []string{apiKey.ID, "", ""},
ModelConfigID: []uuid.UUID{modelConfigA.ID, modelConfigA.ID, modelConfigA.ID},
Role: []database.ChatMessageRole{database.ChatMessageRoleUser, database.ChatMessageRoleAssistant, database.ChatMessageRoleTool},
ContentVersion: []int16{chatprompt.CurrentContentVersion, chatprompt.CurrentContentVersion, chatprompt.CurrentContentVersion},
@@ -12744,9 +12748,9 @@ func TestUpdateChatLastTurnSummary(t *testing.T) {
require.NoError(t, err)
affected, err := db.UpdateChatLastTurnSummary(ctx, database.UpdateChatLastTurnSummaryParams{
ID: chat.ID,
ExpectedUpdatedAt: chat.UpdatedAt,
LastTurnSummary: sql.NullString{String: "resolved the issue", Valid: true},
ID: chat.ID,
ExpectedHistoryVersion: chat.HistoryVersion,
LastTurnSummary: sql.NullString{String: "resolved the issue", Valid: true},
})
require.NoError(t, err)
require.EqualValues(t, 1, affected)
@@ -12757,9 +12761,9 @@ func TestUpdateChatLastTurnSummary(t *testing.T) {
require.Equal(t, chat.UpdatedAt, fetched.UpdatedAt)
affected, err = db.UpdateChatLastTurnSummary(ctx, database.UpdateChatLastTurnSummaryParams{
ID: chat.ID,
ExpectedUpdatedAt: chat.UpdatedAt,
LastTurnSummary: sql.NullString{String: " \n\t ", Valid: true},
ID: chat.ID,
ExpectedHistoryVersion: chat.HistoryVersion,
LastTurnSummary: sql.NullString{String: " \n\t ", Valid: true},
})
require.NoError(t, err)
require.EqualValues(t, 1, affected)
@@ -12770,9 +12774,9 @@ func TestUpdateChatLastTurnSummary(t *testing.T) {
require.Equal(t, chat.UpdatedAt, fetched.UpdatedAt)
affected, err = db.UpdateChatLastTurnSummary(ctx, database.UpdateChatLastTurnSummaryParams{
ID: chat.ID,
ExpectedUpdatedAt: chat.UpdatedAt,
LastTurnSummary: sql.NullString{String: "fresh summary", Valid: true},
ID: chat.ID,
ExpectedHistoryVersion: chat.HistoryVersion,
LastTurnSummary: sql.NullString{String: "fresh summary", Valid: true},
})
require.NoError(t, err)
require.EqualValues(t, 1, affected)
@@ -12786,17 +12790,54 @@ func TestUpdateChatLastTurnSummary(t *testing.T) {
require.NoError(t, err)
affected, err = db.UpdateChatLastTurnSummary(ctx, database.UpdateChatLastTurnSummaryParams{
ID: chat.ID,
ExpectedUpdatedAt: chat.UpdatedAt,
LastTurnSummary: sql.NullString{String: "stale summary", Valid: true},
ID: chat.ID,
ExpectedHistoryVersion: chat.HistoryVersion,
LastTurnSummary: sql.NullString{String: "still fresh summary", Valid: true},
})
require.NoError(t, err)
require.EqualValues(t, 1, affected)
fetched, err = db.GetChatByID(ctx, chat.ID)
require.NoError(t, err)
require.Equal(t, sql.NullString{String: "still fresh summary", Valid: true}, fetched.LastTurnSummary)
require.Equal(t, advancedUpdatedAt, fetched.UpdatedAt)
_, err = db.LockChatAndBumpSnapshotVersion(ctx, chat.ID)
require.NoError(t, err)
_, err = db.InsertChatMessages(ctx, database.InsertChatMessagesParams{
ChatID: chat.ID,
CreatedBy: []uuid.UUID{owner.ID},
ModelConfigID: []uuid.UUID{modelCfg.ID},
Role: []database.ChatMessageRole{database.ChatMessageRoleUser},
Content: []string{`[{"type":"text","text":"new request"}]`},
ContentVersion: []int16{chatprompt.CurrentContentVersion},
Visibility: []database.ChatMessageVisibility{database.ChatMessageVisibilityBoth},
InputTokens: []int64{0},
OutputTokens: []int64{0},
TotalTokens: []int64{0},
ReasoningTokens: []int64{0},
CacheCreationTokens: []int64{0},
CacheReadTokens: []int64{0},
ContextLimit: []int64{0},
Compressed: []bool{false},
TotalCostMicros: []int64{0},
RuntimeMs: []int64{0},
ProviderResponseID: []string{""},
})
require.NoError(t, err)
affected, err = db.UpdateChatLastTurnSummary(ctx, database.UpdateChatLastTurnSummaryParams{
ID: chat.ID,
ExpectedHistoryVersion: chat.HistoryVersion,
LastTurnSummary: sql.NullString{String: "stale summary", Valid: true},
})
require.NoError(t, err)
require.Zero(t, affected)
fetched, err = db.GetChatByID(ctx, chat.ID)
require.NoError(t, err)
require.Equal(t, sql.NullString{String: "fresh summary", Valid: true}, fetched.LastTurnSummary)
require.Equal(t, advancedUpdatedAt, fetched.UpdatedAt)
require.Equal(t, sql.NullString{String: "still fresh summary", Valid: true}, fetched.LastTurnSummary)
require.NotEqual(t, chat.HistoryVersion, fetched.HistoryVersion)
}
func TestDeleteChatDebugDataAfterMessageIDIncludesTriggeredRuns(t *testing.T) {