X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Fut_stub_rtmgr_test.go;h=91a8fd878d84447523c7004c1308827053a84855;hb=HEAD;hp=8546ad48b5f835bb967bb8b4bc39b44f8a4e63f6;hpb=5f8ffa07163f52d65092d63f5d173149cd5c46ad;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/ut_stub_rtmgr_test.go b/pkg/control/ut_stub_rtmgr_test.go index 8546ad4..91a8fd8 100644 --- a/pkg/control/ut_stub_rtmgr_test.go +++ b/pkg/control/ut_stub_rtmgr_test.go @@ -21,12 +21,13 @@ package control import ( "encoding/json" - "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_models" - "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/teststub" "net/http" "sync" "testing" "time" + + "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_models" + "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/teststub" ) //----------------------------------------------------------------------------- @@ -37,6 +38,7 @@ type HttpEventWaiter struct { teststub.TestWrapper resultChan chan bool nextActionOk bool + sleep int } func (msg *HttpEventWaiter) SetResult(res bool) { @@ -81,26 +83,39 @@ func (tc *testingHttpRtmgrStub) AllocNextEvent(nextAction bool) *HttpEventWaiter return eventWaiter } +func (tc *testingHttpRtmgrStub) AllocNextSleep(sleep int, nextAction bool) *HttpEventWaiter { + eventWaiter := &HttpEventWaiter{ + resultChan: make(chan bool), + nextActionOk: nextAction, + sleep: sleep, + } + eventWaiter.TestWrapper.Init("localhost:" + tc.port) + tc.NextEvent(eventWaiter) + return eventWaiter +} + func (tc *testingHttpRtmgrStub) http_handler(w http.ResponseWriter, r *http.Request) { tc.Lock() defer tc.Unlock() + var id int32 = -1 if r.Method == http.MethodPost || r.Method == http.MethodDelete { var req rtmgr_models.XappSubscriptionData err := json.NewDecoder(r.Body).Decode(&req) if err != nil { - tc.Logger.Error("%s", err.Error()) + tc.Error("%s", err.Error()) } - tc.Logger.Info("handling SubscriptionID=%d Address=%s Port=%d", *req.SubscriptionID, *req.Address, *req.Port) + tc.Debug("handling SubscriptionID=%d Address=%s Port=%d", *req.SubscriptionID, *req.Address, *req.Port) + id = *req.SubscriptionID } if r.Method == http.MethodPut { var req rtmgr_models.XappList err := json.NewDecoder(r.Body).Decode(&req) if err != nil { - tc.Logger.Error("%s", err.Error()) + tc.Error("%s", err.Error()) } - tc.Logger.Info("handling put") + tc.Debug("handling put") } var code int = 0 @@ -111,6 +126,10 @@ func (tc *testingHttpRtmgrStub) http_handler(w http.ResponseWriter, r *http.Requ if tc.eventWaiter.nextActionOk == false { code = 400 } + if tc.eventWaiter.sleep != 0 { + <-time.After(time.Duration(tc.eventWaiter.sleep) * time.Millisecond) + tc.Debug("sleeping done, %v", id) + } } case http.MethodDelete: code = 200 @@ -135,7 +154,7 @@ func (tc *testingHttpRtmgrStub) http_handler(w http.ResponseWriter, r *http.Requ if waiter != nil { waiter.SetResult(true) } - tc.Logger.Info("Method=%s Reply with code %d", r.Method, code) + tc.Debug("Method=%s Reply with code %d", r.Method, code) w.WriteHeader(code) }