()
| 5507 | } |
| 5508 | |
| 5509 | func (s *MethodTestSuite) TestOAuth2ProviderApps() { |
| 5510 | s.Run("GetOAuth2ProviderApps", s.Subtest(func(db database.Store, check *expects) { |
| 5511 | apps := []database.OAuth2ProviderApp{ |
| 5512 | dbgen.OAuth2ProviderApp(s.T(), db, database.OAuth2ProviderApp{Name: "first"}), |
| 5513 | dbgen.OAuth2ProviderApp(s.T(), db, database.OAuth2ProviderApp{Name: "last"}), |
| 5514 | } |
| 5515 | check.Args().Asserts(rbac.ResourceOauth2App, policy.ActionRead).Returns(apps) |
| 5516 | })) |
| 5517 | s.Run("GetOAuth2ProviderAppByID", s.Subtest(func(db database.Store, check *expects) { |
| 5518 | app := dbgen.OAuth2ProviderApp(s.T(), db, database.OAuth2ProviderApp{}) |
| 5519 | check.Args(app.ID).Asserts(rbac.ResourceOauth2App, policy.ActionRead).Returns(app) |
| 5520 | })) |
| 5521 | s.Run("GetOAuth2ProviderAppsByUserID", s.Subtest(func(db database.Store, check *expects) { |
| 5522 | dbtestutil.DisableForeignKeysAndTriggers(s.T(), db) |
| 5523 | user := dbgen.User(s.T(), db, database.User{}) |
| 5524 | key, _ := dbgen.APIKey(s.T(), db, database.APIKey{ |
| 5525 | UserID: user.ID, |
| 5526 | }) |
| 5527 | // Use a fixed timestamp for consistent test results across all database types |
| 5528 | fixedTime := time.Date(2023, 1, 1, 0, 0, 0, 0, time.UTC) |
| 5529 | app := dbgen.OAuth2ProviderApp(s.T(), db, database.OAuth2ProviderApp{ |
| 5530 | CreatedAt: fixedTime, |
| 5531 | UpdatedAt: fixedTime, |
| 5532 | }) |
| 5533 | _ = dbgen.OAuth2ProviderApp(s.T(), db, database.OAuth2ProviderApp{ |
| 5534 | CreatedAt: fixedTime, |
| 5535 | UpdatedAt: fixedTime, |
| 5536 | }) |
| 5537 | secret := dbgen.OAuth2ProviderAppSecret(s.T(), db, database.OAuth2ProviderAppSecret{ |
| 5538 | AppID: app.ID, |
| 5539 | }) |
| 5540 | for i := 0; i < 5; i++ { |
| 5541 | _ = dbgen.OAuth2ProviderAppToken(s.T(), db, database.OAuth2ProviderAppToken{ |
| 5542 | AppSecretID: secret.ID, |
| 5543 | APIKeyID: key.ID, |
| 5544 | UserID: user.ID, |
| 5545 | HashPrefix: []byte(fmt.Sprintf("%d", i)), |
| 5546 | }) |
| 5547 | } |
| 5548 | expectedApp := app |
| 5549 | expectedApp.CreatedAt = fixedTime |
| 5550 | expectedApp.UpdatedAt = fixedTime |
| 5551 | check.Args(user.ID).Asserts(rbac.ResourceOauth2AppCodeToken.WithOwner(user.ID.String()), policy.ActionRead).Returns([]database.GetOAuth2ProviderAppsByUserIDRow{ |
| 5552 | { |
| 5553 | OAuth2ProviderApp: expectedApp, |
| 5554 | TokenCount: 5, |
| 5555 | }, |
| 5556 | }) |
| 5557 | })) |
| 5558 | s.Run("InsertOAuth2ProviderApp", s.Subtest(func(db database.Store, check *expects) { |
| 5559 | check.Args(database.InsertOAuth2ProviderAppParams{}).Asserts(rbac.ResourceOauth2App, policy.ActionCreate) |
| 5560 | })) |
| 5561 | s.Run("UpdateOAuth2ProviderAppByID", s.Subtest(func(db database.Store, check *expects) { |
| 5562 | dbtestutil.DisableForeignKeysAndTriggers(s.T(), db) |
| 5563 | app := dbgen.OAuth2ProviderApp(s.T(), db, database.OAuth2ProviderApp{}) |
| 5564 | app.Name = "my-new-name" |
| 5565 | app.UpdatedAt = dbtestutil.NowInDefaultTimezone() |
| 5566 | check.Args(database.UpdateOAuth2ProviderAppByIDParams{ |
nothing calls this directly
no test coverage detected