...
1
2
3
4 package hcn
5
6 import (
7 "encoding/json"
8 "testing"
9 )
10
11 func TestCreateDeleteRoute(t *testing.T) {
12 network, err := CreateTestOverlayNetwork()
13 if err != nil {
14 t.Fatal(err)
15 }
16 endpoint, err := HcnCreateTestEndpoint(network)
17 if err != nil {
18 t.Fatal(err)
19 }
20 route, err := HcnCreateTestSdnRoute(endpoint)
21 if err != nil {
22 t.Fatal(err)
23 }
24 jsonString, err := json.Marshal(route)
25 if err != nil {
26 t.Fatal(err)
27 }
28 t.Logf("SDN Route JSON:\n%s \n", jsonString)
29
30 err = route.Delete()
31 if err != nil {
32 t.Fatal(err)
33 }
34 err = endpoint.Delete()
35 if err != nil {
36 t.Fatal(err)
37 }
38 err = network.Delete()
39 if err != nil {
40 t.Fatal(err)
41 }
42 }
43
44 func TestGetRouteById(t *testing.T) {
45 network, err := CreateTestOverlayNetwork()
46 if err != nil {
47 t.Fatal(err)
48 }
49 endpoint, err := HcnCreateTestEndpoint(network)
50 if err != nil {
51 t.Fatal(err)
52 }
53 route, err := HcnCreateTestSdnRoute(endpoint)
54 if err != nil {
55 t.Fatal(err)
56 }
57 jsonString, err := json.Marshal(route)
58 if err != nil {
59 t.Fatal(err)
60 }
61 t.Logf("SDN Route JSON:\n%s \n", jsonString)
62 foundRoute, err := GetRouteByID(route.ID)
63 if err != nil {
64 t.Fatal(err)
65 }
66 if foundRoute == nil {
67 t.Fatalf("No SDN route found")
68 }
69 err = route.Delete()
70 if err != nil {
71 t.Fatal(err)
72 }
73 err = endpoint.Delete()
74 if err != nil {
75 t.Fatal(err)
76 }
77 err = network.Delete()
78 if err != nil {
79 t.Fatal(err)
80 }
81 }
82
83 func TestListRoutes(t *testing.T) {
84 _, err := ListRoutes()
85 if err != nil {
86 t.Fatal(err)
87 }
88 }
89
90 func TestRouteAddRemoveEndpoint(t *testing.T) {
91 network, err := CreateTestOverlayNetwork()
92 if err != nil {
93 t.Fatal(err)
94 }
95 endpoint, err := HcnCreateTestEndpoint(network)
96 if err != nil {
97 t.Fatal(err)
98 }
99 route, err := HcnCreateTestSdnRoute(endpoint)
100 if err != nil {
101 t.Fatal(err)
102 }
103 secondEndpoint, err := HcnCreateTestEndpoint(network)
104 if err != nil {
105 t.Fatal(err)
106 }
107 newRoute, err := route.AddEndpoint(secondEndpoint)
108 if err != nil {
109 t.Fatal(err)
110 }
111 if len(newRoute.HostComputeEndpoints) != 2 {
112 t.Fatalf("Endpoint not added to SDN Route")
113 }
114 newRoute1, err := route.RemoveEndpoint(secondEndpoint)
115 if err != nil {
116 t.Fatal(err)
117 }
118 if len(newRoute1.HostComputeEndpoints) != 1 {
119 t.Fatalf("Endpoint not removed from SDN Route")
120 }
121 err = route.Delete()
122 if err != nil {
123 t.Fatal(err)
124 }
125 err = endpoint.Delete()
126 if err != nil {
127 t.Fatal(err)
128 }
129 err = network.Delete()
130 if err != nil {
131 t.Fatal(err)
132 }
133 }
134
135 func TestAddRoute(t *testing.T) {
136 network, err := CreateTestOverlayNetwork()
137 if err != nil {
138 t.Fatal(err)
139 }
140 endpoint, err := HcnCreateTestEndpoint(network)
141 if err != nil {
142 t.Fatal(err)
143 }
144 route, err := AddRoute([]HostComputeEndpoint{*endpoint}, "169.254.169.254/24", "127.10.0.33", false)
145 if err != nil {
146 t.Fatal(err)
147 }
148 jsonString, err := json.Marshal(route)
149 if err != nil {
150 t.Fatal(err)
151 }
152 t.Logf("SDN Route JSON:\n%s \n", jsonString)
153 foundRoute, err := GetRouteByID(route.ID)
154 if err != nil {
155 t.Fatal(err)
156 }
157 if foundRoute == nil {
158 t.Fatalf("No SDN route found")
159 }
160 err = route.Delete()
161 if err != nil {
162 t.Fatal(err)
163 }
164 err = endpoint.Delete()
165 if err != nil {
166 t.Fatal(err)
167 }
168 err = network.Delete()
169 if err != nil {
170 t.Fatal(err)
171 }
172 }
173
View as plain text