(t *testing.T)
| 5885 | } |
| 5886 | |
| 5887 | func 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) |
nothing calls this directly
no test coverage detected