[MM-25089] Migrate server busy endpoints to local mode (#14883)

Этот коммит содержится в:
Miguel de la Cruz
2020-07-16 10:26:46 +02:00
коммит произвёл GitHub
родитель bf664997a7
Коммит 5ddf8d4099
2 изменённых файлов: 18 добавлений и 15 удалений

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

@@ -5,4 +5,7 @@ package api4
func (api *API) InitSystemLocal() { func (api *API) InitSystemLocal() {
api.BaseRoutes.ApiRoot.Handle("/logs", api.ApiLocal(getLogs)).Methods("GET") api.BaseRoutes.ApiRoot.Handle("/logs", api.ApiLocal(getLogs)).Methods("GET")
api.BaseRoutes.ApiRoot.Handle("/server_busy", api.ApiLocal(setServerBusy)).Methods("POST")
api.BaseRoutes.ApiRoot.Handle("/server_busy", api.ApiLocal(getServerBusyExpires)).Methods("GET")
api.BaseRoutes.ApiRoot.Handle("/server_busy", api.ApiLocal(clearServerBusy)).Methods("DELETE")
} }

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

@@ -530,27 +530,27 @@ func TestSetServerBusy(t *testing.T) {
require.False(t, th.App.Srv().Busy.IsBusy(), "server should not be marked busy") require.False(t, th.App.Srv().Busy.IsBusy(), "server should not be marked busy")
}) })
t.Run("as system admin", func(t *testing.T) { th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
ok, resp := th.SystemAdminClient.SetServerBusy(secs) ok, resp := c.SetServerBusy(secs)
CheckNoError(t, resp) CheckNoError(t, resp)
require.True(t, ok, "should set server busy successfully") require.True(t, ok, "should set server busy successfully")
require.True(t, th.App.Srv().Busy.IsBusy(), "server should be marked busy") require.True(t, th.App.Srv().Busy.IsBusy(), "server should be marked busy")
}) }, "as system admin")
} }
func TestSetServerBusyInvalidParam(t *testing.T) { func TestSetServerBusyInvalidParam(t *testing.T) {
th := Setup(t).InitBasic() th := Setup(t).InitBasic()
defer th.TearDown() defer th.TearDown()
t.Run("as system admin, invalid param", func(t *testing.T) { th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
params := []int{-1, 0, MAX_SERVER_BUSY_SECONDS + 1} params := []int{-1, 0, MAX_SERVER_BUSY_SECONDS + 1}
for _, p := range params { for _, p := range params {
ok, resp := th.SystemAdminClient.SetServerBusy(p) ok, resp := c.SetServerBusy(p)
CheckBadRequestStatus(t, resp) CheckBadRequestStatus(t, resp)
require.False(t, ok, "should not set server busy due to invalid param ", p) require.False(t, ok, "should not set server busy due to invalid param ", p)
require.False(t, th.App.Srv().Busy.IsBusy(), "server should not be marked busy due to invalid param ", p) require.False(t, th.App.Srv().Busy.IsBusy(), "server should not be marked busy due to invalid param ", p)
} }
}) }, "as system admin, invalid param")
} }
func TestClearServerBusy(t *testing.T) { func TestClearServerBusy(t *testing.T) {
@@ -566,12 +566,12 @@ func TestClearServerBusy(t *testing.T) {
}) })
th.App.Srv().Busy.Set(time.Second * 30) th.App.Srv().Busy.Set(time.Second * 30)
t.Run("as system admin", func(t *testing.T) { th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
ok, resp := th.SystemAdminClient.ClearServerBusy() ok, resp := c.ClearServerBusy()
CheckNoError(t, resp) CheckNoError(t, resp)
require.True(t, ok, "should clear server busy flag successfully") require.True(t, ok, "should clear server busy flag successfully")
require.False(t, th.App.Srv().Busy.IsBusy(), "server should not be marked busy") require.False(t, th.App.Srv().Busy.IsBusy(), "server should not be marked busy")
}) }, "as system admin")
} }
func TestGetServerBusy(t *testing.T) { func TestGetServerBusy(t *testing.T) {
@@ -585,12 +585,12 @@ func TestGetServerBusy(t *testing.T) {
CheckForbiddenStatus(t, resp) CheckForbiddenStatus(t, resp)
}) })
t.Run("as system admin", func(t *testing.T) { th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
sbs, resp := th.SystemAdminClient.GetServerBusy() sbs, resp := c.GetServerBusy()
expires := time.Unix(sbs.Expires, 0) expires := time.Unix(sbs.Expires, 0)
CheckNoError(t, resp) CheckNoError(t, resp)
require.Greater(t, expires.Unix(), time.Now().Unix()) require.Greater(t, expires.Unix(), time.Now().Unix())
}) }, "as system admin")
} }
func TestGetServerBusyExpires(t *testing.T) { func TestGetServerBusyExpires(t *testing.T) {
@@ -604,11 +604,11 @@ func TestGetServerBusyExpires(t *testing.T) {
CheckForbiddenStatus(t, resp) CheckForbiddenStatus(t, resp)
}) })
t.Run("as system admin", func(t *testing.T) { th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
expires, resp := th.SystemAdminClient.GetServerBusyExpires() expires, resp := c.GetServerBusyExpires()
CheckNoError(t, resp) CheckNoError(t, resp)
require.Greater(t, expires.Unix(), time.Now().Unix()) require.Greater(t, expires.Unix(), time.Now().Unix())
}) }, "as system admin")
} }
func TestServerBusy503(t *testing.T) { func TestServerBusy503(t *testing.T) {