8 "github.com/stretchr/testify/assert"
9 "github.com/stretchr/testify/require"
12 func TestIPNetLast(t *testing.T) {
13 _, in, err := net.ParseCIDR("138.255.252.0/22")
14 require.NoError(t, err)
15 assert.EqualValues(t, []byte{138, 255, 252, 0}, in.IP)
16 assert.EqualValues(t, []byte{255, 255, 252, 0}, in.Mask)
17 assert.EqualValues(t, []byte{138, 255, 255, 255}, IPNetLast(in))
18 _, in, err = net.ParseCIDR("2400:cb00::/31")
19 require.NoError(t, err)
20 assert.EqualValues(t, []byte{0x24, 0, 0xcb, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, in.IP)
21 assert.EqualValues(t, []byte{255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, in.Mask)
22 assert.EqualValues(t, []byte{0x24, 0, 0xcb, 1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, IPNetLast(in))
25 func TestParseCIDRList(t *testing.T) {
26 r := bytes.NewBufferString(`2400:cb00::/32
34 rs, err := ParseCIDRListReader(r)
35 require.NoError(t, err)
37 assert.EqualValues(t, Range{
38 First: net.IP{0x28, 3, 0xf8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
39 Last: net.IP{0x28, 3, 0xf8, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},