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

Function TestInterruptChatClearsWorkerInDatabase

coderd/x/chatd/chatd_test.go:1509–1544  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1507}
1508
1509func TestInterruptChatClearsWorkerInDatabase(t *testing.T) {
1510 t.Parallel()
1511
1512 db, ps := dbtestutil.NewDB(t)
1513 replica := newTestServer(t, db, ps, uuid.New())
1514
1515 ctx := testutil.Context(t, testutil.WaitLong)
1516 user, org, model := seedChatDependencies(t, db)
1517
1518 chat, err := replica.CreateChat(ctx, chatd.CreateOptions{
1519 OrganizationID: org.ID,
1520 OwnerID: user.ID,
1521 Title: "db-transition",
1522 ModelConfigID: model.ID,
1523 InitialUserContent: []codersdk.ChatMessagePart{codersdk.ChatMessageText("hello")},
1524 })
1525 require.NoError(t, err)
1526
1527 chat, err = db.UpdateChatStatus(ctx, database.UpdateChatStatusParams{
1528 ID: chat.ID,
1529 Status: database.ChatStatusRunning,
1530 WorkerID: uuid.NullUUID{UUID: uuid.New(), Valid: true},
1531 StartedAt: sql.NullTime{Time: time.Now(), Valid: true},
1532 HeartbeatAt: sql.NullTime{Time: time.Now(), Valid: true},
1533 })
1534 require.NoError(t, err)
1535
1536 updated := replica.InterruptChat(ctx, chat)
1537 require.Equal(t, database.ChatStatusWaiting, updated.Status)
1538 require.False(t, updated.WorkerID.Valid)
1539
1540 fromDB, err := db.GetChatByID(ctx, chat.ID)
1541 require.NoError(t, err)
1542 require.Equal(t, database.ChatStatusWaiting, fromDB.Status)
1543 require.False(t, fromDB.WorkerID.Valid)
1544}
1545
1546func TestArchiveChatMovesPendingChatToWaiting(t *testing.T) {
1547 t.Parallel()

Callers

nothing calls this directly

Calls 11

NewDBFunction · 0.92
ContextFunction · 0.92
ChatMessageTextFunction · 0.92
newTestServerFunction · 0.70
seedChatDependenciesFunction · 0.70
NewMethod · 0.65
CreateChatMethod · 0.65
UpdateChatStatusMethod · 0.65
GetChatByIDMethod · 0.65
InterruptChatMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected