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

Method TestUser

coderd/database/dbauthz/dbauthz_test.go:2726–3282  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2724}
2725
2726func (s *MethodTestSuite) TestUser() {
2727 s.Run("GetAuthorizedUsers", s.Mocked(func(dbm *dbmock.MockStore, _ *gofakeit.Faker, check *expects) {
2728 arg := database.GetUsersParams{}
2729 dbm.EXPECT().GetAuthorizedUsers(gomock.Any(), arg, gomock.Any()).Return([]database.GetUsersRow{}, nil).AnyTimes()
2730 // No asserts because SQLFilter.
2731 check.Args(arg, emptyPreparedAuthorized{}).Asserts()
2732 }))
2733 s.Run("DeleteAPIKeysByUserID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
2734 key := testutil.Fake(s.T(), faker, database.APIKey{})
2735 dbm.EXPECT().DeleteAPIKeysByUserID(gomock.Any(), key.UserID).Return(nil).AnyTimes()
2736 check.Args(key.UserID).Asserts(rbac.ResourceApiKey.WithOwner(key.UserID.String()), policy.ActionDelete).Returns()
2737 }))
2738 s.Run("ExpirePrebuildsAPIKeys", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
2739 dbm.EXPECT().ExpirePrebuildsAPIKeys(gomock.Any(), gomock.Any()).Times(1).Return(nil)
2740 check.Args(dbtime.Now()).Asserts(rbac.ResourceApiKey, policy.ActionDelete).Returns()
2741 }))
2742 s.Run("GetQuotaAllowanceForUser", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
2743 u := testutil.Fake(s.T(), faker, database.User{})
2744 arg := database.GetQuotaAllowanceForUserParams{UserID: u.ID, OrganizationID: uuid.New()}
2745 dbm.EXPECT().GetQuotaAllowanceForUser(gomock.Any(), arg).Return(int64(0), nil).AnyTimes()
2746 check.Args(arg).Asserts(u, policy.ActionRead).Returns(int64(0))
2747 }))
2748 s.Run("GetQuotaConsumedForUser", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
2749 u := testutil.Fake(s.T(), faker, database.User{})
2750 arg := database.GetQuotaConsumedForUserParams{OwnerID: u.ID, OrganizationID: uuid.New()}
2751 dbm.EXPECT().GetQuotaConsumedForUser(gomock.Any(), arg).Return(int64(0), nil).AnyTimes()
2752 check.Args(arg).Asserts(u, policy.ActionRead).Returns(int64(0))
2753 }))
2754 s.Run("GetUserAISeatStates", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
2755 a := testutil.Fake(s.T(), faker, database.User{})
2756 b := testutil.Fake(s.T(), faker, database.User{})
2757 ids := []uuid.UUID{a.ID, b.ID}
2758 seatStates := []uuid.UUID{a.ID}
2759 dbm.EXPECT().GetUserAISeatStates(gomock.Any(), ids).Return(seatStates, nil).AnyTimes()
2760 check.Args(ids).Asserts(rbac.ResourceAiSeat, policy.ActionRead).Returns(seatStates)
2761 }))
2762 s.Run("GetUserByEmailOrUsername", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
2763 u := testutil.Fake(s.T(), faker, database.User{})
2764 arg := database.GetUserByEmailOrUsernameParams{Email: u.Email}
2765 dbm.EXPECT().GetUserByEmailOrUsername(gomock.Any(), arg).Return(u, nil).AnyTimes()
2766 check.Args(arg).Asserts(u, policy.ActionRead).Returns(u)
2767 }))
2768 s.Run("GetUserByID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
2769 u := testutil.Fake(s.T(), faker, database.User{})
2770 dbm.EXPECT().GetUserByID(gomock.Any(), u.ID).Return(u, nil).AnyTimes()
2771 check.Args(u.ID).Asserts(u, policy.ActionRead).Returns(u)
2772 }))
2773 s.Run("GetUsersByIDs", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
2774 a := testutil.Fake(s.T(), faker, database.User{CreatedAt: dbtime.Now().Add(-time.Hour)})
2775 b := testutil.Fake(s.T(), faker, database.User{CreatedAt: dbtime.Now()})
2776 ids := []uuid.UUID{a.ID, b.ID}
2777 dbm.EXPECT().GetUsersByIDs(gomock.Any(), ids).Return([]database.User{a, b}, nil).AnyTimes()
2778 check.Args(ids).Asserts(a, policy.ActionRead, b, policy.ActionRead).Returns(slice.New(a, b))
2779 }))
2780 s.Run("GetUsers", s.Mocked(func(dbm *dbmock.MockStore, _ *gofakeit.Faker, check *expects) {
2781 arg := database.GetUsersParams{}
2782 dbm.EXPECT().GetAuthorizedUsers(gomock.Any(), arg, gomock.Any()).Return([]database.GetUsersRow{}, nil).AnyTimes()
2783 // Asserts are done in a SQL filter

Callers

nothing calls this directly

Calls 15

MockedMethod · 0.95
FakeFunction · 0.92
NowFunction · 0.92
NewFunction · 0.92
ResourceUserObjectFunction · 0.92
ListFunction · 0.92
CreatePermissionsFunction · 0.92
AssertsMethod · 0.80
ArgsMethod · 0.80
ReturnsMethod · 0.80
WithOwnerMethod · 0.80

Tested by

no test coverage detected