From 967cf1d20f31042c7dcb61ec2486676ac5d59667 Mon Sep 17 00:00:00 2001 From: zaneliu Date: Thu, 18 Jun 2026 17:15:34 +0800 Subject: [PATCH] fix(runtime): keep prepare host status unchanged --- internal/runtime/tasks/worker.go | 2 ++ internal/runtime/tasks/worker_status_test.go | 30 ++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 internal/runtime/tasks/worker_status_test.go diff --git a/internal/runtime/tasks/worker.go b/internal/runtime/tasks/worker.go index 93be320..0dac3bd 100644 --- a/internal/runtime/tasks/worker.go +++ b/internal/runtime/tasks/worker.go @@ -210,6 +210,8 @@ func actionToHostStatus(action agentapi.HostAction) string { return "stopped" case agentapi.ActionRebuildHost: return "running" + case agentapi.ActionPrepareHost: + return "" case agentapi.ActionReloadHostBypass: return "" // 不改变 host 状态 default: diff --git a/internal/runtime/tasks/worker_status_test.go b/internal/runtime/tasks/worker_status_test.go new file mode 100644 index 0000000..a076b06 --- /dev/null +++ b/internal/runtime/tasks/worker_status_test.go @@ -0,0 +1,30 @@ +package tasks + +import ( + "testing" + + "github.com/zanel1u/cloud-cli-proxy/internal/agentapi" +) + +func TestActionToHostStatusPrepareHostDoesNotChangeStatus(t *testing.T) { + tests := []struct { + name string + action agentapi.HostAction + want string + }{ + {name: "create", action: agentapi.ActionCreateHost, want: "running"}, + {name: "start", action: agentapi.ActionStartHost, want: "running"}, + {name: "rebuild", action: agentapi.ActionRebuildHost, want: "running"}, + {name: "stop", action: agentapi.ActionStopHost, want: "stopped"}, + {name: "prepare host", action: agentapi.ActionPrepareHost, want: ""}, + {name: "reload bypass", action: agentapi.ActionReloadHostBypass, want: ""}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := actionToHostStatus(tt.action); got != tt.want { + t.Fatalf("actionToHostStatus(%q) = %q, want %q", tt.action, got, tt.want) + } + }) + } +}