diff --git a/src/frontend/apiserver/backend/control_host_test.go b/src/frontend/apiserver/backend/control_host_test.go index 5bc6e4db..814a8b4f 100644 --- a/src/frontend/apiserver/backend/control_host_test.go +++ b/src/frontend/apiserver/backend/control_host_test.go @@ -1,3 +1,5 @@ +//go:build !cgo + package backend import ( @@ -18,8 +20,5 @@ func TestControlHost_StubReturnsError(t *testing.T) { // signature matches: func ControlHost(hostname string, action int) error. // If the signature changes this test will not compile. func TestControlHost_SignatureCompiles(t *testing.T) { - var fn func(string, int) error = ControlHost - if fn == nil { - t.Fatal("ControlHost must not be nil") - } + var _ func(string, int) error = ControlHost } diff --git a/src/frontend/apiserver/controllers/hosts.go b/src/frontend/apiserver/controllers/hosts.go index 6bd98691..81729590 100644 --- a/src/frontend/apiserver/controllers/hosts.go +++ b/src/frontend/apiserver/controllers/hosts.go @@ -407,12 +407,15 @@ func (h *HostHandler) ControlHost(ctx *gin.Context) { ReturnError(ctx, common.ERROR_CODE, err.Error(), nil) return } - var actionType int - if baseAction == "close" { - actionType = models.HOST_CLOSE + hostActionMap := map[string]int{ + "open": models.HOST_OPEN, + "close": models.HOST_CLOSE, } - if baseAction == "open" { - actionType = models.HOST_OPEN + actionType, exists := hostActionMap[baseAction] + if !exists { + logger.Error("Unsupported action type", zap.String("baseAction", baseAction)) + ReturnError(ctx, common.INVALID_PARAMS_CODE, "Unsupported action type: "+baseAction, nil) + return } successHosts := []map[string]interface{}{}