From 0dadea19bcc469937d0b2376db031a46cfcfb742 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sat, 11 Apr 2020 01:49:39 +0200 Subject: [PATCH] [Api] Check Notify (always return json) (#10059) * BEAKING: check return status based on struct not httpStatus * update Tests * CI.restart() --- integrations/api_notification_test.go | 10 +++++++++- routers/api/v1/notify/notifications.go | 13 ++----------- templates/swagger/v1_json.tmpl | 3 --- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/integrations/api_notification_test.go b/integrations/api_notification_test.go index baab00f6d2..3296604a08 100644 --- a/integrations/api_notification_test.go +++ b/integrations/api_notification_test.go @@ -81,9 +81,15 @@ func TestAPINotification(t *testing.T) { assert.EqualValues(t, thread5.Issue.APIURL(), apiN.Subject.URL) assert.EqualValues(t, thread5.Repository.HTMLURL(), apiN.Repository.HTMLURL) + new := struct { + New int64 `json:"new"` + }{} + // -- check notifications -- req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications/new?token=%s", token)) resp = session.MakeRequest(t, req, http.StatusOK) + DecodeJSON(t, resp, &new) + assert.True(t, new.New > 0) // -- mark notifications as read -- req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications?token=%s", token)) @@ -110,5 +116,7 @@ func TestAPINotification(t *testing.T) { // -- check notifications -- req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications/new?token=%s", token)) - resp = session.MakeRequest(t, req, http.StatusNoContent) + resp = session.MakeRequest(t, req, http.StatusOK) + DecodeJSON(t, resp, &new) + assert.True(t, new.New == 0) } diff --git a/routers/api/v1/notify/notifications.go b/routers/api/v1/notify/notifications.go index 847fe3313e..71dd7d9492 100644 --- a/routers/api/v1/notify/notifications.go +++ b/routers/api/v1/notify/notifications.go @@ -19,15 +19,6 @@ func NewAvailable(ctx *context.APIContext) { // summary: Check if unread notifications exist // responses: // "200": - // "$ref": "#/responses/NotificationCount" - // "204": - // description: No unread notification - - count := models.CountUnread(ctx.User) - - if count > 0 { - ctx.JSON(http.StatusOK, api.NotificationCount{New: count}) - } else { - ctx.Status(http.StatusNoContent) - } + // "$ref": "#/responses/NotificationCount" + ctx.JSON(http.StatusOK, api.NotificationCount{New: models.CountUnread(ctx.User)}) } diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 8591381ef4..8b10a75990 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -530,9 +530,6 @@ "responses": { "200": { "$ref": "#/responses/NotificationCount" - }, - "204": { - "description": "No unread notification" } } }