X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fteststube2ap%2FstubE2.go;h=fbb90656aa5d49e2f499f7ce92067f351e671629;hb=HEAD;hp=f2f31fd65e9bfc3f6bbcfcf07f3f6aa263aff32f;hpb=874ebf4e7fde50664ecdf18ad93988d37120f60e;p=ric-plt%2Fsubmgr.git diff --git a/pkg/teststube2ap/stubE2.go b/pkg/teststube2ap/stubE2.go index f2f31fd..fbb9065 100644 --- a/pkg/teststube2ap/stubE2.go +++ b/pkg/teststube2ap/stubE2.go @@ -30,7 +30,6 @@ import ( "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap_wrapper" "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/teststub" clientmodel "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/clientmodel" - //"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/models" "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" ) @@ -177,24 +176,14 @@ func (p *E2StubSubsFailParams) Set(req *e2ap.E2APSubscriptionRequest) { p.Fail.RequestId.Id = p.Req.RequestId.Id p.Fail.RequestId.InstanceId = p.Req.RequestId.InstanceId p.Fail.FunctionId = p.Req.FunctionId - p.Fail.ActionNotAdmittedList.Items = make([]e2ap.ActionNotAdmittedItem, len(p.Req.ActionSetups)) - for index := int(0); index < len(p.Fail.ActionNotAdmittedList.Items); index++ { - p.Fail.ActionNotAdmittedList.Items[index].ActionId = p.Req.ActionSetups[index].ActionId - p.SetCauseVal(index, 5, 1) - } + p.Fail.Cause.Content = e2ap.E2AP_CauseContent_RICrequest + p.Fail.Cause.Value = e2ap.E2AP_CauseValue_RICrequest_control_message_invalid } func (p *E2StubSubsFailParams) SetCauseVal(ind int, content uint8, causeval uint8) { - if ind < 0 { - for index := int(0); index < len(p.Fail.ActionNotAdmittedList.Items); index++ { - p.Fail.ActionNotAdmittedList.Items[index].Cause.Content = content - p.Fail.ActionNotAdmittedList.Items[index].Cause.Value = causeval - } - return - } - p.Fail.ActionNotAdmittedList.Items[ind].Cause.Content = content - p.Fail.ActionNotAdmittedList.Items[ind].Cause.Value = causeval + p.Fail.Cause.Content = content + p.Fail.Cause.Value = causeval } //----------------------------------------------------------------------------- @@ -298,12 +287,69 @@ func (tc *E2Stub) SendSubsResp(t *testing.T, req *e2ap.E2APSubscriptionRequest, resp.ActionAdmittedList.Items[index].ActionId = req.ActionSetups[index].ActionId } - for index := uint64(0); index < 1; index++ { - item := e2ap.ActionNotAdmittedItem{} - item.ActionId = index - item.Cause.Content = 1 - item.Cause.Value = 1 - resp.ActionNotAdmittedList.Items = append(resp.ActionNotAdmittedList.Items, item) + packerr, packedMsg := e2SubsResp.Pack(resp) + if packerr != nil { + tc.TestError(t, "pack NOK %s", packerr.Error()) + } + tc.Debug("%s", e2SubsResp.String()) + + params := &xapp.RMRParams{} + params.Mtype = xapp.RIC_SUB_RESP + //params.SubId = msg.SubId + params.SubId = -1 + params.Payload = packedMsg.Buf + params.PayloadLen = len(packedMsg.Buf) + params.Meid = msg.Meid + //params.Xid = msg.Xid + params.Mbuf = nil + + tc.Debug("SEND SUB RESP: %s", params.String()) + snderr := tc.SendWithRetry(params, false, 5) + if snderr != nil { + tc.TestError(t, "RMR SEND FAILED: %s", snderr.Error()) + } +} + +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +func (tc *E2Stub) SendPartialSubsResp(t *testing.T, req *e2ap.E2APSubscriptionRequest, msg *xapp.RMRParams, actionNotAdmittedList e2ap.ActionNotAdmittedList) { + tc.Debug("SendPartialSubsResp") + + if len(actionNotAdmittedList.Items) == 0 { + tc.TestError(t, "SendPartialSubsResp() Empty actionNotAdmittedList.Items") + return + } + + e2SubsResp := e2asnpacker.NewPackerSubscriptionResponse() + + //--------------------------------- + // e2term activity: Send Subs Resp + //--------------------------------- + resp := &e2ap.E2APSubscriptionResponse{} + + resp.RequestId.Id = req.RequestId.Id + resp.RequestId.InstanceId = req.RequestId.InstanceId + resp.FunctionId = req.FunctionId + + for index, actionNotAdmittedItem := range actionNotAdmittedList.Items { + for _, ActionToBeSetupItem := range req.ActionSetups { + if ActionToBeSetupItem.ActionId == actionNotAdmittedItem.ActionId { + actionNotAdmittedItem := e2ap.ActionNotAdmittedItem{} + actionNotAdmittedItem.ActionId = ActionToBeSetupItem.ActionId + actionNotAdmittedItem.Cause.Content = 1 + actionNotAdmittedItem.Cause.Value = 8 + resp.ActionNotAdmittedList.Items = append(resp.ActionNotAdmittedList.Items, actionNotAdmittedItem) + // Remove the element + req.ActionSetups = append(req.ActionSetups[:index], req.ActionSetups[index+1:]...) + + } + } + } + for _, ActionToBeSetupItem := range req.ActionSetups { + actionAdmittedItem := e2ap.ActionAdmittedItem{} + actionAdmittedItem.ActionId = ActionToBeSetupItem.ActionId + resp.ActionAdmittedList.Items = append(resp.ActionAdmittedList.Items, actionAdmittedItem) } packerr, packedMsg := e2SubsResp.Pack(resp)