mirror of
https://github.com/cbeuw/Cloak.git
synced 2024-11-01 21:40:27 +00:00
53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
package main
|
|
|
|
import "testing"
|
|
|
|
func TestParseBindAddr(t *testing.T) {
|
|
t.Run("port only", func(t *testing.T) {
|
|
addrs, err := parseBindAddr([]string{":443"})
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if addrs[0].String() != ":443" {
|
|
t.Errorf("expected %v got %v", ":443", addrs[0].String())
|
|
}
|
|
})
|
|
|
|
t.Run("specific address", func(t *testing.T) {
|
|
addrs, err := parseBindAddr([]string{"192.168.1.123:443"})
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if addrs[0].String() != "192.168.1.123:443" {
|
|
t.Errorf("expected %v got %v", "192.168.1.123:443", addrs[0].String())
|
|
}
|
|
})
|
|
|
|
t.Run("ipv6", func(t *testing.T) {
|
|
addrs, err := parseBindAddr([]string{"[::]:443"})
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if addrs[0].String() != "[::]:443" {
|
|
t.Errorf("expected %v got %v", "[::]:443", addrs[0].String())
|
|
}
|
|
})
|
|
|
|
t.Run("mixed", func(t *testing.T) {
|
|
addrs, err := parseBindAddr([]string{":80", "[::]:443"})
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if addrs[0].String() != ":80" {
|
|
t.Errorf("expected %v got %v", ":80", addrs[0].String())
|
|
}
|
|
if addrs[1].String() != "[::]:443" {
|
|
t.Errorf("expected %v got %v", "[::]:443", addrs[1].String())
|
|
}
|
|
})
|
|
}
|