37 lines
1.1 KiB
Go
37 lines
1.1 KiB
Go
package frp
|
|||
|
|
|
||
|
|
import "testing"
|
||
|
|
|
||
|
|
func TestNormalizeFRPSActionResult(t *testing.T) {
|
||
|
|
if _, err := normalizeFRPSActionResult(nil); err == nil {
|
||
|
|
t.Fatal("空响应应返回错误")
|
||
|
|
}
|
||
|
|
if _, err := normalizeFRPSActionResult(map[string]any{}); err == nil {
|
||
|
|
t.Fatal("缺少 ok 字段应返回错误")
|
||
|
|
}
|
||
|
|
|
||
|
|
failed, err := normalizeFRPSActionResult(map[string]any{
|
||
|
|
"ok": false,
|
||
|
|
"error": "systemctl start 已执行但 frps 未进入运行状态",
|
||
|
|
})
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("ok=false 应保留给前端展示,got %v", err)
|
||
|
|
}
|
||
|
|
if failed["ok"] != false || failed["error"] == "" {
|
||
|
|
t.Fatalf("失败结果未保留:%+v", failed)
|
||
|
|
}
|
||
|
|
|
||
|
|
failedWithoutMessage, err := normalizeFRPSActionResult(map[string]any{"ok": false})
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("ok=false 应补齐默认错误,got %v", err)
|
||
|
|
}
|
||
|
|
if failedWithoutMessage["error"] != "frps 未进入运行状态,请查看 frps 日志" {
|
||
|
|
t.Fatalf("默认错误不正确:%+v", failedWithoutMessage)
|
||
|
|
}
|
||
|
|
|
||
|
|
success, err := normalizeFRPSActionResult(map[string]any{"ok": true, "action": "start"})
|
||
|
|
if err != nil || success["ok"] != true {
|
||
|
|
t.Fatalf("成功结果解析失败:result=%+v err=%v", success, err)
|
||
|
|
}
|
||
|
|
}
|