...
1
2
3
4 package hcn
5
6 import (
7 "os"
8 "testing"
9
10 "github.com/Microsoft/hcsshim"
11 )
12
13 const (
14 NatTestNetworkName string = "GoTestNat"
15 NatTestEndpointName string = "GoTestNatEndpoint"
16 OverlayTestNetworkName string = "GoTestOverlay"
17 BridgeTestNetworkName string = "GoTestL2Bridge"
18 )
19
20 func TestMain(m *testing.M) {
21 os.Exit(m.Run())
22 }
23
24 func CreateTestNetwork() (*hcsshim.HNSNetwork, error) {
25 network := &hcsshim.HNSNetwork{
26 Type: "NAT",
27 Name: NatTestNetworkName,
28 Subnets: []hcsshim.Subnet{
29 {
30 AddressPrefix: "192.168.100.0/24",
31 GatewayAddress: "192.168.100.1",
32 },
33 },
34 }
35
36 return network.Create()
37 }
38
39 func TestEndpoint(t *testing.T) {
40 network, err := CreateTestNetwork()
41 if err != nil {
42 t.Fatal(err)
43 }
44
45 Endpoint := &hcsshim.HNSEndpoint{
46 Name: NatTestEndpointName,
47 }
48
49 Endpoint, err = network.CreateEndpoint(Endpoint)
50 if err != nil {
51 t.Fatal(err)
52 }
53
54 err = Endpoint.HostAttach(1)
55 if err != nil {
56 t.Fatal(err)
57 }
58
59 err = Endpoint.HostDetach()
60 if err != nil {
61 t.Fatal(err)
62 }
63
64 _, err = Endpoint.Delete()
65 if err != nil {
66 t.Fatal(err)
67 }
68
69 _, err = network.Delete()
70 if err != nil {
71 t.Fatal(err)
72 }
73 }
74
75 func TestEndpointGetAll(t *testing.T) {
76 _, err := hcsshim.HNSListEndpointRequest()
77 if err != nil {
78 t.Fatal(err)
79 }
80 }
81
82 func TestEndpointStatsAll(t *testing.T) {
83 network, err := CreateTestNetwork()
84 if err != nil {
85 t.Fatal(err)
86 }
87
88 Endpoint := &hcsshim.HNSEndpoint{
89 Name: NatTestEndpointName,
90 }
91
92 _, err = network.CreateEndpoint(Endpoint)
93 if err != nil {
94 t.Fatal(err)
95 }
96
97 epList, err := hcsshim.HNSListEndpointRequest()
98 if err != nil {
99 t.Fatal(err)
100 }
101
102 for _, e := range epList {
103 _, err := hcsshim.GetHNSEndpointStats(e.Id)
104 if err != nil {
105 t.Fatal(err)
106 }
107 }
108
109 _, err = network.Delete()
110 if err != nil {
111 t.Fatal(err)
112 }
113 }
114
115 func TestNetworkGetAll(t *testing.T) {
116 _, err := hcsshim.HNSListNetworkRequest("GET", "", "")
117 if err != nil {
118 t.Fatal(err)
119 }
120 }
121
122 func TestNetwork(t *testing.T) {
123 network, err := CreateTestNetwork()
124 if err != nil {
125 t.Fatal(err)
126 }
127 _, err = network.Delete()
128 if err != nil {
129 t.Fatal(err)
130 }
131 }
132
View as plain text