@@ -179,7 +179,7 @@ func TestReconcileNetwork(t *testing.T) {
179
179
180
180
clusterScopeParams := getPowerVSClusterScopeParams ()
181
181
clusterScopeParams .PowerVSClientFactory = func () (powervs.PowerVS , error ) {
182
- mockPowerVS .EXPECT ().GetDHCPServer (gomock .Any ()).Return (nil , fmt .Errorf ("intentional error" ))
182
+ mockPowerVS .EXPECT ().GetDHCPServer (gomock .Any ()).Return (nil , fmt .Errorf ("GetDHCPServer error" ))
183
183
return mockPowerVS , nil
184
184
}
185
185
clusterScope , _ := NewPowerVSClusterScope (clusterScopeParams )
@@ -188,6 +188,23 @@ func TestReconcileNetwork(t *testing.T) {
188
188
g .Expect (err ).ToNot (BeNil ())
189
189
g .Expect (requeue ).To (BeFalse ())
190
190
})
191
+ t .Run ("When DHCPServer exists and is active" , func (t * testing.T ) {
192
+ g := NewWithT (t )
193
+ setup (t )
194
+ t .Cleanup (teardown )
195
+
196
+ clusterScopeParams := getPowerVSClusterScopeParams ()
197
+ clusterScopeParams .PowerVSClientFactory = func () (powervs.PowerVS , error ) {
198
+ dhcpServer := & models.DHCPServerDetail {ID : ptr .To ("dhcpID" ), Status : ptr .To (string (infrav1beta2 .DHCPServerStateActive ))}
199
+ mockPowerVS .EXPECT ().GetDHCPServer (gomock .Any ()).Return (dhcpServer , nil )
200
+ return mockPowerVS , nil
201
+ }
202
+ clusterScope , _ := NewPowerVSClusterScope (clusterScopeParams )
203
+
204
+ requeue , err := clusterScope .ReconcileNetwork ()
205
+ g .Expect (err ).To (BeNil ())
206
+ g .Expect (requeue ).To (BeFalse ())
207
+ })
191
208
t .Run ("When DHCPID is empty and GetNetworkByID returns error " , func (t * testing.T ) {
192
209
g := NewWithT (t )
193
210
setup (t )
@@ -196,7 +213,7 @@ func TestReconcileNetwork(t *testing.T) {
196
213
clusterScopeParams := getPowerVSClusterScopeParams ()
197
214
clusterScopeParams .PowerVSClientFactory = func () (powervs.PowerVS , error ) {
198
215
network := & models.Network {}
199
- mockPowerVS .EXPECT ().GetNetworkByID (gomock .Any ()).Return (network , fmt .Errorf ("intentional error" ))
216
+ mockPowerVS .EXPECT ().GetNetworkByID (gomock .Any ()).Return (network , fmt .Errorf ("GetNetworkByID error" ))
200
217
return mockPowerVS , nil
201
218
}
202
219
clusterScopeParams .IBMPowerVSCluster .Spec .DHCPServer .ID = nil
@@ -211,10 +228,9 @@ func TestReconcileNetwork(t *testing.T) {
211
228
g := NewWithT (t )
212
229
setup (t )
213
230
t .Cleanup (teardown )
214
-
231
+ network := & models. Network { NetworkID : ptr . To ( "networkID" )}
215
232
clusterScopeParams := getPowerVSClusterScopeParams ()
216
233
clusterScopeParams .PowerVSClientFactory = func () (powervs.PowerVS , error ) {
217
- network := & models.Network {NetworkID : ptr .To ("networkID" )}
218
234
mockPowerVS .EXPECT ().GetNetworkByID (gomock .Any ()).Return (network , nil )
219
235
return mockPowerVS , nil
220
236
}
@@ -223,10 +239,35 @@ func TestReconcileNetwork(t *testing.T) {
223
239
clusterScope , _ := NewPowerVSClusterScope (clusterScopeParams )
224
240
225
241
requeue , err := clusterScope .ReconcileNetwork ()
242
+ g .Expect (clusterScope .IBMPowerVSCluster .Status .Network .ID ).To (Equal (network .NetworkID ))
226
243
g .Expect (err ).To (BeNil ())
227
244
g .Expect (requeue ).To (BeFalse ())
228
245
})
229
- t .Run ("When DHCPID is empty and networkID is empty" , func (t * testing.T ) {
246
+ t .Run ("When DHCPID is empty and GetNetworkByName returns empty network" , func (t * testing.T ) {
247
+ g := NewWithT (t )
248
+ setup (t )
249
+ t .Cleanup (teardown )
250
+
251
+ network := & models.NetworkReference {}
252
+ dhcpNetwork := & models.DHCPServerNetwork {ID : ptr .To ("dhcpNetworkID" )}
253
+ dhcpServer := & models.DHCPServer {ID : ptr .To ("dhcpID" ), Network : dhcpNetwork }
254
+ clusterScopeParams := getPowerVSClusterScopeParams ()
255
+ clusterScopeParams .PowerVSClientFactory = func () (powervs.PowerVS , error ) {
256
+ mockPowerVS .EXPECT ().GetNetworkByName (gomock .Any ()).Return (network , nil )
257
+ mockPowerVS .EXPECT ().CreateDHCPServer (gomock .Any ()).Return (dhcpServer , nil )
258
+ return mockPowerVS , nil
259
+ }
260
+ clusterScopeParams .IBMPowerVSCluster .Spec .DHCPServer .ID = nil
261
+ clusterScope , _ := NewPowerVSClusterScope (clusterScopeParams )
262
+
263
+ requeue , err := clusterScope .ReconcileNetwork ()
264
+ g .Expect (clusterScope .IBMPowerVSCluster .Status .DHCPServer .ID ).To (Equal (dhcpServer .ID ))
265
+ g .Expect (clusterScope .IBMPowerVSCluster .Status .Network .ID ).To (Equal (dhcpNetwork .ID ))
266
+ g .Expect (err ).To (BeNil ())
267
+ g .Expect (requeue ).To (BeTrue ())
268
+
269
+ })
270
+ t .Run ("When DHCPID is empty and checkNetwork returns empty network ID" , func (t * testing.T ) {
230
271
g := NewWithT (t )
231
272
setup (t )
232
273
t .Cleanup (teardown )
@@ -249,7 +290,7 @@ func TestReconcileNetwork(t *testing.T) {
249
290
g .Expect (requeue ).To (BeTrue ())
250
291
251
292
})
252
- t .Run ("When DHCPID and networkID is empty and createDHCPServer returns error" , func (t * testing.T ) {
293
+ t .Run ("When DHCPID and networkID is not empty and createDHCPServer returns error" , func (t * testing.T ) {
253
294
g := NewWithT (t )
254
295
setup (t )
255
296
t .Cleanup (teardown )
@@ -258,7 +299,7 @@ func TestReconcileNetwork(t *testing.T) {
258
299
clusterScopeParams .PowerVSClientFactory = func () (powervs.PowerVS , error ) {
259
300
network := & models.Network {}
260
301
mockPowerVS .EXPECT ().GetNetworkByID (gomock .Any ()).Return (network , nil )
261
- mockPowerVS .EXPECT ().CreateDHCPServer (gomock .Any ()).Return (nil , fmt .Errorf ("intentional error" ))
302
+ mockPowerVS .EXPECT ().CreateDHCPServer (gomock .Any ()).Return (nil , fmt .Errorf ("CreateDHCPServer error" ))
262
303
return mockPowerVS , nil
263
304
}
264
305
clusterScopeParams .IBMPowerVSCluster .Spec .DHCPServer .ID = nil
0 commit comments