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

Function TestGroups

enterprise/coderd/groups_test.go:965–1066  ·  view source on GitHub ↗

TODO: test auth.

(t *testing.T)

Source from the content-addressed store, hash-verified

963
964// TODO: test auth.
965func TestGroups(t *testing.T) {
966 t.Parallel()
967
968 // 5 users
969 // 2 custom groups + original org group
970 t.Run("OK", func(t *testing.T) {
971 t.Parallel()
972
973 client, user := coderdenttest.New(t, &coderdenttest.Options{LicenseOptions: &coderdenttest.LicenseOptions{
974 Features: license.Features{
975 codersdk.FeatureTemplateRBAC: 1,
976 },
977 }})
978 userAdminClient, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID, rbac.RoleUserAdmin())
979 _, user2 := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
980 _, user3 := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
981 _, user4 := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
982 user5Client, user5 := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
983
984 ctx := testutil.Context(t, testutil.WaitLong)
985 group1, err := userAdminClient.CreateGroup(ctx, user.OrganizationID, codersdk.CreateGroupRequest{
986 Name: "hi",
987 })
988 require.NoError(t, err)
989
990 group2, err := userAdminClient.CreateGroup(ctx, user.OrganizationID, codersdk.CreateGroupRequest{
991 Name: "hey",
992 })
993 require.NoError(t, err)
994
995 group1, err = userAdminClient.PatchGroup(ctx, group1.ID, codersdk.PatchGroupRequest{
996 AddUsers: []string{user2.ID.String(), user3.ID.String()},
997 })
998 require.NoError(t, err)
999 normalizeGroupMembers(&group1)
1000
1001 group2, err = userAdminClient.PatchGroup(ctx, group2.ID, codersdk.PatchGroupRequest{
1002 AddUsers: []string{user4.ID.String(), user5.ID.String()},
1003 })
1004 require.NoError(t, err)
1005 normalizeGroupMembers(&group2)
1006
1007 // Fetch everyone group for comparison
1008 everyoneGroup, err := userAdminClient.Group(ctx, user.OrganizationID, codersdk.GroupRequest{})
1009 require.NoError(t, err)
1010 normalizeGroupMembers(&everyoneGroup)
1011
1012 groups, err := userAdminClient.Groups(ctx, codersdk.GroupArguments{
1013 Organization: user.OrganizationID.String(),
1014 })
1015 require.NoError(t, err)
1016 normalizeAllGroups(groups)
1017
1018 // 'Everyone' group + 2 custom groups.
1019 require.ElementsMatch(t, []codersdk.Group{
1020 everyoneGroup,
1021 group1,
1022 group2,

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleUserAdminFunction · 0.92
ContextFunction · 0.92
ListFunction · 0.92
normalizeGroupMembersFunction · 0.85
normalizeAllGroupsFunction · 0.85
CreateGroupMethod · 0.80
PatchGroupMethod · 0.80
RunMethod · 0.65
GroupsMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected