Commit 3e90dcc8 authored by Yulin Chen's avatar Yulin Chen

Move network test

parent bc6ed106
......@@ -313,6 +313,33 @@ func TestNetworkContainsVersionMismatch(t *testing.T) {
}
}
func TestNetworkCovers(t *testing.T) {
cases := []struct {
network string
covers string
result bool
name string
}{
{"10.0.0.0/24", "10.0.0.1/25", true, "contains"},
{"10.0.0.0/24", "11.0.0.1/25", false, "not contains"},
{"10.0.0.0/16", "10.0.0.0/15", false, "prefix false"},
{"10.0.0.0/15", "10.0.0.0/16", true, "prefix true"},
{"10.0.0.0/15", "10.0.0.0/15", true, "same"},
{"10::0/15", "10.0.0.0/15", false, "ip version mismatch"},
{"10::0/15", "10::0/16", true, "ipv6"},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
_, n, _ := net.ParseCIDR(tc.network)
network := NewNetwork(*n)
_, n, _ = net.ParseCIDR(tc.covers)
covers := NewNetwork(*n)
assert.Equal(t, tc.result, network.Covers(covers))
})
}
}
func TestNetworkLeastCommonBitPosition(t *testing.T) {
cases := []struct {
cidr1 string
......@@ -412,33 +439,6 @@ func TestPreviousIP(t *testing.T) {
}
}
func TestNetworkCovers(t *testing.T) {
cases := []struct {
network string
covers string
result bool
name string
}{
{"10.0.0.0/24", "10.0.0.1/25", true, "contains"},
{"10.0.0.0/24", "11.0.0.1/25", false, "not contains"},
{"10.0.0.0/16", "10.0.0.0/15", false, "prefix false"},
{"10.0.0.0/15", "10.0.0.0/16", true, "prefix true"},
{"10.0.0.0/15", "10.0.0.0/15", true, "same"},
{"10::0/15", "10.0.0.0/15", false, "ip version mismatch"},
{"10::0/15", "10::0/16", true, "ipv6"},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
_, n, _ := net.ParseCIDR(tc.network)
network := NewNetwork(*n)
_, n, _ = net.ParseCIDR(tc.covers)
covers := NewNetwork(*n)
assert.Equal(t, tc.result, network.Covers(covers))
})
}
}
/*
*********************************
Benchmarking ip manipulations.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment