X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fteststube2ap%2FstubE2.go;h=8fbfd448f5395a14dedd86a9cc0f09b324c7da5d;hb=26dfa71ac6430e592ad628a14efd8e1696e1e169;hp=4c8c08ddb66dbe9992b912af89c7620f95894287;hpb=da34eecb23220659f8d519973c03d29444797998;p=ric-plt%2Fsubmgr.git diff --git a/pkg/teststube2ap/stubE2.go b/pkg/teststube2ap/stubE2.go index 4c8c08d..8fbfd44 100644 --- a/pkg/teststube2ap/stubE2.go +++ b/pkg/teststube2ap/stubE2.go @@ -324,6 +324,38 @@ func (tc *E2Stub) SendSubsResp(t *testing.T, req *e2ap.E2APSubscriptionRequest, } } +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +func (tc *E2Stub) SendInvalidE2Asn1Resp(t *testing.T, msg *xapp.RMRParams, msgType int) { + + params := &xapp.RMRParams{} + params.Mtype = msgType + params.SubId = -1 + params.Payload = []byte{1, 2, 3, 4, 5} + params.PayloadLen = 5 + params.Meid = msg.Meid + params.Xid = "" + params.Mbuf = nil + + if params.Mtype == xapp.RIC_SUB_RESP { + tc.Info("SEND INVALID ASN.1 SUB RESP") + + } else if params.Mtype == xapp.RIC_SUB_FAILURE { + tc.Info("SEND INVALID ASN.1 SUB FAILURE") + + } else if params.Mtype == xapp.RIC_SUB_DEL_RESP { + tc.Info("SEND INVALID ASN.1 SUB DEL RESP") + + } else if params.Mtype == xapp.RIC_SUB_DEL_FAILURE { + tc.Info("SEND INVALID ASN.1 SUB DEL FAILURE") + } + snderr := tc.SendWithRetry(params, false, 5) + if snderr != nil { + tc.TestError(t, "RMR SEND FAILED: %s", snderr.Error()) + } +} + //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- @@ -597,7 +629,7 @@ func (tc *E2Stub) SendSubsDelFail(t *testing.T, req *e2ap.E2APSubscriptionDelete resp.RequestId.Id = req.RequestId.Id resp.RequestId.InstanceId = req.RequestId.InstanceId resp.FunctionId = req.FunctionId - resp.Cause.Content = 4 // CauseMisc + resp.Cause.Content = 5 // CauseMisc resp.Cause.Value = 3 // unspecified packerr, packedMsg := e2SubsDelFail.Pack(resp) @@ -631,13 +663,17 @@ func (tc *E2Stub) SendSubsDelFail(t *testing.T, req *e2ap.E2APSubscriptionDelete // Callback handler for subscription response notifications //----------------------------------------------------------------------------- func (tc *E2Stub) SubscriptionRespHandler(resp *clientmodel.SubscriptionResponse) { - if tc.subscriptionId == *resp.SubscriptionID { - tc.Info("REST notification received SubscriptionID=%s, InstanceID=%v, RequestorID=%v (%v)", - *resp.SubscriptionID, *resp.SubscriptionInstances[0].InstanceID, *resp.SubscriptionInstances[0].RequestorID, tc) - tc.CallBackNotification <- *resp.SubscriptionInstances[0].InstanceID + if tc.subscriptionId == "SUBSCRIPTIONID NOT SET" { + tc.Info("REST notification received for %v while no SubscriptionID was not set for E2EventInstanceID=%v, XappEventInstanceID=%v (%v)", + *resp.SubscriptionID, *resp.SubscriptionInstances[0].E2EventInstanceID, *resp.SubscriptionInstances[0].XappEventInstanceID, tc) + tc.CallBackNotification <- *resp.SubscriptionInstances[0].E2EventInstanceID + } else if tc.subscriptionId == *resp.SubscriptionID { + tc.Info("REST notification received SubscriptionID=%s, E2EventInstanceID=%v, RequestorID=%v (%v)", + *resp.SubscriptionID, *resp.SubscriptionInstances[0].E2EventInstanceID, *resp.SubscriptionInstances[0].XappEventInstanceID, tc) + tc.CallBackNotification <- *resp.SubscriptionInstances[0].E2EventInstanceID } else { - tc.Info("MISMATCHING REST notification received SubscriptionID=%s<>%s, InstanceID=%v, RequestorID=%v (%v)", - tc.subscriptionId, *resp.SubscriptionID, *resp.SubscriptionInstances[0].InstanceID, *resp.SubscriptionInstances[0].RequestorID, tc) + tc.Info("MISMATCHING REST notification received SubscriptionID=%s<>%s, E2EventInstanceID=%v, XappEventInstanceID=%v (%v)", + tc.subscriptionId, *resp.SubscriptionID, *resp.SubscriptionInstances[0].E2EventInstanceID, *resp.SubscriptionInstances[0].XappEventInstanceID, tc) } } @@ -716,13 +752,13 @@ func (tc *E2Stub) ListedRestNotifHandler(resp *clientmodel.SubscriptionResponse) } else { for i, subsId := range tc.restSubsIdList { if *resp.SubscriptionID == subsId { - //tc.Info("Listed REST notifications received SubscriptionID=%s, InstanceID=%v, RequestorID=%v", - // *resp.SubscriptionID, *resp.SubscriptionInstances[0].InstanceID, *resp.SubscriptionInstances[0].RequestorID) + //tc.Info("Listed REST notifications received SubscriptionID=%s, InstanceID=%v, XappEventInstanceID=%v", + // *resp.SubscriptionID, *resp.SubscriptionInstances[0].InstanceID, *resp.SubscriptionInstances[0].XappEventInstanceID) tc.restSubsIdList = append(tc.restSubsIdList[:i], tc.restSubsIdList[i+1:]...) //tc.Info("Removed %s from Listed REST notifications, %v entries left", *resp.SubscriptionID, len(tc.restSubsIdList)) - tc.CallBackListedNotifications <- E2RestIds{*resp.SubscriptionID, uint32(*resp.SubscriptionInstances[0].InstanceID)} + tc.CallBackListedNotifications <- E2RestIds{*resp.SubscriptionID, uint32(*resp.SubscriptionInstances[0].E2EventInstanceID)} if len(tc.restSubsIdList) == 0 { //tc.Info("All listed REST notifications received for endpoint=%s", tc.clientEndpoint) @@ -731,8 +767,8 @@ func (tc *E2Stub) ListedRestNotifHandler(resp *clientmodel.SubscriptionResponse) return } } - tc.Error("UNKONWN REST notification received SubscriptionID=%s<>%s, InstanceID=%v, RequestorID=%v (%v)", - tc.subscriptionId, *resp.SubscriptionID, *resp.SubscriptionInstances[0].InstanceID, *resp.SubscriptionInstances[0].RequestorID, tc) + tc.Error("UNKONWN REST notification received SubscriptionID=%s<>%s, InstanceID=%v, XappEventInstanceID=%v (%v)", + tc.subscriptionId, *resp.SubscriptionID, *resp.SubscriptionInstances[0].E2EventInstanceID, *resp.SubscriptionInstances[0].XappEventInstanceID, tc) } } @@ -771,6 +807,8 @@ func (tc *E2Stub) SendRESTSubsReq(t *testing.T, params *RESTSubsReqParams) strin return "" } + tc.subscriptionId = "SUBSCIPTIONID NOT SET" + resp, err := xapp.Subscription.Subscribe(¶ms.SubsReqParams) if err != nil { // Swagger generated code makes checks for the values that are inserted the subscription function @@ -786,27 +824,10 @@ func (tc *E2Stub) SendRESTSubsReq(t *testing.T, params *RESTSubsReqParams) strin //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- -func (tc *E2Stub) GetRESTSubsReqReportParams(subReqCount int, parameterSet int, actionDefinitionPresent bool, actionParamCount int) *RESTSubsReqParams { +func (tc *E2Stub) GetRESTSubsReqReportParams(subReqCount int) *RESTSubsReqParams { reportParams := RESTSubsReqParams{} - if parameterSet == 1 { - reportParams.GetRESTSubsReqReportParams1(subReqCount, actionDefinitionPresent, actionParamCount, &tc.clientEndpoint, &tc.meid) - } else if parameterSet == 2 { - - } else { - tc.Error("Invalid parameterSet=%v", parameterSet) - } - tc.requestCount = subReqCount - return &reportParams -} - -//----------------------------------------------------------------------------- -// -//----------------------------------------------------------------------------- -func (tc *E2Stub) GetRESTSubsReqReportParams1(subReqCount int, actionDefinitionPresent bool, actionParamCount int) *RESTSubsReqParams { - - reportParams := RESTSubsReqParams{} - reportParams.GetRESTSubsReqReportParams1(subReqCount, actionDefinitionPresent, actionParamCount, &tc.clientEndpoint, &tc.meid) + reportParams.GetRESTSubsReqReportParams(subReqCount, &tc.clientEndpoint, &tc.meid) tc.requestCount = subReqCount return &reportParams } @@ -818,7 +839,7 @@ type RESTSubsReqParams struct { SubsReqParams clientmodel.SubscriptionParams } -func (p *RESTSubsReqParams) GetRESTSubsReqReportParams1(subReqCount int, actionDefinitionPresent bool, actionParamCount int, clientEndpoint *clientmodel.SubscriptionParamsClientEndpoint, meid *string) { +func (p *RESTSubsReqParams) GetRESTSubsReqReportParams(subReqCount int, clientEndpoint *clientmodel.SubscriptionParamsClientEndpoint, meid *string) { // E2SM-gNB-X2 p.SubsReqParams.ClientEndpoint = clientEndpoint @@ -835,10 +856,8 @@ func (p *RESTSubsReqParams) GetRESTSubsReqReportParams1(subReqCount int, actionD for requestCount := 0; requestCount < subReqCount; requestCount++ { reqId := int64(requestCount) + 1 - seqId := int64(requestCount) + 1 subscriptionDetail := &clientmodel.SubscriptionDetail{ - RequestorID: &reqId, - InstanceID: &seqId, + XappEventInstanceID: &reqId, EventTriggers: &clientmodel.EventTriggerDefinition{ OctetString: "1234" + strconv.Itoa(requestCount), }, @@ -908,6 +927,58 @@ func (p *RESTSubsReqParams) SetSubActionTypes(actionType string) { } } +func (p *RESTSubsReqParams) SetSubActionIDs(actionId int64) { + + for _, subDetail := range p.SubsReqParams.SubscriptionDetails { + for _, action := range subDetail.ActionToBeSetupList { + if action != nil { + action.ActionID = &actionId + } + } + } +} + +func (p *RESTSubsReqParams) SetSubActionDefinition(actionDefinition string) { + + for _, subDetail := range p.SubsReqParams.SubscriptionDetails { + for _, action := range subDetail.ActionToBeSetupList { + if action != nil { + action.ActionDefinition.OctetString = actionDefinition + } + } + } +} + +func (p *RESTSubsReqParams) SetSubEventTriggerDefinition(eventTriggerDefinition string) { + + for _, subDetail := range p.SubsReqParams.SubscriptionDetails { + if subDetail != nil { + subDetail.EventTriggers.OctetString = eventTriggerDefinition + } + } +} + +func (p *RESTSubsReqParams) AppendActionToActionToBeSetupList(actionId int64, actionType string, actionDefinition string, subsequentActionType string, timeToWait string) { + + actionToBeSetup := &clientmodel.ActionToBeSetup{ + ActionID: &actionId, + ActionType: &actionType, + ActionDefinition: &clientmodel.ActionDefinition{ + OctetString: actionDefinition, + }, + SubsequentAction: &clientmodel.SubsequentAction{ + SubsequentActionType: &subsequentActionType, + TimeToWait: &timeToWait, + }, + } + + for _, subDetail := range p.SubsReqParams.SubscriptionDetails { + if subDetail != nil { + subDetail.ActionToBeSetupList = append(subDetail.ActionToBeSetupList, actionToBeSetup) + } + } +} + func (p *RESTSubsReqParams) SetRMREndpoint(RMR_port int64, host string) { p.SubsReqParams.ClientEndpoint.RMRPort = &RMR_port @@ -931,6 +1002,14 @@ func (p *RESTSubsReqParams) SetTimeToWait(timeToWait string) { } } +func (p *RESTSubsReqParams) SetSubscriptionID(SubscriptionID *string) { + + if *SubscriptionID == "" { + return + } + p.SubsReqParams.SubscriptionID = *SubscriptionID +} + //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- @@ -951,10 +1030,10 @@ func (tc *E2Stub) SendRESTSubsDelReq(t *testing.T, subscriptionID *string) { //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- -func (tc *E2Stub) GetRESTSubsReqPolicyParams(subReqCount int, actionDefinitionPresent bool, policyParamCount int) *RESTSubsReqParams { +func (tc *E2Stub) GetRESTSubsReqPolicyParams(subReqCount int) *RESTSubsReqParams { policyParams := RESTSubsReqParams{} - policyParams.GetRESTSubsReqPolicyParams(subReqCount, actionDefinitionPresent, policyParamCount, &tc.clientEndpoint, &tc.meid) + policyParams.GetRESTSubsReqPolicyParams(subReqCount, &tc.clientEndpoint, &tc.meid) tc.requestCount = subReqCount return &policyParams } @@ -962,7 +1041,7 @@ func (tc *E2Stub) GetRESTSubsReqPolicyParams(subReqCount int, actionDefinitionPr //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- -func (p *RESTSubsReqParams) GetRESTSubsReqPolicyParams(subReqCount int, actionDefinitionPresent bool, policyParamCount int, clientEndpoint *clientmodel.SubscriptionParamsClientEndpoint, meid *string) { +func (p *RESTSubsReqParams) GetRESTSubsReqPolicyParams(subReqCount int, clientEndpoint *clientmodel.SubscriptionParamsClientEndpoint, meid *string) { p.SubsReqParams.ClientEndpoint = clientEndpoint p.SubsReqParams.Meid = meid @@ -978,10 +1057,8 @@ func (p *RESTSubsReqParams) GetRESTSubsReqPolicyParams(subReqCount int, actionDe for requestCount := 0; requestCount < subReqCount; requestCount++ { reqId := int64(requestCount) + 1 - seqId := int64(0) subscriptionDetail := &clientmodel.SubscriptionDetail{ - RequestorID: &reqId, - InstanceID: &seqId, + XappEventInstanceID: &reqId, EventTriggers: &clientmodel.EventTriggerDefinition{ OctetString: "1234" + strconv.Itoa(requestCount), },