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

Function TestGetAuthorizedChats

coderd/database/querier_test.go:1238–1483  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1236}
1237
1238func TestGetAuthorizedChats(t *testing.T) {
1239 t.Parallel()
1240 if testing.Short() {
1241 t.SkipNow()
1242 }
1243
1244 sqlDB := testSQLDB(t)
1245 err := migrations.Up(sqlDB)
1246 require.NoError(t, err)
1247 db := database.New(sqlDB)
1248 authorizer := rbac.NewStrictCachingAuthorizer(prometheus.NewRegistry())
1249
1250 // Create users with different roles.
1251 owner := dbgen.User(t, db, database.User{
1252 RBACRoles: []string{rbac.RoleOwner().String()},
1253 })
1254 member := dbgen.User(t, db, database.User{})
1255 secondMember := dbgen.User(t, db, database.User{})
1256
1257 org := dbgen.Organization(t, db, database.Organization{})
1258 dbgen.OrganizationMember(t, db, database.OrganizationMember{UserID: owner.ID, OrganizationID: org.ID})
1259 dbgen.OrganizationMember(t, db, database.OrganizationMember{UserID: member.ID, OrganizationID: org.ID, Roles: []string{rbac.RoleAgentsAccess()}})
1260 dbgen.OrganizationMember(t, db, database.OrganizationMember{UserID: secondMember.ID, OrganizationID: org.ID, Roles: []string{rbac.RoleAgentsAccess()}})
1261
1262 // Create FK dependencies: a chat provider and model config.
1263 _ = dbgen.ChatProvider(t, db, database.ChatProvider{
1264 Provider: "openai",
1265 DisplayName: "OpenAI",
1266 })
1267 modelCfg := dbgen.ChatModelConfig(t, db, database.ChatModelConfig{
1268 Provider: "openai",
1269 Model: "test-model",
1270 CreatedBy: uuid.NullUUID{UUID: owner.ID, Valid: true},
1271 UpdatedBy: uuid.NullUUID{UUID: owner.ID, Valid: true},
1272 IsDefault: true,
1273 CompressionThreshold: 80,
1274 })
1275
1276 // Create 3 chats owned by owner.
1277 for i := range 3 {
1278 dbgen.Chat(t, db, database.Chat{
1279 OrganizationID: org.ID,
1280 OwnerID: owner.ID,
1281 LastModelConfigID: modelCfg.ID,
1282 Title: fmt.Sprintf("owner chat %d", i+1),
1283 })
1284 }
1285
1286 // Create 2 chats owned by member.
1287 for i := range 2 {
1288 dbgen.Chat(t, db, database.Chat{
1289 OrganizationID: org.ID,
1290 OwnerID: member.ID,
1291 LastModelConfigID: modelCfg.ID,
1292 Title: fmt.Sprintf("member chat %d", i+1),
1293 })
1294 }
1295

Callers

nothing calls this directly

Calls 15

UpFunction · 0.92
NewFunction · 0.92
UserFunction · 0.92
RoleOwnerFunction · 0.92
OrganizationFunction · 0.92
OrganizationMemberFunction · 0.92
RoleAgentsAccessFunction · 0.92
ChatProviderFunction · 0.92
ChatModelConfigFunction · 0.92
ChatFunction · 0.92
ContextFunction · 0.92

Tested by

no test coverage detected