MCPcopy Create free account
hub / github.com/coder/coder / TestContextFileAgentID

Function TestContextFileAgentID

coderd/x/chatd/chatd_internal_test.go:3556–3658  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

3554}
3555
3556func TestContextFileAgentID(t *testing.T) {
3557 t.Parallel()
3558
3559 t.Run("EmptyMessages", func(t *testing.T) {
3560 t.Parallel()
3561 id, ok := contextFileAgentID(nil)
3562 require.Equal(t, uuid.Nil, id)
3563 require.False(t, ok)
3564 })
3565
3566 t.Run("NoContextFileParts", func(t *testing.T) {
3567 t.Parallel()
3568 msgs := []database.ChatMessage{
3569 chattest.ChatMessageWithParts([]codersdk.ChatMessagePart{
3570 {Type: codersdk.ChatMessagePartTypeText, Text: "hello"},
3571 }),
3572 }
3573 id, ok := contextFileAgentID(msgs)
3574 require.Equal(t, uuid.Nil, id)
3575 require.False(t, ok)
3576 })
3577
3578 t.Run("SingleContextFile", func(t *testing.T) {
3579 t.Parallel()
3580 agentID := uuid.New()
3581 msgs := []database.ChatMessage{
3582 chattest.ChatMessageWithParts([]codersdk.ChatMessagePart{
3583 {
3584 Type: codersdk.ChatMessagePartTypeContextFile,
3585 ContextFilePath: "/some/path",
3586 ContextFileAgentID: uuid.NullUUID{UUID: agentID, Valid: true},
3587 },
3588 }),
3589 }
3590 id, ok := contextFileAgentID(msgs)
3591 require.Equal(t, agentID, id)
3592 require.True(t, ok)
3593 })
3594
3595 t.Run("MultipleContextFiles", func(t *testing.T) {
3596 t.Parallel()
3597 agentID1 := uuid.New()
3598 agentID2 := uuid.New()
3599 msgs := []database.ChatMessage{
3600 chattest.ChatMessageWithParts([]codersdk.ChatMessagePart{
3601 {
3602 Type: codersdk.ChatMessagePartTypeContextFile,
3603 ContextFilePath: "/first/path",
3604 ContextFileAgentID: uuid.NullUUID{UUID: agentID1, Valid: true},
3605 },
3606 }),
3607 chattest.ChatMessageWithParts([]codersdk.ChatMessagePart{
3608 {
3609 Type: codersdk.ChatMessagePartTypeContextFile,
3610 ContextFilePath: "/second/path",
3611 ContextFileAgentID: uuid.NullUUID{UUID: agentID2, Valid: true},
3612 },
3613 }),

Callers

nothing calls this directly

Calls 5

ChatMessageWithPartsFunction · 0.92
contextFileAgentIDFunction · 0.85
RunMethod · 0.65
NewMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected