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>
Этот коммит содержится в:
@@ -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 {
|
||||
|
||||
Ссылка в новой задаче
Block a user