Added E2AP interface wrapper for UT
[ric-plt/submgr.git] / pkg / teststube2ap / stubE2.go
index 4c8c08d..bcc6aae 100644 (file)
@@ -631,7 +631,11 @@ 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 {
+       if tc.subscriptionId == "SUBSCRIPTIONID NOT SET" {
+               tc.Info("REST notification received for %v while no SubscriptionID was not set for InstanceID=%v, RequestorID=%v (%v)",
+                       *resp.SubscriptionID, *resp.SubscriptionInstances[0].InstanceID, *resp.SubscriptionInstances[0].RequestorID, tc)
+               tc.CallBackNotification <- *resp.SubscriptionInstances[0].InstanceID
+       } else 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
@@ -771,6 +775,8 @@ func (tc *E2Stub) SendRESTSubsReq(t *testing.T, params *RESTSubsReqParams) strin
                return ""
        }
 
+       tc.subscriptionId = "SUBSCIPTIONID NOT SET"
+
        resp, err := xapp.Subscription.Subscribe(&params.SubsReqParams)
        if err != nil {
                // Swagger generated code makes checks for the values that are inserted the subscription function
@@ -908,6 +914,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