Unit test improvement
 - Fixed dealy replaced with waiting function in one UT case
 - This should fix random crashes seen in that UT case

Change-Id: Ia2d342cb14560349b3ba45eb8ea13e233b6bd0a4
Signed-off-by: Anssi Mannila <anssi.mannila@nokia.com>
diff --git a/pkg/control/ut_ctrl_submgr_test.go b/pkg/control/ut_ctrl_submgr_test.go
index 4e2c471..dadf42f 100644
--- a/pkg/control/ut_ctrl_submgr_test.go
+++ b/pkg/control/ut_ctrl_submgr_test.go
@@ -297,8 +297,8 @@
 				break
 			}
 		}
+		xapp.Logger.Debug("VerifyAllClean. Adding 100ms more delay to complete")
 		<-time.After(time.Millisecond * 100)
-		xapp.Logger.Debug("VerifyAllClean delay plus 100ms")
 	}
 
 	assert.Equal(t, 0, len(mainCtrl.c.registry.register))
@@ -317,7 +317,17 @@
 	for i := 0; i < 100; i++ {
 		if len(mainCtrl.c.restDuplicateCtrl.ongoingRequestMap) != 0 {
 			<-time.After(time.Millisecond * 100)
-			xapp.Logger.Debug("WaitOngoingRequestMapEmpty delay plus 100ms")
+			xapp.Logger.Debug("WaitOngoingRequestMapEmpty. Adding 100ms more delay to complete")
+		}
+	}
+}
+
+func (mc *testingSubmgrControl) WaitRESTSubscriptionDelete(restSubsId string) {
+	for i := 0; i < 100; i++ {
+		restSubscription, _ := mainCtrl.c.registry.GetRESTSubscription(restSubsId, false)
+		if restSubscription != nil {
+			xapp.Logger.Debug("WaitRESTSubscriptionDelete. Adding 100ms more delay to complete")
+			<-time.After(time.Millisecond * 100)
 		}
 	}
 }
diff --git a/pkg/control/ut_messaging_test.go b/pkg/control/ut_messaging_test.go
index 10e10b7..2a3ad96 100644
--- a/pkg/control/ut_messaging_test.go
+++ b/pkg/control/ut_messaging_test.go
@@ -5259,12 +5259,9 @@
 	<-time.After(time.Second * 1)
 
 	// Delete subscription 1, and wait until it has removed the first endpoint
-	subepcnt := mainCtrl.get_subs_entrypoint_cnt(t, e2SubsId1)
 	xappConn1.SendRESTSubsDelReq(t, &restSubId1)
-	mainCtrl.wait_subs_entrypoint_cnt_change(t, e2SubsId1, subepcnt, 10)
-
+	mainCtrl.WaitRESTSubscriptionDelete(restSubId1)
 	// Above wait does not work correctly anymore as this delay makes this test case work
-	//<-time.After(time.Second * 1)
 
 	mainCtrl.SimulateRestart(t)
 	xapp.Logger.Debug("mainCtrl.SimulateRestart done 2")