From e347c31ab67ba53e77b20d543aef40975c865613 Mon Sep 17 00:00:00 2001 From: Simon Pasquier Date: Tue, 10 Mar 2020 15:47:43 +0100 Subject: [PATCH] api/v2: return empty array of peers when disabled (#2203) Signed-off-by: Simon Pasquier --- api/v2/api.go | 1 + api/v2/api_test.go | 7 +++++-- api/v2/models/cluster_status.go | 1 - api/v2/openapi.yaml | 1 - api/v2/restapi/embedded_spec.go | 1 - 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/api/v2/api.go b/api/v2/api.go index 105f18cea7..16222161ca 100644 --- a/api/v2/api.go +++ b/api/v2/api.go @@ -166,6 +166,7 @@ func (api *API) getStatusHandler(params general_ops.GetStatusParams) middleware. }, Cluster: &open_api_models.ClusterStatus{ Status: &status, + Peers: []*open_api_models.PeerStatus{}, }, } diff --git a/api/v2/api_test.go b/api/v2/api_test.go index 41c85e35c2..4cb4b743de 100644 --- a/api/v2/api_test.go +++ b/api/v2/api_test.go @@ -47,8 +47,11 @@ func TestGetStatusHandlerWithNilPeer(t *testing.T) { t.Fatal("expected cluster status not to be nil, violating the openapi specification") } - if c.Peers != nil { - t.Fatal("expected cluster peers to be nil when api.peer is nil, violating the openapi specification") + if c.Peers == nil { + t.Fatal("expected cluster peers to be not nil when api.peer is nil, violating the openapi specification") + } + if len(c.Peers) != 0 { + t.Fatal("expected cluster peers to be empty when api.peer is nil, violating the openapi specification") } if c.Name != "" { diff --git a/api/v2/models/cluster_status.go b/api/v2/models/cluster_status.go index 9db4491d82..063caac431 100644 --- a/api/v2/models/cluster_status.go +++ b/api/v2/models/cluster_status.go @@ -38,7 +38,6 @@ type ClusterStatus struct { Name string `json:"name,omitempty"` // peers - // Minimum: 0 Peers []*PeerStatus `json:"peers"` // status diff --git a/api/v2/openapi.yaml b/api/v2/openapi.yaml index 7d8f77dea7..84e8297a58 100644 --- a/api/v2/openapi.yaml +++ b/api/v2/openapi.yaml @@ -279,7 +279,6 @@ definitions: enum: ["ready", "settling", "disabled"] peers: type: array - minimum: 0 items: $ref: '#/definitions/peerStatus' required: diff --git a/api/v2/restapi/embedded_spec.go b/api/v2/restapi/embedded_spec.go index c13f93ff53..77168bf683 100644 --- a/api/v2/restapi/embedded_spec.go +++ b/api/v2/restapi/embedded_spec.go @@ -1306,7 +1306,6 @@ func init() { }, "peers": { "type": "array", - "minimum": 0, "items": { "$ref": "#/definitions/peerStatus" }