feat: 实现 test/harness 集成测试启动器

This commit is contained in:
Nixevol
2026-09-30 06:30:03 +08:00
parent 7582e8b55e
commit dd5a331db2
9 changed files with 970 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
// Package harness 提供集成测试启动器。
package harness
// Info 是命令行启动器打印到 stdout 的连接信息。
type Info struct {
Listen string `json:"listen"`
HTTPBase string `json:"http_base"`
AdminListen string `json:"admin_listen,omitempty"`
AdminHTTPBase string `json:"admin_http_base"`
MQTTWS string `json:"mqtt_ws"`
MQTTTCP string `json:"mqtt_tcp"`
AdminPassword string `json:"admin_password"`
DataDir string `json:"data_dir"`
ConfigPath string `json:"config_path"`
}
// ConnectionInfo 组装给外部语言测试用的 JSON 结构。
func (s *Server) ConnectionInfo() Info {
adminBase := s.AdminHTTPBase
if adminBase == "" {
adminBase = s.HTTPBase
}
return Info{
Listen: s.Addr,
HTTPBase: s.HTTPBase,
AdminListen: s.AdminAddr,
AdminHTTPBase: adminBase,
MQTTWS: "ws://" + s.Addr + "/mqtt",
MQTTTCP: s.Addr,
AdminPassword: s.AdminPassword,
DataDir: s.DataDir,
ConfigPath: s.ConfigPath,
}
}