112 lines
1.8 KiB
Go
112 lines
1.8 KiB
Go
// +build integration
|
|
|
|
package hcn
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"github.com/Microsoft/hcsshim"
|
|
)
|
|
|
|
func TestV1Network(t *testing.T) {
|
|
cleanup(NatTestNetworkName)
|
|
|
|
v1network := hcsshim.HNSNetwork{
|
|
Type: "NAT",
|
|
Name: NatTestNetworkName,
|
|
MacPools: []hcsshim.MacPool{
|
|
{
|
|
StartMacAddress: "00-15-5D-52-C0-00",
|
|
EndMacAddress: "00-15-5D-52-CF-FF",
|
|
},
|
|
},
|
|
Subnets: []hcsshim.Subnet{
|
|
{
|
|
AddressPrefix: "192.168.100.0/24",
|
|
GatewayAddress: "192.168.100.1",
|
|
},
|
|
},
|
|
}
|
|
|
|
jsonString, err := json.Marshal(v1network)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
|
|
network, err := createNetwork(string(jsonString))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
|
|
err = network.Delete()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
}
|
|
|
|
func TestV1Endpoint(t *testing.T) {
|
|
cleanup(NatTestNetworkName)
|
|
|
|
v1network := hcsshim.HNSNetwork{
|
|
Type: "NAT",
|
|
Name: NatTestNetworkName,
|
|
MacPools: []hcsshim.MacPool{
|
|
{
|
|
StartMacAddress: "00-15-5D-52-C0-00",
|
|
EndMacAddress: "00-15-5D-52-CF-FF",
|
|
},
|
|
},
|
|
Subnets: []hcsshim.Subnet{
|
|
{
|
|
AddressPrefix: "192.168.100.0/24",
|
|
GatewayAddress: "192.168.100.1",
|
|
},
|
|
},
|
|
}
|
|
|
|
jsonString, err := json.Marshal(v1network)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
|
|
network, err := createNetwork(string(jsonString))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
|
|
v1endpoint := hcsshim.HNSEndpoint{
|
|
Name: NatTestEndpointName,
|
|
VirtualNetwork: network.Id,
|
|
}
|
|
|
|
jsonString, err = json.Marshal(v1endpoint)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
|
|
endpoint, err := createEndpoint(network.Id, string(jsonString))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
|
|
err = endpoint.Delete()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
|
|
err = network.Delete()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
t.Fail()
|
|
}
|
|
}
|