main
go 30 lines 709 Bytes
Raw
1 package utils
2
3 import "testing"
4
5 func TestSanitizeReportedIP(t *testing.T) {
6 t.Parallel()
7
8 tests := []struct {
9 name string
10 raw string
11 want string
12 }{
13 {name: "empty", raw: "", want: ""},
14 {name: "whitespace", raw: " ", want: ""},
15 {name: "ipv4", raw: " 203.0.113.10 ", want: "203.0.113.10"},
16 {name: "ipv6", raw: " 2001:db8::1 ", want: "2001:db8::1"},
17 {name: "invalid", raw: "not-an-ip", want: ""},
18 {name: "host port", raw: "203.0.113.10:443", want: ""},
19 }
20
21 for _, tc := range tests {
22 t.Run(tc.name, func(t *testing.T) {
23 t.Parallel()
24
25 if got := SanitizeReportedIP(tc.raw); got != tc.want {
26 t.Fatalf("SanitizeReportedIP(%q) = %q, want %q", tc.raw, got, tc.want)
27 }
28 })
29 }
30 }