Skip to content

Commit

Permalink
feat(api): Allow tag stats for non api triggers (#1004)
Browse files Browse the repository at this point in the history
  • Loading branch information
Tetrergeru authored Mar 27, 2024
1 parent 32a5011 commit f73de55
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
11 changes: 5 additions & 6 deletions api/handler/handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,13 +166,13 @@ func TestAdminOnly(t *testing.T) {
})
})

Convey("Get tag stats", t, func() {
Convey("Get unused triggers", t, func() {
Convey("For non-admin", func() {
trigger := &dto.Trigger{}
triggerBytes, err := json.Marshal(trigger)
So(err, ShouldBeNil)

testRequest := httptest.NewRequest(http.MethodGet, "/api/tag/stats", bytes.NewReader(triggerBytes))
testRequest := httptest.NewRequest(http.MethodGet, "/api/trigger/unused", bytes.NewReader(triggerBytes))
testRequest.Header.Add("x-webauth-user", userLogin)

responseWriter := httptest.NewRecorder()
Expand All @@ -188,11 +188,10 @@ func TestAdminOnly(t *testing.T) {
triggerBytes, err := json.Marshal(trigger)
So(err, ShouldBeNil)

mockDb.EXPECT().GetTagNames().Return([]string{"tag_1"}, nil)
mockDb.EXPECT().GetTagsSubscriptions([]string{"tag_1"}).Return([]*moira.SubscriptionData{}, nil)
mockDb.EXPECT().GetTagTriggerIDs("tag_1").Return([]string{"tag_1_trigger_id"}, nil)
mockDb.EXPECT().GetUnusedTriggerIDs().Return([]string{"tag_1"}, nil)
mockDb.EXPECT().GetTriggerChecks([]string{"tag_1"}).Return([]*moira.TriggerCheck{}, nil)

testRequest := httptest.NewRequest(http.MethodGet, "/api/tag/stats", bytes.NewReader(triggerBytes))
testRequest := httptest.NewRequest(http.MethodGet, "/api/trigger/unused", bytes.NewReader(triggerBytes))
testRequest.Header.Add("x-webauth-user", adminLogin)

responseWriter := httptest.NewRecorder()
Expand Down
2 changes: 1 addition & 1 deletion api/handler/tag.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
func tag(router chi.Router) {
router.Post("/", createTags)
router.Get("/", getAllTags)
router.With(middleware.AdminOnlyMiddleware()).Get("/stats", getAllTagsAndSubscriptions)
router.Get("/stats", getAllTagsAndSubscriptions)
router.Route("/{tag}", func(router chi.Router) {
router.Use(middleware.TagContext)
router.Use(middleware.AdminOnlyMiddleware())
Expand Down

0 comments on commit f73de55

Please sign in to comment.