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

Function TestGetAuthorizedChatsACLSharingGroupACL

coderd/database/querier_test.go:1594–1684  ·  view source on GitHub ↗

nolint:tparallel,paralleltest // It toggles the global chat ACL flag.

(t *testing.T)

Source from the content-addressed store, hash-verified

1592
1593//nolint:tparallel,paralleltest // It toggles the global chat ACL flag.
1594func TestGetAuthorizedChatsACLSharingGroupACL(t *testing.T) {
1595 if testing.Short() {
1596 t.SkipNow()
1597 }
1598
1599 rbac.SetChatACLDisabled(false)
1600 t.Cleanup(func() { rbac.SetChatACLDisabled(false) })
1601
1602 ctx := testutil.Context(t, testutil.WaitMedium)
1603 sqlDB := testSQLDB(t)
1604 err := migrations.Up(sqlDB)
1605 require.NoError(t, err)
1606 db := database.New(sqlDB)
1607 authorizer := rbac.NewStrictCachingAuthorizer(prometheus.NewRegistry())
1608
1609 owner := dbgen.User(t, db, database.User{})
1610 recipient := dbgen.User(t, db, database.User{})
1611 org := dbgen.Organization(t, db, database.Organization{})
1612 dbgen.OrganizationMember(t, db, database.OrganizationMember{
1613 UserID: owner.ID,
1614 OrganizationID: org.ID,
1615 Roles: []string{rbac.RoleAgentsAccess()},
1616 })
1617 dbgen.OrganizationMember(t, db, database.OrganizationMember{
1618 UserID: recipient.ID,
1619 OrganizationID: org.ID,
1620 Roles: []string{rbac.RoleAgentsAccess()},
1621 })
1622 group := dbgen.Group(t, db, database.Group{OrganizationID: org.ID})
1623 dbgen.GroupMember(t, db, database.GroupMemberTable{UserID: recipient.ID, GroupID: group.ID})
1624
1625 dbgen.ChatProvider(t, db, database.ChatProvider{Provider: "openai", DisplayName: "OpenAI"})
1626 modelCfg := dbgen.ChatModelConfig(t, db, database.ChatModelConfig{
1627 Provider: "openai",
1628 Model: "test-model",
1629 CreatedBy: uuid.NullUUID{UUID: owner.ID, Valid: true},
1630 UpdatedBy: uuid.NullUUID{UUID: owner.ID, Valid: true},
1631 IsDefault: true,
1632 CompressionThreshold: 80,
1633 })
1634
1635 ownerChat := dbgen.Chat(t, db, database.Chat{
1636 OrganizationID: org.ID,
1637 OwnerID: owner.ID,
1638 LastModelConfigID: modelCfg.ID,
1639 Title: "shared owner chat",
1640 })
1641 recipientChat := dbgen.Chat(t, db, database.Chat{
1642 OrganizationID: org.ID,
1643 OwnerID: recipient.ID,
1644 LastModelConfigID: modelCfg.ID,
1645 Title: "recipient chat",
1646 })
1647
1648 sharedGroupACL := database.ChatACL{
1649 group.ID.String(): database.ChatACLEntry{Permissions: []policy.Action{policy.ActionRead}},
1650 }
1651 err = db.UpdateChatACLByID(ctx, database.UpdateChatACLByIDParams{

Callers

nothing calls this directly

Calls 15

SetChatACLDisabledFunction · 0.92
ContextFunction · 0.92
UpFunction · 0.92
NewFunction · 0.92
UserFunction · 0.92
OrganizationFunction · 0.92
OrganizationMemberFunction · 0.92
RoleAgentsAccessFunction · 0.92
GroupFunction · 0.92
GroupMemberFunction · 0.92
ChatProviderFunction · 0.92

Tested by

no test coverage detected