mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
20fd1dd7d2
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>
143 lines
3.2 KiB
Go
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
|
|
}
|