MCPcopy Index your code
hub / github.com/coder/coder / TestService_FinalizeStale

Function TestService_FinalizeStale

coderd/x/chatd/chatdebug/service_test.go:683–729  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

681}
682
683func TestService_FinalizeStale(t *testing.T) {
684 t.Parallel()
685
686 ctx := testutil.Context(t, testutil.WaitLong)
687 db, _ := dbtestutil.NewDB(t)
688 _, owner, chat, model := seedChat(t, db)
689 require.NotEqual(t, uuid.Nil, owner.ID)
690
691 staleTime := time.Now().Add(-10 * time.Minute).UTC().Round(time.Microsecond)
692 run, err := db.InsertChatDebugRun(ctx, database.InsertChatDebugRunParams{
693 ChatID: chat.ID,
694 ModelConfigID: uuid.NullUUID{UUID: model.ID, Valid: true},
695 Kind: string(chatdebug.KindChatTurn),
696 Status: string(chatdebug.StatusInProgress),
697 StartedAt: sql.NullTime{Time: staleTime, Valid: true},
698 UpdatedAt: sql.NullTime{Time: staleTime, Valid: true},
699 })
700 require.NoError(t, err)
701 step, err := db.InsertChatDebugStep(ctx, database.InsertChatDebugStepParams{
702 RunID: run.ID,
703 StepNumber: 1,
704 Operation: string(chatdebug.OperationStream),
705 Status: string(chatdebug.StatusInProgress),
706 StartedAt: sql.NullTime{Time: staleTime, Valid: true},
707 UpdatedAt: sql.NullTime{Time: staleTime, Valid: true},
708 ChatID: chat.ID,
709 })
710 require.NoError(t, err)
711
712 svc := chatdebug.NewService(db, testutil.Logger(t), nil)
713 result, err := svc.FinalizeStale(ctx)
714 require.NoError(t, err)
715 require.EqualValues(t, 1, result.RunsFinalized)
716 require.EqualValues(t, 1, result.StepsFinalized)
717
718 storedRun, err := db.GetChatDebugRunByID(ctx, run.ID)
719 require.NoError(t, err)
720 require.Equal(t, string(chatdebug.StatusInterrupted), storedRun.Status)
721 require.True(t, storedRun.FinishedAt.Valid)
722
723 storedSteps, err := db.GetChatDebugStepsByRunID(ctx, run.ID)
724 require.NoError(t, err)
725 require.Len(t, storedSteps, 1)
726 require.Equal(t, step.ID, storedSteps[0].ID)
727 require.Equal(t, string(chatdebug.StatusInterrupted), storedSteps[0].Status)
728 require.True(t, storedSteps[0].FinishedAt.Valid)
729}
730
731func TestService_FinalizeStale_BroadcastsFinalizeEvent(t *testing.T) {
732 t.Parallel()

Callers

nothing calls this directly

Calls 13

FinalizeStaleMethod · 0.95
ContextFunction · 0.92
NewDBFunction · 0.92
NewServiceFunction · 0.92
LoggerFunction · 0.92
seedChatFunction · 0.85
AddMethod · 0.65
InsertChatDebugRunMethod · 0.65
InsertChatDebugStepMethod · 0.65
GetChatDebugRunByIDMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected