From 07de81d065db7ea702267cfd4556db4e53bd42e3 Mon Sep 17 00:00:00 2001 From: dkeysil Date: Mon, 29 Jan 2024 19:14:11 +0100 Subject: [PATCH] Use chan to sync test --- services/components/botio/bot_client_test.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/services/components/botio/bot_client_test.go b/services/components/botio/bot_client_test.go index e651a5db..02df30d6 100644 --- a/services/components/botio/bot_client_test.go +++ b/services/components/botio/bot_client_test.go @@ -96,15 +96,20 @@ func (s *BotClientSuite) TestStartProcessStop() { s.lifecycleMetrics.EXPECT().ActionSubscribe(combinerSubscriptions) // test health checks + healthCheckChan := make(chan interface{}) HealthCheckInterval = time.Second - s.botGrpc.EXPECT().DoHealthCheck(gomock.Any()).MinTimes(1) + s.botGrpc.EXPECT().DoHealthCheck(gomock.Any()).Return(nil).MinTimes(1) s.lifecycleMetrics.EXPECT().HealthCheckAttempt(s.botClient.configUnsafe).MinTimes(1) - s.lifecycleMetrics.EXPECT().HealthCheckSuccess(s.botClient.configUnsafe).MinTimes(1) + s.lifecycleMetrics.EXPECT().HealthCheckSuccess(s.botClient.configUnsafe).Do(func(_ interface{}) { + close(healthCheckChan) + }).MinTimes(1) s.msgClient.EXPECT().Publish(messaging.SubjectAgentsAlertSubscribe, combinerSubscriptions) s.botClient.StartProcessing() s.botClient.Initialize() + <-healthCheckChan + <-s.botClient.Initialized() txReq := &protocol.EvaluateTxRequest{ @@ -193,8 +198,6 @@ func (s *BotClientSuite) TestStartProcessStop() { s.lifecycleMetrics.EXPECT().ActionUnsubscribe(combinerSubscriptions) s.r.NoError(s.botClient.Close()) - // Using small sleep to allow goroutines to be executed (e.g. health check) - time.Sleep(30 * time.Millisecond) } func (s *BotClientSuite) TestCombinerBotSubscriptions() {