- Missing counters added in UT cases to be checked
- One Bug fix added in code. Incorrect response in repeated delete request from xApp.
Change-Id: I83599d3db6f130451d9c33a0732274bb5ab51d50
Signed-off-by: Anssi Mannila <anssi.mannila@nokia.com>
"e2tRecvMsgTimeout_ms": 2000
"e2tMaxSubReqTryCount": 2
"e2tMaxSubDelReqTryCount": 2
"e2tRecvMsgTimeout_ms": 2000
"e2tMaxSubReqTryCount": 2
"e2tMaxSubDelReqTryCount": 2
"readSubsFromDb": "true"
"dbTryCount": 200
"dbRetryForever": "true"
"readSubsFromDb": "true"
"dbTryCount": 200
"dbRetryForever": "true"
//-----------------------------------------------------------------------------
func SetASN1DebugPrintStatus(logLevel int) {
if logLevel >= 4 {
//-----------------------------------------------------------------------------
func SetASN1DebugPrintStatus(logLevel int) {
if logLevel >= 4 {
- fmt.Println("Setting ASN1 debug prints ON")
+ //fmt.Println("ASN1 debug prints ON")
C.allowASN1DebugPrints(true)
} else {
C.allowASN1DebugPrints(true)
} else {
- fmt.Println("Setting ASN1 debug prints OFF")
+ //fmt.Println("ASN1 debug prints OFF")
C.allowASN1DebugPrints(false)
}
}
C.allowASN1DebugPrints(false)
}
}
xapp.Logger.Debug("ReadConfigParameters")
c.LoggerLevel = int(xapp.Logger.GetLevel())
xapp.Logger.Debug("ReadConfigParameters")
c.LoggerLevel = int(xapp.Logger.GetLevel())
- xapp.Logger.Debug("LoggerLevel= %v", c.LoggerLevel)
+ xapp.Logger.Info("LoggerLevel = %v", c.LoggerLevel)
c.e2ap.SetASN1DebugPrintStatus(c.LoggerLevel)
// viper.GetDuration returns nanoseconds
c.e2ap.SetASN1DebugPrintStatus(c.LoggerLevel)
// viper.GetDuration returns nanoseconds
err = fmt.Errorf("E2 subscription response timeout")
errorInfo.SetInfo(err.Error(), "", models.SubscriptionInstanceTimeoutTypeE2Timeout)
if subs.PolicyUpdate == true {
err = fmt.Errorf("E2 subscription response timeout")
errorInfo.SetInfo(err.Error(), "", models.SubscriptionInstanceTimeoutTypeE2Timeout)
if subs.PolicyUpdate == true {
}
xapp.Logger.Error("XAPP-SubReq E2 subscription failed %s", idstring(err, trans, subs))
}
xapp.Logger.Error("XAPP-SubReq E2 subscription failed %s", idstring(err, trans, subs))
c.registry.RemoveFromSubscription(subs, trans, waitRouteCleanup_ms, c)
return nil, &errorInfo, err
}
c.registry.RemoveFromSubscription(subs, trans, waitRouteCleanup_ms, c)
return nil, &errorInfo, err
}
return common.UnsubscribeBadRequestCode
} else if restSubscription.SubDelReqOngoing == true {
// Previous request for same restSubId still ongoing
return common.UnsubscribeBadRequestCode
} else if restSubscription.SubDelReqOngoing == true {
// Previous request for same restSubId still ongoing
- c.UpdateCounter(cRestSubDelFailToXapp)
- return common.UnsubscribeBadRequestCode
+ c.UpdateCounter(cRestSubDelRespToXapp)
+ return common.UnsubscribeNoContentCode
case *PackSubscriptionRequestErrortEvent, *SDLWriteErrortEvent:
subRfMsg, valid = subs.SetCachedResponse(event, false)
default:
case *PackSubscriptionRequestErrortEvent, *SDLWriteErrortEvent:
subRfMsg, valid = subs.SetCachedResponse(event, false)
default:
if subs.PolicyUpdate == false {
xapp.Logger.Debug("SUBS-SubReq: internal delete due default event(%s) %s", typeofSubsMessage(event), idstring(nil, trans, subs, parentTrans))
removeSubscriptionFromDb = true
if subs.PolicyUpdate == false {
xapp.Logger.Debug("SUBS-SubReq: internal delete due default event(%s) %s", typeofSubsMessage(event), idstring(nil, trans, subs, parentTrans))
removeSubscriptionFromDb = true
Counter{cRestSubReqFromXapp, 1},
Counter{cRestSubRespToXapp, 1},
Counter{cRestSubFailToXapp, 1},
Counter{cRestSubReqFromXapp, 1},
Counter{cRestSubRespToXapp, 1},
Counter{cRestSubFailToXapp, 1},
+ Counter{cRestReqRejDueE2Down, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubFailNotifToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubFailNotifToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSDLWriteFailure, 1},
Counter{cSDLReadFailure, 1},
Counter{cSDLRemoveFailure, 1},
Counter{cSDLWriteFailure, 1},
Counter{cSDLReadFailure, 1},
Counter{cSDLRemoveFailure, 1},
+ Counter{cE2StateChangedToUp, 1},
+ Counter{cE2StateChangedToDown, 1},
})
mainCtrl.c.UpdateCounter(cSubReqFromXapp)
})
mainCtrl.c.UpdateCounter(cSubReqFromXapp)
mainCtrl.c.UpdateCounter(cRestSubReqFromXapp)
mainCtrl.c.UpdateCounter(cRestSubRespToXapp)
mainCtrl.c.UpdateCounter(cRestSubFailToXapp)
mainCtrl.c.UpdateCounter(cRestSubReqFromXapp)
mainCtrl.c.UpdateCounter(cRestSubRespToXapp)
mainCtrl.c.UpdateCounter(cRestSubFailToXapp)
+ mainCtrl.c.UpdateCounter(cRestReqRejDueE2Down)
mainCtrl.c.UpdateCounter(cRestSubNotifToXapp)
mainCtrl.c.UpdateCounter(cRestSubFailNotifToXapp)
mainCtrl.c.UpdateCounter(cSubReqToE2)
mainCtrl.c.UpdateCounter(cRestSubNotifToXapp)
mainCtrl.c.UpdateCounter(cRestSubFailNotifToXapp)
mainCtrl.c.UpdateCounter(cSubReqToE2)
mainCtrl.c.UpdateCounter(cSDLWriteFailure)
mainCtrl.c.UpdateCounter(cSDLReadFailure)
mainCtrl.c.UpdateCounter(cSDLRemoveFailure)
mainCtrl.c.UpdateCounter(cSDLWriteFailure)
mainCtrl.c.UpdateCounter(cSDLReadFailure)
mainCtrl.c.UpdateCounter(cSDLRemoveFailure)
+ mainCtrl.c.UpdateCounter(cE2StateChangedToUp)
+ mainCtrl.c.UpdateCounter(cE2StateChangedToDown)
mainCtrl.VerifyCounterValues(t)
}
mainCtrl.VerifyCounterValues(t)
}
}
func (r *Registry) RouteDelete(subs *Subscription, trans *TransactionXapp, c *Control) {
}
func (r *Registry) RouteDelete(subs *Subscription, trans *TransactionXapp, c *Control) {
tmpList := xapp.RmrEndpointList{}
tmpList.AddEndpoint(trans.GetEndpoint())
subRouteAction := SubRouteInfo{tmpList, uint16(subs.ReqId.InstanceId)}
tmpList := xapp.RmrEndpointList{}
tmpList.AddEndpoint(trans.GetEndpoint())
subRouteAction := SubRouteInfo{tmpList, uint16(subs.ReqId.InstanceId)}
type CountersToBeAdded []Counter
type CountersToBeAdded []Counter
-var countersBeforeMap map[string]Counter
+var allCountersMap map[string]Counter
+var allCountersBeforeMap map[string]Counter
+var toBeAddedCountersBeforeMap map[string]Counter
var toBeAddedCountersMap map[string]Counter
func createSubmgrControl(srcId teststub.RmrSrcId, rtgSvc teststub.RmrRtgSvc) *testingSubmgrControl {
var toBeAddedCountersMap map[string]Counter
func createSubmgrControl(srcId teststub.RmrSrcId, rtgSvc teststub.RmrRtgSvc) *testingSubmgrControl {
return string(respBody[:]), nil
}
return string(respBody[:]), nil
}
+func (mc *testingSubmgrControl) InitAllCounterMap() {
+ counterOpts := GetMetricsOpts()
+
+ allCountersMap = make(map[string]Counter)
+ for _, counterOpt := range counterOpts {
+ //fmt.Printf("counterOpt.Name: '%v'\n", counterOpt.Name)
+ counter := Counter{counterOpt.Name, 0}
+ allCountersMap[counterOpt.Name] = counter
+ }
+}
+
func (mc *testingSubmgrControl) CounterValuesToBeVeriefied(t *testing.T, countersToBeAdded CountersToBeAdded) {
if len(toBeAddedCountersMap) == 0 {
func (mc *testingSubmgrControl) CounterValuesToBeVeriefied(t *testing.T, countersToBeAdded CountersToBeAdded) {
if len(toBeAddedCountersMap) == 0 {
}
func (mc *testingSubmgrControl) GetCounterValuesBefore(t *testing.T) {
}
func (mc *testingSubmgrControl) GetCounterValuesBefore(t *testing.T) {
- countersBeforeMap = make(map[string]Counter)
- countersBeforeMap = mc.GetCurrentCounterValues(t, toBeAddedCountersMap)
+ toBeAddedCountersBeforeMap = make(map[string]Counter)
+ toBeAddedCountersBeforeMap = mc.GetCurrentCounterValues(t, toBeAddedCountersMap)
+ allCountersBeforeMap = make(map[string]Counter)
+ allCountersBeforeMap = mc.GetCurrentCounterValues(t, allCountersMap)
}
func (mc *testingSubmgrControl) VerifyCounterValues(t *testing.T) {
// Check that expected counters are added ok
}
func (mc *testingSubmgrControl) VerifyCounterValues(t *testing.T) {
// Check that expected counters are added ok
+ // Get current values of counters exected to be added
currentCountersMap := mc.GetCurrentCounterValues(t, toBeAddedCountersMap)
for _, toBeAddedCounter := range toBeAddedCountersMap {
if currentCounter, ok := currentCountersMap[toBeAddedCounter.Name]; ok == true {
currentCountersMap := mc.GetCurrentCounterValues(t, toBeAddedCountersMap)
for _, toBeAddedCounter := range toBeAddedCountersMap {
if currentCounter, ok := currentCountersMap[toBeAddedCounter.Name]; ok == true {
- if beforeCounter, ok := countersBeforeMap[toBeAddedCounter.Name]; ok == true {
+ if beforeCounter, ok := toBeAddedCountersBeforeMap[toBeAddedCounter.Name]; ok == true {
if currentCounter.Value != beforeCounter.Value+toBeAddedCounter.Value {
mc.TestError(t, "Error in expected counter value: counterName %v, current value %v, expected value %v",
currentCounter.Name, currentCounter.Value, beforeCounter.Value+toBeAddedCounter.Value)
if currentCounter.Value != beforeCounter.Value+toBeAddedCounter.Value {
mc.TestError(t, "Error in expected counter value: counterName %v, current value %v, expected value %v",
currentCounter.Name, currentCounter.Value, beforeCounter.Value+toBeAddedCounter.Value)
-
- //fmt.Printf("beforeCounter.Value=%v, toBeAddedCounter.Value=%v, \n",beforeCounter.Value, toBeAddedCounter.Value)
- mc.TestError(t, "Counter %v not in countersBeforeMap", toBeAddedCounter.Name)
+ mc.TestError(t, "Counter %v not in toBeAddedCountersBeforeMap", toBeAddedCounter.Name)
}
} else {
mc.TestError(t, "Counter %v not in currentCountersMap", toBeAddedCounter.Name)
}
} else {
mc.TestError(t, "Counter %v not in currentCountersMap", toBeAddedCounter.Name)
}
// Check that not any unexpected counter are added (this is not working correctly!)
}
// Check that not any unexpected counter are added (this is not working correctly!)
+ // Get current values of all counters
+ currentCountersMap = mc.GetCurrentCounterValues(t, allCountersMap)
for _, currentCounter := range currentCountersMap {
if _, ok := toBeAddedCountersMap[currentCounter.Name]; ok == false {
for _, currentCounter := range currentCountersMap {
if _, ok := toBeAddedCountersMap[currentCounter.Name]; ok == false {
- if beforeCounter, ok := countersBeforeMap[currentCounter.Name]; ok == true {
+ if beforeCounter, ok := allCountersBeforeMap[currentCounter.Name]; ok == true {
if currentCounter.Value != beforeCounter.Value {
if currentCounter.Value != beforeCounter.Value {
- mc.TestError(t, "Error: unexpected counter value added: counterName %v, current value %v, expected value %v",
- currentCounter.Name, beforeCounter.Value, beforeCounter.Value)
-
- //fmt.Printf("beforeCounter.Value=%v, toBeAddedCounter.Value=%v, \n",beforeCounter.Value, toBeAddedCounter.Value)
+ mc.TestError(t, "Error: unexpected counter added: counterName %v, current value %v, expected value %v",
+ currentCounter.Name, currentCounter.Value, beforeCounter.Value)
- } else {
- mc.TestError(t, "Counter %v not in countersBeforeMap", beforeCounter.Name)
- //fmt.Printf("toBeAddedCountersMap=%v\n",toBeAddedCountersMap)
toBeAddedCountersMap = make(map[string]Counter)
toBeAddedCountersMap = make(map[string]Counter)
+ allCountersBeforeMap = make(map[string]Counter)
}
func (mc *testingSubmgrControl) GetCurrentCounterValues(t *testing.T, chekedCountersMap map[string]Counter) map[string]Counter {
}
func (mc *testingSubmgrControl) GetCurrentCounterValues(t *testing.T, chekedCountersMap map[string]Counter) map[string]Counter {
if len(retCounterMap) != len(chekedCountersMap) {
mc.TestError(t, "Error: len(retCounterMap) != len(chekedCountersMap)")
if len(retCounterMap) != len(chekedCountersMap) {
mc.TestError(t, "Error: len(retCounterMap) != len(chekedCountersMap)")
// like this:git log
// SetPackerIf(e2ap_wrapper.NewAsn1E2APPacker())
// like this:git log
// SetPackerIf(e2ap_wrapper.NewAsn1E2APPacker())
+ mainCtrl.InitAllCounterMap()
SetPackerIf(e2ap_wrapper.NewUtAsn1E2APPacker())
mainCtrl.c.restDuplicateCtrl.Init()
SetPackerIf(e2ap_wrapper.NewUtAsn1E2APPacker())
mainCtrl.c.restDuplicateCtrl.Init()
mainCtrl.SetE2State(t, "RAN_NAME_1_CONNECTED")
mainCtrl.VerifyCounterValues(t)
mainCtrl.SetE2State(t, "RAN_NAME_1_CONNECTED")
mainCtrl.VerifyCounterValues(t)
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cSubReqFromXapp, 2},
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cSubReqFromXapp, 2},
+ Counter{cMergedSubscriptions, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cSubRespToXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cSubDelRespToXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cSubDelRespToXapp, 2},
+ Counter{cUnmergedSubscriptions, 1},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cSubReqFromXapp, 1},
Counter{cSubReqToE2, 1},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cSubReqFromXapp, 1},
Counter{cSubReqToE2, 1},
+ Counter{cSubReqTimerExpiry, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cSubRespToXapp, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cSubRespToXapp, 1},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 2},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 2},
+ Counter{cMergedSubscriptions, 1},
Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 2},
+ Counter{cUnmergedSubscriptions, 1},
})
var params *teststube2ap.RESTSubsReqParams = nil
})
var params *teststube2ap.RESTSubsReqParams = nil
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
+ Counter{cDuplicateE2SubReq, 2},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
+ Counter{cDuplicateE2SubReq, 2},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
+ Counter{cDuplicateE2SubReq, 2},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
+ Counter{cDuplicateE2SubReq, 2},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 3},
+ Counter{cDuplicateE2SubReq, 1},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 3},
Counter{cSubRespFromE2, 3},
Counter{cRestSubRespToXapp, 3},
Counter{cSubReqToE2, 3},
Counter{cSubRespFromE2, 3},
Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cRestSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 2},
})
var params *teststube2ap.RESTSubsReqParams = nil
})
var params *teststube2ap.RESTSubsReqParams = nil
Counter{cSubRespFromE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubRespFromE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 2},
+ Counter{cRestSubDelFailToXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 1},
waitSubsCleanup(t, e2SubsId2, 10)
mainCtrl.VerifyCounterValues(t)
waitSubsCleanup(t, e2SubsId2, 10)
mainCtrl.VerifyCounterValues(t)
}
func TestRESTSubReqRetryInSubmgr(t *testing.T) {
}
func TestRESTSubReqRetryInSubmgr(t *testing.T) {
Counter{cRestSubReqFromXapp, 1},
Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cRestSubReqFromXapp, 1},
Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
+ Counter{cSubReqTimerExpiry, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubRespFromE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
+ Counter{cRestSubFailNotifToXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
})
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
})
params := xappConn1.GetRESTSubsReqReportParams(subReqCount)
restSubId := xappConn1.SendRESTSubsReq(t, params)
xapp.Logger.Debug("Send REST subscriber request for subscriber : %v", restSubId)
params := xappConn1.GetRESTSubsReqReportParams(subReqCount)
restSubId := xappConn1.SendRESTSubsReq(t, params)
xapp.Logger.Debug("Send REST subscriber request for subscriber : %v", restSubId)
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
+ Counter{cSubDelReReqToE2, 1},
+ Counter{cRestSubFailNotifToXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelReqTimerExpiry, 2},
})
Counter{cSubDelReqToE2, 1},
Counter{cSubDelReqTimerExpiry, 2},
})
params := xappConn1.GetRESTSubsReqReportParams(subReqCount)
restSubId := xappConn1.SendRESTSubsReq(t, params)
xapp.Logger.Debug("Send REST subscriber request for subscriber : %v", restSubId)
params := xappConn1.GetRESTSubsReqReportParams(subReqCount)
restSubId := xappConn1.SendRESTSubsReq(t, params)
xapp.Logger.Debug("Send REST subscriber request for subscriber : %v", restSubId)
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
+ Counter{cRestSubFailNotifToXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelReReqToE2, 1},
Counter{cSubDelReqTimerExpiry, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelReReqToE2, 1},
Counter{cSubDelReqTimerExpiry, 2},
Counter{cSubFailFromE2, 1},
Counter{cRestSubFailNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubFailFromE2, 1},
Counter{cRestSubFailNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
const subReqCount int = 1
})
const subReqCount int = 1
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
+ Counter{cSubDelReqTimerExpiry, 1},
Counter{cSubDelReReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 1},
Counter{cSubDelReReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
+ Counter{cSubDelReqTimerExpiry, 1},
Counter{cSubDelReReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 1},
Counter{cSubDelReReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 1},
// | RESTSubReq2 | |
// |------------------------------>| |
// | | | |
// | RESTSubReq2 | |
// |------------------------------>| |
// | | | |
-// | RESTSubDelResp2 | |
// |<------------------------------| |
// | | | SubReq1 |
// | | |------------->|
// |<------------------------------| |
// | | | SubReq1 |
// | | |------------->|
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 2},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 2},
+ Counter{cMergedSubscriptions, 1},
Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
+ Counter{cSubReqTimerExpiry, 2},
+ Counter{cSubReReqToE2, 1},
Counter{cRestSubFailNotifToXapp, 2},
Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 2},
})
Counter{cRestSubFailNotifToXapp, 2},
Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 2},
})
const subReqCount int = 1
// Req1
const subReqCount int = 1
// Req1
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 2},
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
Counter{cRestSubReqFromXapp, 2},
+ Counter{cMergedSubscriptions, 1},
Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubFailFromE2, 1},
Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubFailFromE2, 1},
Counter{cSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
Counter{cSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
+ Counter{cRestSubFailNotifToXapp, 1},
})
const subReqCount int = 1
})
const subReqCount int = 1
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
+ Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 1},
})
Counter{cRestSubDelRespToXapp, 1},
})
// Remove possible existing subscription
mainCtrl.removeExistingSubscriptions(t)
// Remove possible existing subscription
mainCtrl.removeExistingSubscriptions(t)
Counter{cRestSubReqFromXapp, 2},
Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cRestSubReqFromXapp, 2},
Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
+ Counter{cSubReqTimerExpiry, 1},
Counter{cSubRespFromE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubFailNotifToXapp, 1},
Counter{cSubRespFromE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cRestSubFailNotifToXapp, 1},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 1},
Counter{cRestSubNotifToXapp, 1},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 1},
Counter{cRestSubNotifToXapp, 1},
- Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubFailNotifToXapp, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
+ Counter{cSubDelRespFromE2, 1},
Counter{cRestSubDelRespToXapp, 1},
})
Counter{cRestSubDelRespToXapp, 1},
})
// Check subscription
queryXappSubscription(t, int64(e2SubsId), "RAN_NAME_1", []string{"localhost:13560"})
// Check subscription
queryXappSubscription(t, int64(e2SubsId), "RAN_NAME_1", []string{"localhost:13560"})
- xapp.Logger.Debug("Here 1")
- //<-time.After(3 * time.Second)
- xapp.Logger.Debug("Here 2")
-
// Delete subscription
xappConn1.SendRESTSubsDelReq(t, &restSubId)
delreq, delmsg := e2termConn1.RecvSubsDelReq(t)
// Delete subscription
xappConn1.SendRESTSubsDelReq(t, &restSubId)
delreq, delmsg := e2termConn1.RecvSubsDelReq(t)