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

Function TestWorkspaceSharingSettings

enterprise/coderd/workspacesharing_test.go:23–173  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

21)
22
23func TestWorkspaceSharingSettings(t *testing.T) {
24 t.Parallel()
25
26 t.Run("DisabledDefaultsFalse", func(t *testing.T) {
27 t.Parallel()
28
29 dv := coderdtest.DeploymentValues(t)
30
31 client, first := coderdenttest.New(t, &coderdenttest.Options{
32 Options: &coderdtest.Options{
33 DeploymentValues: dv,
34 },
35 })
36
37 ctx := testutil.Context(t, testutil.WaitMedium)
38
39 // Use a regular user to make sure the setting is exposed to them.
40 memberClient, _ := coderdtest.CreateAnotherUser(t, client, first.OrganizationID)
41 settings, err := memberClient.WorkspaceSharingSettings(ctx, first.OrganizationID.String())
42 require.NoError(t, err)
43 // Check the deprecated boolean field.
44 require.False(t, settings.SharingDisabled)
45 require.Equal(t, codersdk.ShareableWorkspaceOwnersEveryone, settings.ShareableWorkspaceOwners)
46 })
47
48 t.Run("DisabledTogglePersists", func(t *testing.T) {
49 t.Parallel()
50
51 dv := coderdtest.DeploymentValues(t)
52
53 client, first := coderdenttest.New(t, &coderdenttest.Options{
54 Options: &coderdtest.Options{
55 DeploymentValues: dv,
56 },
57 })
58
59 ctx := testutil.Context(t, testutil.WaitMedium)
60
61 orgAdminClient, _ := coderdtest.CreateAnotherUser(t, client, first.OrganizationID, rbac.ScopedRoleOrgAdmin(first.OrganizationID))
62
63 // Disable sharing via the deprecated boolean field.
64 settings, err := orgAdminClient.PatchWorkspaceSharingSettings(ctx, first.OrganizationID.String(), codersdk.UpdateWorkspaceSharingSettingsRequest{
65 SharingDisabled: true,
66 })
67 require.NoError(t, err)
68 require.True(t, settings.SharingDisabled)
69 require.Equal(t, codersdk.ShareableWorkspaceOwnersNone, settings.ShareableWorkspaceOwners)
70
71 settings, err = orgAdminClient.WorkspaceSharingSettings(ctx, first.OrganizationID.String())
72 require.NoError(t, err)
73 require.True(t, settings.SharingDisabled)
74 require.Equal(t, codersdk.ShareableWorkspaceOwnersNone, settings.ShareableWorkspaceOwners)
75
76 // Switch to service_accounts mode via the new field.
77 settings, err = orgAdminClient.PatchWorkspaceSharingSettings(ctx, first.OrganizationID.String(), codersdk.UpdateWorkspaceSharingSettingsRequest{
78 ShareableWorkspaceOwners: codersdk.ShareableWorkspaceOwnersServiceAccounts,
79 })
80 require.NoError(t, err)

Callers

nothing calls this directly

Calls 15

StatusCodeMethod · 0.95
DeploymentValuesFunction · 0.92
NewFunction · 0.92
ContextFunction · 0.92
CreateAnotherUserFunction · 0.92
ScopedRoleOrgAdminFunction · 0.92
NewMockFunction · 0.92
ResetLogsMethod · 0.80
RunMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected