X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Fut_ctrl_submgr_test.go;h=31eed311916ff7026d46587440e8d784cf228c19;hb=54838ed6fb79821c3711f92876993264d358f2c3;hp=65edd1b50dde01b14a45f899812fd26a6fc2821e;hpb=afadb6df033657afef927964aa637ba7c8fc0880;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/ut_ctrl_submgr_test.go b/pkg/control/ut_ctrl_submgr_test.go index 65edd1b..31eed31 100644 --- a/pkg/control/ut_ctrl_submgr_test.go +++ b/pkg/control/ut_ctrl_submgr_test.go @@ -21,7 +21,6 @@ package control import ( "fmt" - "github.com/stretchr/testify/assert" "io/ioutil" "net/http" "strconv" @@ -29,6 +28,8 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" + "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/teststub" "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/models" "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" @@ -75,37 +76,30 @@ func createSubmgrControl(srcId teststub.RmrSrcId, rtgSvc teststub.RmrRtgSvc) *te 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:") + go mainCtrl.c.ReadE2Subscriptions() // This needs to be run in own go routine when called from here <<--- improve this + 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) - } - } - - 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) + } + //go mainCtrl.c.HandleUncompletedSubscriptions(mainCtrl.c.registry.register) // This needs to be run in own go routine when called from here } func (mc *testingSubmgrControl) MakeTransactionNil(t *testing.T, subId uint32) { @@ -287,9 +281,34 @@ func (mc *testingSubmgrControl) wait_msgcounter_change(t *testing.T, orig uint64 } 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 + } + } + <-time.After(time.Millisecond * 100) + mc.TestLog(t, "VerifyAllClean delay plus 100ms") + } + 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) + } assert.Equal(t, 0, len(mainCtrl.c.registry.restSubscriptions)) + if len(mainCtrl.c.registry.restSubscriptions) > 0 { + fmt.Printf("registry.restSubscriptions: %v\n", mainCtrl.c.registry.restSubscriptions) + } verifyRESTKeyCount(t, 0) verifyE2KeyCount(t, 0) } @@ -362,7 +381,7 @@ func (mc *testingSubmgrControl) VerifyCounterValues(t *testing.T) { } } - // 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 {