text_message 表设计与实现
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
mqtt "github.com/mochi-mqtt/server/v2"
|
||||
)
|
||||
|
||||
func TestMQTTClientInfoFromClientNil(t *testing.T) {
|
||||
info := mqttClientInfoFromClient(nil)
|
||||
if info != (mqttClientInfo{}) {
|
||||
t.Fatalf("info = %#v, want zero value", info)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMQTTClientInfoFromClientIPv4(t *testing.T) {
|
||||
info := mqttClientInfoFromClient(&mqtt.Client{
|
||||
ID: "client-1",
|
||||
Properties: mqtt.ClientProperties{Username: []byte("user-1")},
|
||||
Net: mqtt.ClientConnection{Listener: "tcp", Remote: "127.0.0.1:1234"},
|
||||
})
|
||||
|
||||
if info.ClientID != "client-1" || info.Username != "user-1" || info.Listener != "tcp" {
|
||||
t.Fatalf("client fields = %#v", info)
|
||||
}
|
||||
if info.RemoteAddr != "127.0.0.1:1234" || info.RemoteHost != "127.0.0.1" || info.RemotePort != "1234" {
|
||||
t.Fatalf("remote fields = %#v", info)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMQTTClientInfoFromClientIPv6(t *testing.T) {
|
||||
info := mqttClientInfoFromClient(&mqtt.Client{Net: mqtt.ClientConnection{Remote: "[::1]:1234"}})
|
||||
if info.RemoteHost != "::1" || info.RemotePort != "1234" {
|
||||
t.Fatalf("remote fields = %#v, want host ::1 and port 1234", info)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMQTTClientInfoFromClientUnsplitRemote(t *testing.T) {
|
||||
info := mqttClientInfoFromClient(&mqtt.Client{Net: mqtt.ClientConnection{Remote: "localhost"}})
|
||||
if info.RemoteHost != "localhost" || info.RemotePort != "" {
|
||||
t.Fatalf("remote fields = %#v, want host localhost and empty port", info)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user