func (mc *testingSubmgrControl) SimulateRestart(t *testing.T) {
mc.TestLog(t, "Simulating submgr restart")
- mainCtrl.c.registry.subIds = nil
+
// Initialize subIds slice and subscription map
+ mainCtrl.c.registry.subIds = nil
mainCtrl.c.registry.Initialize()
mainCtrl.c.restDuplicateCtrl.Init()
+
// Read subIds and subscriptions from database
- subIds, register, err := mainCtrl.c.ReadAllSubscriptionsFromSdl()
- if err != nil {
- mc.TestError(t, "%v", err)
- } else {
- mainCtrl.c.registry.subIds = subIds
- mainCtrl.c.registry.register = register
- mc.TestLog(t, "mainCtrl.c.registry.register:")
- for subId, subs := range mainCtrl.c.registry.register {
- mc.TestLog(t, " subId=%v", subId)
- mc.TestLog(t, " subs.SubRespRcvd=%v", subs.SubRespRcvd)
- mc.TestLog(t, " subs=%v\n", subs)
- }
- }
- restSubscriptions, err := mainCtrl.c.ReadAllRESTSubscriptionsFromSdl()
- if err != nil {
- mc.TestError(t, "%v", err)
- } else {
- mainCtrl.c.registry.restSubscriptions = restSubscriptions
- mc.TestLog(t, "mainCtrl.c.registry.restSubscriptions:")
- for restSubId, restSubs := range mainCtrl.c.registry.restSubscriptions {
- mc.TestLog(t, " restSubId=%v", restSubId)
- mc.TestLog(t, " restSubs=%v\n", restSubs)
- }
+ mainCtrl.c.ReadE2Subscriptions()
+ mc.TestLog(t, "mainCtrl.c.registry.register:")
+ for subId, subs := range mainCtrl.c.registry.register {
+ mc.TestLog(t, " subId=%v", subId)
+ mc.TestLog(t, " subs.SubRespRcvd=%v", subs.SubRespRcvd)
+ mc.TestLog(t, " subs=%v\n", subs)
}
- go mainCtrl.c.HandleUncompletedSubscriptions(mainCtrl.c.registry.register)
+ // Read REST subIds and REST subscriptions from database
+ mainCtrl.c.ReadRESTSubscriptions()
+ mc.TestLog(t, "mainCtrl.c.registry.restSubscriptions:")
+ for restSubId, restSubs := range mainCtrl.c.registry.restSubscriptions {
+ mc.TestLog(t, " restSubId=%v", restSubId)
+ mc.TestLog(t, " restSubs=%v\n", restSubs)
+ }
}
func (mc *testingSubmgrControl) MakeTransactionNil(t *testing.T, subId uint32) {
mainCtrl.c.registry.Initialize()
}
-func PringSubscriptionQueryResult(resp models.SubscriptionList) {
+func PrintSubscriptionQueryResult(resp models.SubscriptionList) {
for _, item := range resp {
fmt.Printf("item.SubscriptionID=%v\n", item.SubscriptionID)
fmt.Printf("item.Meid=%v\n", item.Meid)
}
func (mc *testingSubmgrControl) VerifyAllClean(t *testing.T) {
- // Verify that all resources are freed
+
+ // Verify that all resources are freed. Wait cleaning up to 10 seconds
+ for i := 0; i < 100; i++ {
+ if len(mainCtrl.c.registry.register) == 0 && len(mainCtrl.c.registry.restSubscriptions) == 0 {
+ RESTKeyCount, err := mainCtrl.c.GetRESTKeyCount()
+ if err != nil {
+ t.Errorf("TEST: %s", err.Error())
+ }
+ E2KeyCount, err := mainCtrl.c.GetE2KeyCount()
+ if err != nil {
+ t.Errorf("TEST: %s", err.Error())
+ }
+ if RESTKeyCount == 0 && E2KeyCount == 0 {
+ break
+ }
+ }
+ xapp.Logger.Debug("VerifyAllClean. Adding 100ms more delay to complete")
+ <-time.After(time.Millisecond * 100)
+ }
+
assert.Equal(t, 0, len(mainCtrl.c.registry.register))
if len(mainCtrl.c.registry.register) > 0 {
fmt.Printf("registry.register: %v\n", mainCtrl.c.registry.register)
verifyE2KeyCount(t, 0)
}
+func (mc *testingSubmgrControl) WaitOngoingRequestMapEmpty() {
+ for i := 0; i < 100; i++ {
+ if len(mainCtrl.c.restDuplicateCtrl.ongoingRequestMap) != 0 {
+ <-time.After(time.Millisecond * 100)
+ 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)
+ }
+ }
+}
+
func (mc *testingSubmgrControl) GetMetrics(t *testing.T) (string, error) {
req, err := http.NewRequest("GET", "http://localhost:8080/ric/v1/metrics", nil)
if err != nil {
}
}
- // Check that not any unexpected counter are added (this is not working correctly!)
+ // Check that not any unexpected counter are added
// Get current values of all counters
currentCountersMap = mc.GetCurrentCounterValues(t, allCountersMap)
for _, currentCounter := range currentCountersMap {