[Api] Check Notify (always return json) (#10059)

* BEAKING: check return status based on struct not httpStatus

* update Tests

* CI.restart()
tokarchuk/v1.17
6543 5 years ago committed by GitHub
parent c97e988380
commit 0dadea19bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      integrations/api_notification_test.go
  2. 11
      routers/api/v1/notify/notifications.go
  3. 3
      templates/swagger/v1_json.tmpl

@ -81,9 +81,15 @@ func TestAPINotification(t *testing.T) {
assert.EqualValues(t, thread5.Issue.APIURL(), apiN.Subject.URL) assert.EqualValues(t, thread5.Issue.APIURL(), apiN.Subject.URL)
assert.EqualValues(t, thread5.Repository.HTMLURL(), apiN.Repository.HTMLURL) assert.EqualValues(t, thread5.Repository.HTMLURL(), apiN.Repository.HTMLURL)
new := struct {
New int64 `json:"new"`
}{}
// -- check notifications -- // -- check notifications --
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications/new?token=%s", token)) req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications/new?token=%s", token))
resp = session.MakeRequest(t, req, http.StatusOK) resp = session.MakeRequest(t, req, http.StatusOK)
DecodeJSON(t, resp, &new)
assert.True(t, new.New > 0)
// -- mark notifications as read -- // -- mark notifications as read --
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications?token=%s", token)) req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications?token=%s", token))
@ -110,5 +116,7 @@ func TestAPINotification(t *testing.T) {
// -- check notifications -- // -- check notifications --
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications/new?token=%s", token)) 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)
} }

@ -20,14 +20,5 @@ func NewAvailable(ctx *context.APIContext) {
// responses: // responses:
// "200": // "200":
// "$ref": "#/responses/NotificationCount" // "$ref": "#/responses/NotificationCount"
// "204": ctx.JSON(http.StatusOK, api.NotificationCount{New: models.CountUnread(ctx.User)})
// 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)
}
} }

@ -530,9 +530,6 @@
"responses": { "responses": {
"200": { "200": {
"$ref": "#/responses/NotificationCount" "$ref": "#/responses/NotificationCount"
},
"204": {
"description": "No unread notification"
} }
} }
} }

Loading…
Cancel
Save