MM-20913 add client API Client.GetServerBusy to fetch server busy state and timeout. (#13986)

* MM-20913 add client API to fetch server busy state and timeout

* deprecate current API that only returns timeout
* required for mmctl MM-20913

* restore deleted unit test for GetServerBusyExpires

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Doug Lauder
2020-03-06 05:37:07 -05:00
коммит произвёл GitHub
родитель cdc916ff52
Коммит 398a12329a
2 изменённых файлов: 34 добавлений и 0 удалений

Просмотреть файл

@@ -571,6 +571,25 @@ func TestClearServerBusy(t *testing.T) {
})
}
func TestGetServerBusy(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()
th.App.Srv().Busy.Set(time.Second * 30)
t.Run("as system user", func(t *testing.T) {
_, resp := th.Client.GetServerBusy()
CheckForbiddenStatus(t, resp)
})
t.Run("as system admin", func(t *testing.T) {
sbs, resp := th.SystemAdminClient.GetServerBusy()
expires := time.Unix(sbs.Expires, 0)
CheckNoError(t, resp)
require.Greater(t, expires.Unix(), time.Now().Unix())
})
}
func TestGetServerBusyExpires(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()

Просмотреть файл

@@ -4752,8 +4752,23 @@ func (c *Client4) ClearServerBusy() (bool, *Response) {
return CheckStatusOK(r), BuildResponse(r)
}
// GetServerBusy returns the current ServerBusyState including the time when a server marked busy
// will automatically have the flag cleared.
func (c *Client4) GetServerBusy() (*ServerBusyState, *Response) {
r, err := c.DoApiGet(c.GetServerBusyRoute(), "")
if err != nil {
return nil, BuildErrorResponse(r, err)
}
defer closeBody(r)
sbs := ServerBusyStateFromJson(r.Body)
return sbs, BuildResponse(r)
}
// GetServerBusyExpires returns the time when a server marked busy
// will automatically have the flag cleared.
//
// Deprecated: Use GetServerBusy instead.
func (c *Client4) GetServerBusyExpires() (*time.Time, *Response) {
r, err := c.DoApiGet(c.GetServerBusyRoute(), "")
if err != nil {