@@ -167,10 +167,25 @@ var _ = Describe("Controller", func() {
167
167
Eventually (func () * healthchecker.LatencyInfo { return healthChecker .GetLatencyInfo (& endpoint2 .Spec ) }).
168
168
Should (Equal (latencyInfo2 ))
169
169
170
+ By ("Stopping health checker" )
171
+
172
+ close (stopCh )
170
173
healthChecker .Stop ()
171
174
172
175
Expect (healthChecker .GetLatencyInfo (& endpoint1 .Spec )).To (BeNil ())
173
176
Expect (healthChecker .GetLatencyInfo (& endpoint2 .Spec )).To (BeNil ())
177
+
178
+ By ("Restarting health checker" )
179
+
180
+ pingerMap = map [string ]* fake.Pinger {
181
+ healthCheckIP1 : fake .NewPinger (healthCheckIP1 ),
182
+ healthCheckIP2 : fake .NewPinger (healthCheckIP2 ),
183
+ }
184
+
185
+ stopCh = make (chan struct {})
186
+ Expect (healthChecker .Start (stopCh )).To (Succeed ())
187
+
188
+ pingerMap [healthCheckIP1 ].AwaitStart ()
174
189
})
175
190
})
176
191
@@ -236,56 +251,4 @@ var _ = Describe("Controller", func() {
236
251
pingerMap [healthCheckIP1 ].AwaitNoStart ()
237
252
})
238
253
})
239
-
240
- When ("Start is called" , func () {
241
- JustBeforeEach (func () {
242
- stopCh = make (chan struct {})
243
- scheme := runtime .NewScheme ()
244
- Expect (submarinerv1 .AddToScheme (scheme )).To (Succeed ())
245
- Expect (submarinerv1 .AddToScheme (kubeScheme .Scheme )).To (Succeed ())
246
-
247
- dynamicClient := fakeClient .NewSimpleDynamicClient (scheme )
248
- restMapper := test .GetRESTMapperFor (& submarinerv1.Endpoint {})
249
- endpoints = dynamicClient .Resource (* test .GetGroupVersionResourceFor (restMapper , & submarinerv1.Endpoint {})).Namespace (namespace )
250
-
251
- var err error
252
-
253
- config := & healthchecker.Config {
254
- WatcherConfig : & watcher.Config {
255
- RestMapper : restMapper ,
256
- Client : dynamicClient ,
257
- Scheme : scheme ,
258
- },
259
- EndpointNamespace : namespace ,
260
- ClusterID : localClusterID ,
261
- PingInterval : 3 ,
262
- MaxPacketLossCount : 4 ,
263
- }
264
-
265
- config .NewPinger = func (pingerCfg healthchecker.PingerConfig ) healthchecker.PingerInterface {
266
- defer GinkgoRecover ()
267
- Expect (pingerCfg .Interval ).To (Equal (time .Second * time .Duration (config .PingInterval )))
268
- Expect (pingerCfg .MaxPacketLossCount ).To (Equal (config .MaxPacketLossCount ))
269
-
270
- p , ok := pingerMap [pingerCfg .IP ]
271
- Expect (ok ).To (BeTrue ())
272
- return p
273
- }
274
-
275
- healthChecker , err = healthchecker .New (config )
276
-
277
- Expect (err ).To (Succeed ())
278
- })
279
- It ("should start the endpoint watcher and start pingers for existing endpoints" , func () {
280
- createEndpoint (remoteClusterID1 , healthCheckIP1 )
281
- createEndpoint (remoteClusterID2 , healthCheckIP2 )
282
-
283
- // Start the healthchecker
284
- Expect (healthChecker .Start (stopCh )).To (Succeed ())
285
-
286
- // Ensure that the Pingers has started for already existing endpoints
287
- pingerMap [healthCheckIP1 ].AwaitStart ()
288
- pingerMap [healthCheckIP2 ].AwaitStart ()
289
- })
290
- })
291
254
})
0 commit comments