(t *testing.T)
| 12303 | } |
| 12304 | |
| 12305 | func TestChatLabels(t *testing.T) { |
| 12306 | t.Parallel() |
| 12307 | if testing.Short() { |
| 12308 | t.SkipNow() |
| 12309 | } |
| 12310 | |
| 12311 | sqlDB := testSQLDB(t) |
| 12312 | err := migrations.Up(sqlDB) |
| 12313 | require.NoError(t, err) |
| 12314 | db := database.New(sqlDB) |
| 12315 | |
| 12316 | ctx := testutil.Context(t, testutil.WaitMedium) |
| 12317 | owner := dbgen.User(t, db, database.User{}) |
| 12318 | org := dbgen.Organization(t, db, database.Organization{}) |
| 12319 | dbgen.OrganizationMember(t, db, database.OrganizationMember{UserID: owner.ID, OrganizationID: org.ID}) |
| 12320 | |
| 12321 | dbgen.ChatProvider(t, db, database.ChatProvider{ |
| 12322 | Provider: "openai", |
| 12323 | DisplayName: "OpenAI", |
| 12324 | APIKey: "test-key", |
| 12325 | Enabled: true, |
| 12326 | CentralApiKeyEnabled: true, |
| 12327 | }) |
| 12328 | |
| 12329 | modelCfg, err := insertChatModelConfigForTest(ctx, t, db, database.InsertChatModelConfigParams{ |
| 12330 | Provider: "openai", |
| 12331 | Model: "test-model", |
| 12332 | DisplayName: "Test Model", |
| 12333 | CreatedBy: uuid.NullUUID{UUID: owner.ID, Valid: true}, |
| 12334 | UpdatedBy: uuid.NullUUID{UUID: owner.ID, Valid: true}, |
| 12335 | Enabled: true, |
| 12336 | IsDefault: true, |
| 12337 | ContextLimit: 128000, |
| 12338 | CompressionThreshold: 80, |
| 12339 | Options: json.RawMessage(`{}`), |
| 12340 | }) |
| 12341 | require.NoError(t, err) |
| 12342 | |
| 12343 | t.Run("CreateWithLabels", func(t *testing.T) { |
| 12344 | t.Parallel() |
| 12345 | ctx := testutil.Context(t, testutil.WaitMedium) |
| 12346 | |
| 12347 | labels := database.StringMap{"github.repo": "coder/coder", "env": "prod"} |
| 12348 | labelsJSON, err := json.Marshal(labels) |
| 12349 | require.NoError(t, err) |
| 12350 | |
| 12351 | chat, err := db.InsertChat(ctx, database.InsertChatParams{ |
| 12352 | OrganizationID: org.ID, |
| 12353 | Status: database.ChatStatusWaiting, |
| 12354 | ClientType: database.ChatClientTypeUi, |
| 12355 | OwnerID: owner.ID, |
| 12356 | LastModelConfigID: modelCfg.ID, |
| 12357 | Title: "labeled-chat", |
| 12358 | Labels: pqtype.NullRawMessage{ |
| 12359 | RawMessage: labelsJSON, |
| 12360 | Valid: true, |
| 12361 | }, |
| 12362 | }) |
nothing calls this directly
no test coverage detected