1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/libnetwork/drivers/windows/windows_test.go
Brian Goff 20fd1dd7d2 Skip some windows network driver tests
These are failing in CI because something is not enabled.
Its not clear that these tests ever worked because they were not
actually running while in the libnetwork repo, which was only testing
Linux.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-06-01 22:15:10 +00:00

143 lines
3.2 KiB
Go

// +build windows
package windows
import (
"net"
"testing"
"github.com/docker/docker/libnetwork/driverapi"
"github.com/docker/docker/libnetwork/netlabel"
"github.com/docker/docker/libnetwork/types"
)
func testNetwork(networkType string, t *testing.T) {
d := newDriver(networkType)
bnw, _ := types.ParseCIDR("172.16.0.0/24")
br, _ := types.ParseCIDR("172.16.0.1/16")
netOption := make(map[string]interface{})
networkOptions := map[string]string{
NetworkName: "TestNetwork",
}
netOption[netlabel.GenericData] = networkOptions
ipdList := []driverapi.IPAMData{
{
Pool: bnw,
Gateway: br,
},
}
err := d.CreateNetwork("dummy", netOption, nil, ipdList, nil)
if err != nil {
t.Fatalf("Failed to create bridge: %v", err)
}
defer func() {
err = d.DeleteNetwork("dummy")
if err != nil {
t.Fatalf("Failed to create bridge: %v", err)
}
}()
epOptions := make(map[string]interface{})
te := &testEndpoint{}
err = d.CreateEndpoint("dummy", "ep1", te.Interface(), epOptions)
if err != nil {
t.Fatalf("Failed to create an endpoint : %s", err.Error())
}
err = d.DeleteEndpoint("dummy", "ep1")
if err != nil {
t.Fatalf("Failed to delete an endpoint : %s", err.Error())
}
}
func TestNAT(t *testing.T) {
t.Skip("Test does not work on CI and was never running to begin with")
testNetwork("nat", t)
}
func TestTransparent(t *testing.T) {
t.Skip("Test does not work on CI and was never running to begin with")
testNetwork("transparent", t)
}
type testEndpoint struct {
t *testing.T
src string
dst string
address string
macAddress string
gateway string
disableGatewayService bool
}
func (test *testEndpoint) Interface() driverapi.InterfaceInfo {
return test
}
func (test *testEndpoint) Address() *net.IPNet {
if test.address == "" {
return nil
}
nw, _ := types.ParseCIDR(test.address)
return nw
}
func (test *testEndpoint) AddressIPv6() *net.IPNet {
return nil
}
func (test *testEndpoint) MacAddress() net.HardwareAddr {
if test.macAddress == "" {
return nil
}
mac, _ := net.ParseMAC(test.macAddress)
return mac
}
func (test *testEndpoint) SetMacAddress(mac net.HardwareAddr) error {
if test.macAddress != "" {
return types.ForbiddenErrorf("endpoint interface MAC address present (%s). Cannot be modified with %s.", test.macAddress, mac)
}
if mac == nil {
return types.BadRequestErrorf("tried to set nil MAC address to endpoint interface")
}
test.macAddress = mac.String()
return nil
}
func (test *testEndpoint) SetIPAddress(address *net.IPNet) error {
if address.IP == nil {
return types.BadRequestErrorf("tried to set nil IP address to endpoint interface")
}
test.address = address.String()
return nil
}
func (test *testEndpoint) InterfaceName() driverapi.InterfaceNameInfo {
return test
}
func (test *testEndpoint) SetGateway(ipv4 net.IP) error {
return nil
}
func (test *testEndpoint) SetGatewayIPv6(ipv6 net.IP) error {
return nil
}
func (test *testEndpoint) SetNames(src string, dst string) error {
return nil
}
func (test *testEndpoint) AddStaticRoute(destination *net.IPNet, routeType int, nextHop net.IP) error {
return nil
}
func (test *testEndpoint) DisableGatewayService() {
test.disableGatewayService = true
}