(t *testing.T)
| 4164 | } |
| 4165 | |
| 4166 | func TestAdminViewAllWorkspaces(t *testing.T) { |
| 4167 | t.Parallel() |
| 4168 | |
| 4169 | client, user := coderdenttest.New(t, &coderdenttest.Options{ |
| 4170 | Options: &coderdtest.Options{ |
| 4171 | IncludeProvisionerDaemon: true, |
| 4172 | }, |
| 4173 | LicenseOptions: &coderdenttest.LicenseOptions{ |
| 4174 | Features: license.Features{ |
| 4175 | codersdk.FeatureMultipleOrganizations: 1, |
| 4176 | codersdk.FeatureExternalProvisionerDaemons: 1, |
| 4177 | }, |
| 4178 | }, |
| 4179 | }) |
| 4180 | |
| 4181 | version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil) |
| 4182 | coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID) |
| 4183 | template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID) |
| 4184 | workspace := coderdtest.CreateWorkspace(t, client, template.ID) |
| 4185 | coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID) |
| 4186 | |
| 4187 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) |
| 4188 | defer cancel() |
| 4189 | |
| 4190 | //nolint:gocritic // intentionally using owner |
| 4191 | _, err := client.Workspace(ctx, workspace.ID) |
| 4192 | require.NoError(t, err) |
| 4193 | |
| 4194 | otherOrg, err := client.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{ |
| 4195 | Name: "default-test", |
| 4196 | }) |
| 4197 | require.NoError(t, err, "create other org") |
| 4198 | |
| 4199 | // This other user is not in the first user's org. Since other is an admin, they can |
| 4200 | // still see the "first" user's workspace. |
| 4201 | otherOwner, _ := coderdtest.CreateAnotherUser(t, client, otherOrg.ID, rbac.RoleOwner()) |
| 4202 | otherWorkspaces, err := otherOwner.Workspaces(ctx, codersdk.WorkspaceFilter{}) |
| 4203 | require.NoError(t, err, "(other) fetch workspaces") |
| 4204 | |
| 4205 | firstWorkspaces, err := client.Workspaces(ctx, codersdk.WorkspaceFilter{}) |
| 4206 | require.NoError(t, err, "(first) fetch workspaces") |
| 4207 | |
| 4208 | require.ElementsMatch(t, otherWorkspaces.Workspaces, firstWorkspaces.Workspaces) |
| 4209 | require.Equal(t, len(firstWorkspaces.Workspaces), 1, "should be 1 workspace present") |
| 4210 | |
| 4211 | memberView, _ := coderdtest.CreateAnotherUser(t, client, otherOrg.ID) |
| 4212 | memberViewWorkspaces, err := memberView.Workspaces(ctx, codersdk.WorkspaceFilter{}) |
| 4213 | require.NoError(t, err, "(member) fetch workspaces") |
| 4214 | require.Equal(t, 0, len(memberViewWorkspaces.Workspaces), "member in other org should see 0 workspaces") |
| 4215 | } |
| 4216 | |
| 4217 | func TestWorkspaceByOwnerAndName(t *testing.T) { |
| 4218 | t.Parallel() |
nothing calls this directly
no test coverage detected