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

Function TestDeleteWorkspaceACL

coderd/workspaces_test.go:5887–5951  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

5885}
5886
5887func TestDeleteWorkspaceACL(t *testing.T) {
5888 t.Parallel()
5889
5890 t.Run("WorkspaceOwnerCanDelete", func(t *testing.T) {
5891 t.Parallel()
5892
5893 var (
5894 client, db = coderdtest.NewWithDatabase(t, nil)
5895 admin = coderdtest.CreateFirstUser(t, client)
5896 workspaceOwnerClient, workspaceOwner = coderdtest.CreateAnotherUser(t, client, admin.OrganizationID)
5897 _, toShareWithUser = coderdtest.CreateAnotherUser(t, client, admin.OrganizationID)
5898 workspace = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
5899 OwnerID: workspaceOwner.ID,
5900 OrganizationID: admin.OrganizationID,
5901 }).Do().Workspace
5902 )
5903
5904 ctx := testutil.Context(t, testutil.WaitMedium)
5905
5906 err := workspaceOwnerClient.UpdateWorkspaceACL(ctx, workspace.ID, codersdk.UpdateWorkspaceACL{
5907 UserRoles: map[string]codersdk.WorkspaceRole{
5908 toShareWithUser.ID.String(): codersdk.WorkspaceRoleUse,
5909 },
5910 })
5911 require.NoError(t, err)
5912
5913 err = workspaceOwnerClient.DeleteWorkspaceACL(ctx, workspace.ID)
5914 require.NoError(t, err)
5915
5916 acl, err := workspaceOwnerClient.WorkspaceACL(ctx, workspace.ID)
5917 require.NoError(t, err)
5918 require.Empty(t, acl.Users)
5919 })
5920
5921 t.Run("SharedUsersCannot", func(t *testing.T) {
5922 t.Parallel()
5923
5924 var (
5925 client, db = coderdtest.NewWithDatabase(t, nil)
5926 admin = coderdtest.CreateFirstUser(t, client)
5927 workspaceOwnerClient, workspaceOwner = coderdtest.CreateAnotherUser(t, client, admin.OrganizationID)
5928 sharedUseClient, toShareWithUser = coderdtest.CreateAnotherUser(t, client, admin.OrganizationID)
5929 workspace = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
5930 OwnerID: workspaceOwner.ID,
5931 OrganizationID: admin.OrganizationID,
5932 }).Do().Workspace
5933 )
5934
5935 ctx := testutil.Context(t, testutil.WaitMedium)
5936
5937 err := workspaceOwnerClient.UpdateWorkspaceACL(ctx, workspace.ID, codersdk.UpdateWorkspaceACL{
5938 UserRoles: map[string]codersdk.WorkspaceRole{
5939 toShareWithUser.ID.String(): codersdk.WorkspaceRoleUse,
5940 },
5941 })
5942 require.NoError(t, err)
5943
5944 err = sharedUseClient.DeleteWorkspaceACL(ctx, workspace.ID)

Callers

nothing calls this directly

Calls 14

NewWithDatabaseFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
WorkspaceBuildFunction · 0.92
ContextFunction · 0.92
UpdateWorkspaceACLMethod · 0.80
DeleteWorkspaceACLMethod · 0.80
WorkspaceACLMethod · 0.80
RunMethod · 0.65
DoMethod · 0.65
StringMethod · 0.45
EmptyMethod · 0.45

Tested by

no test coverage detected