mirror of
https://github.com/containers/podman.git
synced 2025-06-07 15:48:37 +08:00

initial implementation of network create. we only support bridging networks with this first pass. Signed-off-by: baude <bbaude@redhat.com>
35 lines
829 B
Go
35 lines
829 B
Go
package network
|
|
|
|
import (
|
|
"net"
|
|
"testing"
|
|
)
|
|
|
|
func parseCIDR(n string) *net.IPNet {
|
|
_, parsedNet, _ := net.ParseCIDR(n)
|
|
return parsedNet
|
|
}
|
|
|
|
func Test_networkIntersect(t *testing.T) {
|
|
type args struct {
|
|
n1 *net.IPNet
|
|
n2 *net.IPNet
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want bool
|
|
}{
|
|
{"16 and 24 intersects", args{n1: parseCIDR("192.168.0.0/16"), n2: parseCIDR("192.168.1.0/24")}, true},
|
|
{"24 and 25 intersects", args{n1: parseCIDR("192.168.1.0/24"), n2: parseCIDR("192.168.1.0/25")}, true},
|
|
{"Two 24s", args{n1: parseCIDR("192.168.1.0/24"), n2: parseCIDR("192.168.2.0/24")}, false},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := networkIntersect(tt.args.n1, tt.args.n2); got != tt.want {
|
|
t.Errorf("networkIntersect() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|