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

Function TestChat_FileMetadataConversion

coderd/database/db2sdk/db2sdk_test.go:1008–1053  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1006}
1007
1008func TestChat_FileMetadataConversion(t *testing.T) {
1009 t.Parallel()
1010
1011 ownerID := uuid.New()
1012 orgID := uuid.New()
1013 fileID := uuid.New()
1014 now := dbtime.Now()
1015
1016 chat := database.Chat{
1017 ID: uuid.New(),
1018 OwnerID: ownerID,
1019 LastModelConfigID: uuid.New(),
1020 Title: "file metadata test",
1021 Status: database.ChatStatusWaiting,
1022 CreatedAt: now,
1023 UpdatedAt: now,
1024 }
1025
1026 rows := []database.GetChatFileMetadataByChatIDRow{
1027 {
1028 ID: fileID,
1029 OwnerID: ownerID,
1030 OrganizationID: orgID,
1031 Name: "screenshot.png",
1032 Mimetype: "image/png",
1033 CreatedAt: now,
1034 },
1035 }
1036
1037 result := db2sdk.Chat(chat, nil, rows)
1038
1039 require.Len(t, result.Files, 1)
1040 f := result.Files[0]
1041 require.Equal(t, fileID, f.ID)
1042 require.Equal(t, ownerID, f.OwnerID, "OwnerID must be mapped from DB row")
1043 require.Equal(t, orgID, f.OrganizationID, "OrganizationID must be mapped from DB row")
1044 require.Equal(t, "screenshot.png", f.Name)
1045 require.Equal(t, "image/png", f.MimeType)
1046 require.Equal(t, now, f.CreatedAt)
1047
1048 // Verify JSON serialization uses snake_case for mime_type.
1049 data, err := json.Marshal(f)
1050 require.NoError(t, err)
1051 require.Contains(t, string(data), `"mime_type"`)
1052 require.NotContains(t, string(data), `"mimetype"`)
1053}
1054
1055func TestChat_NilFilesOmitted(t *testing.T) {
1056 t.Parallel()

Callers

nothing calls this directly

Calls 7

NowFunction · 0.92
ChatFunction · 0.92
NewMethod · 0.65
LenMethod · 0.45
EqualMethod · 0.45
MarshalMethod · 0.45
ContainsMethod · 0.45

Tested by

no test coverage detected