Skip to content
This repository was archived by the owner on Sep 23, 2024. It is now read-only.

Commit 2f495d0

Browse files
Add ResolveAddr test cases
1 parent 3a2fd08 commit 2f495d0

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed
File renamed without changes.

network/network_test.go

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package network
2+
3+
import (
4+
"fmt"
5+
"net"
6+
"testing"
7+
8+
"github.com/stretchr/testify/require"
9+
)
10+
11+
func Test_ResolveAddr(t *testing.T) {
12+
t.Parallel()
13+
14+
tcpAddrBuilder := func(t *testing.T, address string) *net.TCPAddr {
15+
tcpAddr, err := net.ResolveTCPAddr("", address)
16+
require.NoError(t, err)
17+
18+
return tcpAddr
19+
}
20+
21+
cases := []struct {
22+
name string
23+
address string
24+
defaultIP string
25+
errMsg string
26+
}{
27+
{
28+
name: "incorrect address",
29+
address: "Foo Bar",
30+
errMsg: "failed to parse addr",
31+
},
32+
{
33+
name: "only port provided",
34+
address: ":8080",
35+
defaultIP: "127.0.0.1",
36+
},
37+
{
38+
name: "both address and port provided",
39+
address: "255.0.255.0:8080",
40+
defaultIP: "",
41+
},
42+
}
43+
44+
for _, c := range cases {
45+
c := c
46+
t.Run(c.name, func(t *testing.T) {
47+
t.Parallel()
48+
49+
ipAddr, err := ResolveAddr(c.address, c.defaultIP)
50+
if c.errMsg != "" {
51+
require.ErrorContains(t, err, c.errMsg)
52+
} else {
53+
require.NoError(t, err)
54+
expectedIPAddr := tcpAddrBuilder(t, fmt.Sprintf("%s%s", c.defaultIP, c.address))
55+
require.Equal(t, expectedIPAddr, ipAddr)
56+
}
57+
})
58+
}
59+
}

0 commit comments

Comments
 (0)