podman/pkg/network/network_test.go
Valentin Rothberg cf1f3191d2 make lint: include unit tests
Include the unit tests (i.e., _test.go files) for linting to make the
tests more robust and enforce the linters' coding styles etc.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-14 10:51:59 +01:00

36 lines
850 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 {
test := tt
t.Run(tt.name, func(t *testing.T) {
if got := networkIntersect(test.args.n1, test.args.n2); got != test.want {
t.Errorf("networkIntersect() = %v, want %v", got, test.want)
}
})
}
}