TestOIDCRemoved emulates a user logging in with OIDC, then that OIDC auth method being removed.
(t *testing.T)
| 5312 | // TestOIDCRemoved emulates a user logging in with OIDC, then that OIDC |
| 5313 | // auth method being removed. |
| 5314 | func TestOIDCRemoved(t *testing.T) { |
| 5315 | t.Parallel() |
| 5316 | |
| 5317 | owner, db := coderdtest.NewWithDatabase(t, &coderdtest.Options{ |
| 5318 | IncludeProvisionerDaemon: true, |
| 5319 | }) |
| 5320 | first := coderdtest.CreateFirstUser(t, owner) |
| 5321 | |
| 5322 | user, userData := coderdtest.CreateAnotherUser(t, owner, first.OrganizationID, rbac.ScopedRoleOrgAdmin(first.OrganizationID)) |
| 5323 | |
| 5324 | ctx := testutil.Context(t, testutil.WaitMedium) |
| 5325 | _, err := db.UpdateUserLoginType(dbauthz.AsSystemRestricted(ctx), database.UpdateUserLoginTypeParams{ |
| 5326 | NewLoginType: database.LoginTypeOIDC, |
| 5327 | UserID: userData.ID, |
| 5328 | }) |
| 5329 | require.NoError(t, err) |
| 5330 | |
| 5331 | _, err = db.InsertUserLink(dbauthz.AsSystemRestricted(ctx), database.InsertUserLinkParams{ |
| 5332 | UserID: userData.ID, |
| 5333 | LoginType: database.LoginTypeOIDC, |
| 5334 | LinkedID: "random", |
| 5335 | OAuthAccessToken: "foobar", |
| 5336 | OAuthAccessTokenKeyID: sql.NullString{}, |
| 5337 | OAuthRefreshToken: "refresh", |
| 5338 | OAuthRefreshTokenKeyID: sql.NullString{}, |
| 5339 | OAuthExpiry: time.Now().Add(time.Hour * -1), |
| 5340 | Claims: database.UserLinkClaims{}, |
| 5341 | }) |
| 5342 | require.NoError(t, err) |
| 5343 | |
| 5344 | version := coderdtest.CreateTemplateVersion(t, owner, first.OrganizationID, nil) |
| 5345 | _ = coderdtest.AwaitTemplateVersionJobCompleted(t, owner, version.ID) |
| 5346 | template := coderdtest.CreateTemplate(t, owner, first.OrganizationID, version.ID) |
| 5347 | |
| 5348 | wrk := coderdtest.CreateWorkspace(t, user, template.ID) |
| 5349 | coderdtest.AwaitWorkspaceBuildJobCompleted(t, owner, wrk.LatestBuild.ID) |
| 5350 | |
| 5351 | deleteBuild, err := owner.CreateWorkspaceBuild(ctx, wrk.ID, codersdk.CreateWorkspaceBuildRequest{ |
| 5352 | Transition: codersdk.WorkspaceTransitionDelete, |
| 5353 | }) |
| 5354 | require.NoError(t, err, "delete the workspace") |
| 5355 | coderdtest.AwaitWorkspaceBuildJobCompleted(t, owner, deleteBuild.ID) |
| 5356 | } |
| 5357 | |
| 5358 | func TestWorkspaceFilterHasAITask(t *testing.T) { |
| 5359 | t.Parallel() |
nothing calls this directly
no test coverage detected