"gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap"
"gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap_wrapper"
"gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/teststub"
- "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/xapptweaks"
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
"strconv"
"testing"
}
func (trans *RmrTransactionId) String() string {
- return "trans(" + trans.xid + "/" + (&xapptweaks.RMRMeid{trans.meid}).String() + ")"
+ meidstr := "N/A"
+ if trans.meid != nil {
+ meidstr = trans.meid.String()
+ }
+ return "trans(" + trans.xid + "/" + meidstr + ")"
}
type E2Stub struct {
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func CreateNewE2Stub(desc string, rtfile string, port uint16, rtport uint16, stat string, mtypeseed int) *E2Stub {
+func CreateNewE2Stub(desc string, srcId teststub.RmrSrcId, rtgSvc teststub.RmrRtgSvc, stat string, mtypeseed int) *E2Stub {
tc := &E2Stub{}
- tc.RmrStubControl.Init(desc, rtfile, port, rtport, stat, mtypeseed)
+ tc.RmrStubControl.Init(desc, srcId, rtgSvc, stat, mtypeseed)
tc.xid_seq = 1
tc.SetCheckXid(true)
return tc
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func CreateNewE2termStub(desc string, rtfile string, port uint16, rtport uint16, stat string, mtypeseed int) *E2Stub {
+func CreateNewE2termStub(desc string, srcId teststub.RmrSrcId, rtgSvc teststub.RmrRtgSvc, stat string, mtypeseed int) *E2Stub {
tc := &E2Stub{}
- tc.RmrStubControl.Init(desc, rtfile, port, rtport, stat, mtypeseed)
+ tc.RmrStubControl.Init(desc, srcId, rtgSvc, stat, mtypeseed)
tc.xid_seq = 1
tc.SetCheckXid(false)
return tc
trans.xid = xid
}
trans.meid = &xapp.RMRMeid{RanName: ranname}
- tc.Logger.Info("New test %s", trans.String())
+ tc.Info("New test %s", trans.String())
return trans
}
// gnb -> enb outgoing
// enb -> gnb incoming
// X2 36423-f40.doc
- p.Req.EventTriggerDefinition.NBX2EventTriggerDefinitionPresent = true
- p.Req.EventTriggerDefinition.NBNRTEventTriggerDefinitionPresent = false
- if p.Req.EventTriggerDefinition.NBX2EventTriggerDefinitionPresent == true {
- p.Req.EventTriggerDefinition.InterfaceId.GlobalEnbId.Present = true
- p.Req.EventTriggerDefinition.InterfaceId.GlobalEnbId.PlmnIdentity.Set("310150")
- p.Req.EventTriggerDefinition.InterfaceId.GlobalEnbId.NodeId.Id = 123
- p.Req.EventTriggerDefinition.InterfaceId.GlobalEnbId.NodeId.Bits = e2ap.E2AP_ENBIDHomeBits28
-
- p.Req.EventTriggerDefinition.InterfaceDirection = e2ap.E2AP_InterfaceDirectionIncoming
- p.Req.EventTriggerDefinition.ProcedureCode = 5 //28 35
- p.Req.EventTriggerDefinition.TypeOfMessage = e2ap.E2AP_InitiatingMessage
- } else if p.Req.EventTriggerDefinition.NBNRTEventTriggerDefinitionPresent == true {
- p.Req.EventTriggerDefinition.NBNRTEventTriggerDefinition.TriggerNature = e2ap.NRTTriggerNature_now
- }
+ p.Req.EventTriggerDefinition.Data.Length = 1
+ p.Req.EventTriggerDefinition.Data.Data = make([]uint8, p.Req.EventTriggerDefinition.Data.Length)
+ p.Req.EventTriggerDefinition.Data.Data[0] = 1
p.Req.ActionSetups = make([]e2ap.ActionToBeSetupItem, 1)
p.Req.ActionSetups[0].ActionId = 0
p.Req.ActionSetups[0].ActionType = e2ap.E2AP_ActionTypeReport
p.Req.ActionSetups[0].RicActionDefinitionPresent = true
- p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format1Present = false
- p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format2Present = true
- p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionNRTFormat1Present = false
-
- if p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format1Present {
- p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format1.StyleID = 99
- // 1..255
- for index := 0; index < 1; index++ {
- actionParameterItem := e2ap.ActionParameterItem{}
- actionParameterItem.ParameterID = 11
- actionParameterItem.ActionParameterValue.ValueIntPresent = true
- actionParameterItem.ActionParameterValue.ValueInt = 100
- p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format1.ActionParameterItems =
- append(p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format1.ActionParameterItems, actionParameterItem)
- }
- } else if p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format2Present {
- // 1..15
- for index := 0; index < 1; index++ {
- ranUEgroupItem := e2ap.RANueGroupItem{}
- // 1..255
- for index2 := 0; index2 < 1; index2++ {
- ranUEGroupDefItem := e2ap.RANueGroupDefItem{}
- ranUEGroupDefItem.RanParameterID = 22
- ranUEGroupDefItem.RanParameterTest = e2ap.RANParameterTest_equal
- ranUEGroupDefItem.RanParameterValue.ValueIntPresent = true
- ranUEGroupDefItem.RanParameterValue.ValueInt = 100
- ranUEgroupItem.RanUEgroupDefinition.RanUEGroupDefItems = append(ranUEgroupItem.RanUEgroupDefinition.RanUEGroupDefItems, ranUEGroupDefItem)
- }
- // 1..255
- for index3 := 0; index3 < 1; index3++ {
- ranParameterItem := e2ap.RANParameterItem{}
- ranParameterItem.RanParameterID = 33
- ranParameterItem.RanParameterValue.ValueIntPresent = true
- ranParameterItem.RanParameterValue.ValueInt = 100
- ranUEgroupItem.RanPolicy.RanParameterItems = append(ranUEgroupItem.RanPolicy.RanParameterItems, ranParameterItem)
- }
- ranUEgroupItem.RanUEgroupID = 2
- p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format2.RanUEgroupItems =
- append(p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionX2Format2.RanUEgroupItems, ranUEgroupItem)
- }
- } else if p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionNRTFormat1Present {
- // 1..255
- for index := 0; index < 1; index++ {
- ranParameterItem := e2ap.RANParameterItem{}
- ranParameterItem.RanParameterID = 33
- ranParameterItem.RanParameterValue.ValueIntPresent = true
- ranParameterItem.RanParameterValue.ValueInt = 100
- p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionNRTFormat1.RanParameterList =
- append(p.Req.ActionSetups[0].ActionDefinitionChoice.ActionDefinitionNRTFormat1.RanParameterList, ranParameterItem)
- }
- }
+
+ p.Req.ActionSetups[0].ActionDefinitionChoice.Data.Length = 1
+ p.Req.ActionSetups[0].ActionDefinitionChoice.Data.Data = make([]uint8, p.Req.ActionSetups[0].ActionDefinitionChoice.Data.Length)
+ p.Req.ActionSetups[0].ActionDefinitionChoice.Data.Data[0] = 1
+
p.Req.ActionSetups[0].SubsequentAction.Present = true
p.Req.ActionSetups[0].SubsequentAction.Type = e2ap.E2AP_SubSeqActionTypeContinue
p.Req.ActionSetups[0].SubsequentAction.TimetoWait = e2ap.E2AP_TimeToWaitZero
trans = tc.NewRmrTransactionId("", "RAN_NAME_1")
}
- tc.Logger.Info("SendSubsReq %s", trans.String())
+ tc.Info("SendSubsReq %s", trans.String())
e2SubsReq := e2asnpacker.NewPackerSubscriptionRequest()
//---------------------------------
tc.TestError(t, "pack NOK %s %s", trans.String(), err.Error())
return nil
}
- tc.Logger.Debug("%s %s", trans.String(), e2SubsReq.String())
+ tc.Debug("%s %s", trans.String(), e2SubsReq.String())
- params := xapptweaks.NewParams(nil)
+ params := &xapp.RMRParams{}
params.Mtype = xapp.RIC_SUB_REQ
params.SubId = -1
params.Payload = packedMsg.Buf
params.Xid = trans.xid
params.Mbuf = nil
- tc.Logger.Info("SEND SUB REQ: %s", params.String())
- snderr := tc.RmrSend(params, 5)
+ tc.Info("SEND SUB REQ: %s", params.String())
+ snderr := tc.SendWithRetry(params, false, 5)
if snderr != nil {
tc.TestError(t, "RMR SEND FAILED: %s %s", trans.String(), snderr.Error())
return nil
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (tc *E2Stub) RecvSubsReq(t *testing.T) (*e2ap.E2APSubscriptionRequest, *xapptweaks.RMRParams) {
- tc.Logger.Info("RecvSubsReq")
+func (tc *E2Stub) RecvSubsReq(t *testing.T) (*e2ap.E2APSubscriptionRequest, *xapp.RMRParams) {
+ tc.Info("RecvSubsReq")
e2SubsReq := e2asnpacker.NewPackerSubscriptionRequest()
//---------------------------------
if msg.Mtype != xapp.RICMessageTypes["RIC_SUB_REQ"] {
tc.TestError(t, "Received wrong mtype expected %s got %s, error", "RIC_SUB_REQ", xapp.RicMessageTypeToName[msg.Mtype])
} else {
- tc.Logger.Info("Recv Subs Req")
+ tc.Info("Recv Subs Req")
packedData := &e2ap.PackedData{}
packedData.Buf = msg.Payload
unpackerr, req := e2SubsReq.UnPack(packedData)
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (tc *E2Stub) SendSubsResp(t *testing.T, req *e2ap.E2APSubscriptionRequest, msg *xapptweaks.RMRParams) {
- tc.Logger.Info("SendSubsResp")
+func (tc *E2Stub) SendSubsResp(t *testing.T, req *e2ap.E2APSubscriptionRequest, msg *xapp.RMRParams) {
+ tc.Info("SendSubsResp")
e2SubsResp := e2asnpacker.NewPackerSubscriptionResponse()
//---------------------------------
if packerr != nil {
tc.TestError(t, "pack NOK %s", packerr.Error())
}
- tc.Logger.Debug("%s", e2SubsResp.String())
+ tc.Debug("%s", e2SubsResp.String())
- params := xapptweaks.NewParams(nil)
+ params := &xapp.RMRParams{}
params.Mtype = xapp.RIC_SUB_RESP
//params.SubId = msg.SubId
params.SubId = -1
//params.Xid = msg.Xid
params.Mbuf = nil
- tc.Logger.Info("SEND SUB RESP: %s", params.String())
- snderr := tc.RmrSend(params, 5)
+ tc.Info("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) RecvSubsResp(t *testing.T, trans *RmrTransactionId) uint32 {
- tc.Logger.Info("RecvSubsResp")
+ tc.Info("RecvSubsResp")
e2SubsResp := e2asnpacker.NewPackerSubscriptionResponse()
var e2SubsId uint32
if unpackerr != nil {
tc.TestError(t, "RIC_SUB_RESP unpack failed err: %s", unpackerr.Error())
}
- tc.Logger.Info("Recv Subs Resp rmr: xid=%s subid=%d, asn: instanceid=%d", msg.Xid, msg.SubId, resp.RequestId.InstanceId)
+ tc.Info("Recv Subs Resp rmr: xid=%s subid=%d, asn: instanceid=%d", msg.Xid, msg.SubId, resp.RequestId.InstanceId)
return e2SubsId
}
} else {
//
//-----------------------------------------------------------------------------
-func (tc *E2Stub) SendSubsFail(t *testing.T, fparams *E2StubSubsFailParams, msg *xapptweaks.RMRParams) {
- tc.Logger.Info("SendSubsFail")
+func (tc *E2Stub) SendSubsFail(t *testing.T, fparams *E2StubSubsFailParams, msg *xapp.RMRParams) {
+ tc.Info("SendSubsFail")
e2SubsFail := e2asnpacker.NewPackerSubscriptionFailure()
//---------------------------------
if packerr != nil {
tc.TestError(t, "pack NOK %s", packerr.Error())
}
- tc.Logger.Debug("%s", e2SubsFail.String())
+ tc.Debug("%s", e2SubsFail.String())
- params := xapptweaks.NewParams(nil)
+ params := &xapp.RMRParams{}
params.Mtype = xapp.RIC_SUB_FAILURE
params.SubId = msg.SubId
params.Payload = packedMsg.Buf
params.Xid = msg.Xid
params.Mbuf = nil
- tc.Logger.Info("SEND SUB FAIL: %s", params.String())
- snderr := tc.RmrSend(params, 5)
+ tc.Info("SEND SUB FAIL: %s", params.String())
+ snderr := tc.SendWithRetry(params, false, 5)
if snderr != nil {
tc.TestError(t, "RMR SEND FAILED: %s", snderr.Error())
}
//
//-----------------------------------------------------------------------------
func (tc *E2Stub) RecvSubsFail(t *testing.T, trans *RmrTransactionId) uint32 {
- tc.Logger.Info("RecvSubsFail")
+ tc.Info("RecvSubsFail")
e2SubsFail := e2asnpacker.NewPackerSubscriptionFailure()
var e2SubsId uint32
if unpackerr != nil {
tc.TestError(t, "RIC_SUB_FAILURE unpack failed err: %s", unpackerr.Error())
}
- tc.Logger.Info("Recv Subs Fail rmr: xid=%s subid=%d, asn: instanceid=%d", msg.Xid, msg.SubId, resp.RequestId.InstanceId)
+ tc.Info("Recv Subs Fail rmr: xid=%s subid=%d, asn: instanceid=%d", msg.Xid, msg.SubId, resp.RequestId.InstanceId)
return e2SubsId
}
} else {
trans = tc.NewRmrTransactionId("", "RAN_NAME_1")
}
- tc.Logger.Info("SendSubsDelReq %s", trans.String())
+ tc.Info("SendSubsDelReq %s", trans.String())
e2SubsDelReq := e2asnpacker.NewPackerSubscriptionDeleteRequest()
//---------------------------------
// xapp activity: Send Subs Del Req
tc.TestError(t, "pack NOK %s %s", trans.String(), err.Error())
return nil
}
- tc.Logger.Debug("%s %s", trans.String(), e2SubsDelReq.String())
+ tc.Debug("%s %s", trans.String(), e2SubsDelReq.String())
- params := xapptweaks.NewParams(nil)
+ params := &xapp.RMRParams{}
params.Mtype = xapp.RIC_SUB_DEL_REQ
params.SubId = int(e2SubsId)
params.Payload = packedMsg.Buf
params.Xid = trans.xid
params.Mbuf = nil
- tc.Logger.Info("SEND SUB DEL REQ: %s", params.String())
- snderr := tc.RmrSend(params, 5)
+ tc.Info("SEND SUB DEL REQ: %s", params.String())
+ snderr := tc.SendWithRetry(params, false, 5)
if snderr != nil {
tc.TestError(t, "RMR SEND FAILED: %s %s", trans.String(), snderr.Error())
return nil
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (tc *E2Stub) RecvSubsDelReq(t *testing.T) (*e2ap.E2APSubscriptionDeleteRequest, *xapptweaks.RMRParams) {
- tc.Logger.Info("RecvSubsDelReq")
+func (tc *E2Stub) RecvSubsDelReq(t *testing.T) (*e2ap.E2APSubscriptionDeleteRequest, *xapp.RMRParams) {
+ tc.Info("RecvSubsDelReq")
e2SubsDelReq := e2asnpacker.NewPackerSubscriptionDeleteRequest()
//---------------------------------
if msg.Mtype != xapp.RICMessageTypes["RIC_SUB_DEL_REQ"] {
tc.TestError(t, "Received wrong mtype expected %s got %s, error", "RIC_SUB_DEL_REQ", xapp.RicMessageTypeToName[msg.Mtype])
} else {
- tc.Logger.Info("Recv Subs Del Req")
+ tc.Info("Recv Subs Del Req")
packedData := &e2ap.PackedData{}
packedData.Buf = msg.Payload
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (tc *E2Stub) SendSubsDelResp(t *testing.T, req *e2ap.E2APSubscriptionDeleteRequest, msg *xapptweaks.RMRParams) {
- tc.Logger.Info("SendSubsDelResp")
+func (tc *E2Stub) SendSubsDelResp(t *testing.T, req *e2ap.E2APSubscriptionDeleteRequest, msg *xapp.RMRParams) {
+ tc.Info("SendSubsDelResp")
e2SubsDelResp := e2asnpacker.NewPackerSubscriptionDeleteResponse()
//---------------------------------
if packerr != nil {
tc.TestError(t, "pack NOK %s", packerr.Error())
}
- tc.Logger.Debug("%s", e2SubsDelResp.String())
+ tc.Debug("%s", e2SubsDelResp.String())
- params := xapptweaks.NewParams(nil)
+ params := &xapp.RMRParams{}
params.Mtype = xapp.RIC_SUB_DEL_RESP
params.SubId = msg.SubId
params.Payload = packedMsg.Buf
params.Xid = msg.Xid
params.Mbuf = nil
- tc.Logger.Info("SEND SUB DEL RESP: %s", params.String())
- snderr := tc.RmrSend(params, 5)
+ tc.Info("SEND SUB DEL 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) RecvSubsDelResp(t *testing.T, trans *RmrTransactionId) {
- tc.Logger.Info("RecvSubsDelResp")
+ tc.Info("RecvSubsDelResp")
e2SubsDelResp := e2asnpacker.NewPackerSubscriptionDeleteResponse()
//---------------------------------
if unpackerr != nil {
tc.TestError(t, "RIC_SUB_DEL_RESP unpack failed err: %s", unpackerr.Error())
}
- tc.Logger.Info("Recv Subs Del Resp rmr: xid=%s subid=%d, asn: instanceid=%d", msg.Xid, msg.SubId, resp.RequestId.InstanceId)
+ tc.Info("Recv Subs Del Resp rmr: xid=%s subid=%d, asn: instanceid=%d", msg.Xid, msg.SubId, resp.RequestId.InstanceId)
return
}
} else {
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (tc *E2Stub) SendSubsDelFail(t *testing.T, req *e2ap.E2APSubscriptionDeleteRequest, msg *xapptweaks.RMRParams) {
- tc.Logger.Info("SendSubsDelFail")
+func (tc *E2Stub) SendSubsDelFail(t *testing.T, req *e2ap.E2APSubscriptionDeleteRequest, msg *xapp.RMRParams) {
+ tc.Info("SendSubsDelFail")
e2SubsDelFail := e2asnpacker.NewPackerSubscriptionDeleteFailure()
//---------------------------------
if packerr != nil {
tc.TestError(t, "pack NOK %s", packerr.Error())
}
- tc.Logger.Debug("%s", e2SubsDelFail.String())
+ tc.Debug("%s", e2SubsDelFail.String())
- params := xapptweaks.NewParams(nil)
+ params := &xapp.RMRParams{}
params.Mtype = xapp.RIC_SUB_DEL_FAILURE
params.SubId = msg.SubId
params.Payload = packedMsg.Buf
params.Xid = msg.Xid
params.Mbuf = nil
- tc.Logger.Info("SEND SUB DEL FAIL: %s", params.String())
- snderr := tc.RmrSend(params, 5)
+ tc.Info("SEND SUB DEL FAIL: %s", params.String())
+ snderr := tc.SendWithRetry(params, false, 5)
if snderr != nil {
tc.TestError(t, "RMR SEND FAILED: %s", snderr.Error())
}