Skip to content

Commit 2e2f6be

Browse files
committed
Implement another chunk
1 parent 48857d2 commit 2e2f6be

File tree

2 files changed

+42
-7
lines changed

2 files changed

+42
-7
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1342,7 +1342,7 @@ func (q *querier) GetTailnetTunnelPeerIDs(ctx context.Context, srcID uuid.UUID)
13421342
func (q *querier) GetTemplateAppInsights(ctx context.Context, arg database.GetTemplateAppInsightsParams) ([]database.GetTemplateAppInsightsRow, error) {
13431343
// Used by TemplateAppInsights endpoint
13441344
// For auditors, check read template_insights, and fall back to update template.
1345-
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceTemplateInsights); IsNotAuthorizedError(err) {
1345+
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceTemplateInsights); err != nil {
13461346
for _, templateID := range arg.TemplateIDs {
13471347
template, err := q.db.GetTemplateByID(ctx, templateID)
13481348
if err != nil {

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,13 @@ func (s *MethodTestSuite) TestAPIKey() {
238238
UserID: a.UserID,
239239
}).Asserts(a, rbac.ActionDelete).Returns()
240240
}))
241+
s.Run("GetExternalAuthLinksByUserID", s.Subtest(func(db database.Store, check *expects) {
242+
a := dbgen.ExternalAuthLink(s.T(), db, database.ExternalAuthLink{})
243+
b := dbgen.ExternalAuthLink(s.T(), db, database.ExternalAuthLink{
244+
UserID: a.UserID,
245+
})
246+
check.Args(a.UserID).Asserts(a, rbac.ActionRead, b, rbac.ActionRead)
247+
}))
241248
}
242249

243250
func (s *MethodTestSuite) TestAuditLogs() {
@@ -890,21 +897,29 @@ func (s *MethodTestSuite) TestTemplate() {
890897
}))
891898
s.Run("GetTemplateInsights", s.Subtest(func(db database.Store, check *expects) {
892899
//tpl := dbgen.Template(s.T(), db, database.Template{})
893-
check.Args(database.GetTemplateInsightsParams{
894-
StartTime: time.Time{},
895-
EndTime: time.Now(),
896-
TemplateIDs: []uuid.UUID{},
897-
}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
900+
check.Args(database.GetTemplateInsightsParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
898901
}))
899902
s.Run("GetTemplateInsightsByInterval", s.Subtest(func(db database.Store, check *expects) {
900903
check.Args(database.GetTemplateInsightsByIntervalParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
901904
}))
902905
s.Run("GetTemplateInsightsByTemplate", s.Subtest(func(db database.Store, check *expects) {
903906
check.Args(database.GetTemplateInsightsByTemplateParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
904907
}))
908+
s.Run("GetTemplateAppInsights", s.Subtest(func(db database.Store, check *expects) {
909+
check.Args(database.GetTemplateAppInsightsParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
910+
}))
911+
s.Run("GetTemplateAppInsightsByTemplate", s.Subtest(func(db database.Store, check *expects) {
912+
check.Args(database.GetTemplateAppInsightsByTemplateParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
913+
}))
905914
}
906915

907916
func (s *MethodTestSuite) TestUser() {
917+
s.Run("GetAuthorizedUsers", s.Subtest(func(db database.Store, check *expects) {
918+
dbgen.User(s.T(), db, database.User{})
919+
// No asserts because SQLFilter.
920+
check.Args(database.GetUsersParams{}, emptyPreparedAuthorized{}).
921+
Asserts()
922+
}))
908923
s.Run("DeleteAPIKeysByUserID", s.Subtest(func(db database.Store, check *expects) {
909924
u := dbgen.User(s.T(), db, database.User{})
910925
check.Args(u.ID).Asserts(rbac.ResourceAPIKey.WithOwner(u.ID.String()), rbac.ActionDelete).Returns()
@@ -1951,7 +1966,7 @@ func (s *MethodTestSuite) TestSystemFunctions() {
19511966
check.Args(database.GetTemplateDAUsParams{}).Asserts(rbac.ResourceSystem, rbac.ActionRead)
19521967
}))
19531968
s.Run("GetActiveWorkspaceBuildsByTemplateID", s.Subtest(func(db database.Store, check *expects) {
1954-
check.Args(uuid.New()).Asserts(rbac.ResourceSystem, rbac.ActionRead)
1969+
check.Args(uuid.New()).Asserts(rbac.ResourceSystem, rbac.ActionRead).Errors(sql.ErrNoRows)
19551970
}))
19561971
s.Run("GetDeploymentDAUs", s.Subtest(func(db database.Store, check *expects) {
19571972
check.Args(int32(0)).Asserts(rbac.ResourceSystem, rbac.ActionRead)
@@ -1963,6 +1978,7 @@ func (s *MethodTestSuite) TestSystemFunctions() {
19631978
check.Args("").Asserts()
19641979
}))
19651980
s.Run("GetApplicationName", s.Subtest(func(db database.Store, check *expects) {
1981+
db.UpsertApplicationName(context.Background(), "foo")
19661982
check.Args().Asserts()
19671983
}))
19681984
s.Run("UpsertApplicationName", s.Subtest(func(db database.Store, check *expects) {
@@ -1971,4 +1987,23 @@ func (s *MethodTestSuite) TestSystemFunctions() {
19711987
s.Run("GetHealthSettings", s.Subtest(func(db database.Store, check *expects) {
19721988
check.Args().Asserts()
19731989
}))
1990+
s.Run("GetDeploymentWorkspaceAgentStats", s.Subtest(func(db database.Store, check *expects) {
1991+
check.Args(time.Time{}).Asserts()
1992+
}))
1993+
s.Run("GetDeploymentWorkspaceStats", s.Subtest(func(db database.Store, check *expects) {
1994+
check.Args().Asserts()
1995+
}))
1996+
s.Run("GetFileTemplates", s.Subtest(func(db database.Store, check *expects) {
1997+
check.Args(uuid.New()).Asserts(rbac.ResourceSystem, rbac.ActionRead)
1998+
}))
1999+
s.Run("GetHungProvisionerJobs", s.Subtest(func(db database.Store, check *expects) {
2000+
check.Args(time.Time{}).Asserts()
2001+
}))
2002+
s.Run("GetOAuthSigningKey", s.Subtest(func(db database.Store, check *expects) {
2003+
db.UpsertOAuthSigningKey(context.Background(), "foo")
2004+
check.Args().Asserts(rbac.ResourceSystem, rbac.ActionUpdate)
2005+
}))
2006+
s.Run("InsertMissingGroups", s.Subtest(func(db database.Store, check *expects) {
2007+
check.Args(database.InsertMissingGroupsParams{}).Asserts(rbac.ResourceSystem, rbac.ActionCreate).Errors(matchAnyError)
2008+
}))
19742009
}

0 commit comments

Comments
 (0)