mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 20:11:19 -04:00
Rough tests for the clientAddr function.
This commit is contained in:
parent
d9e8f8f647
commit
1ef6211c6c
1 changed files with 49 additions and 0 deletions
49
server/server_test.go
Normal file
49
server/server_test.go
Normal file
|
@ -0,0 +1,49 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"net"
|
||||
"strconv"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestClientAddr(t *testing.T) {
|
||||
// good tests
|
||||
for _, test := range []struct {
|
||||
input string
|
||||
expected net.IP
|
||||
}{
|
||||
{"1.2.3.4", net.ParseIP("1.2.3.4")},
|
||||
{"1:2::3:4", net.ParseIP("1:2::3:4")},
|
||||
} {
|
||||
useraddr := clientAddr(test.input)
|
||||
host, port, err := net.SplitHostPort(useraddr)
|
||||
if err != nil {
|
||||
t.Errorf("clientAddr(%q) → SplitHostPort error %v", test.input, err)
|
||||
continue
|
||||
}
|
||||
if !test.expected.Equal(net.ParseIP(host)) {
|
||||
t.Errorf("clientAddr(%q) → host %q, not %v", test.input, host, test.expected)
|
||||
}
|
||||
portNo, err := strconv.Atoi(port)
|
||||
if err != nil {
|
||||
t.Errorf("clientAddr(%q) → port %q", test.input, port)
|
||||
continue
|
||||
}
|
||||
if portNo == 0 {
|
||||
t.Errorf("clientAddr(%q) → port %d", test.input, portNo)
|
||||
}
|
||||
}
|
||||
|
||||
// bad tests
|
||||
for _, input := range []string{
|
||||
"",
|
||||
"abc",
|
||||
"1.2.3.4.5",
|
||||
"[12::34]",
|
||||
} {
|
||||
useraddr := clientAddr(input)
|
||||
if useraddr != "" {
|
||||
t.Errorf("clientAddr(%q) → %q, not %q", input, useraddr, "")
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue