35 lines
1.0 KiB
Go
35 lines
1.0 KiB
Go
// 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,
|
|
}
|
|
}
|