package control
import (
+ "strings"
"testing"
"time"
"github.com/stretchr/testify/assert"
)
-func TestRESTSubReqAndDeleteOkWithE2apUtWrapper(t *testing.T) {
-
+func TestSuiteSetup(t *testing.T) {
// The effect of this call shall endure thgough the UT suite!
// If this causes any issues, the previout interface can be restored
- // like this:
+ // like this:git log
// SetPackerIf(e2ap_wrapper.NewAsn1E2APPacker())
SetPackerIf(e2ap_wrapper.NewUtAsn1E2APPacker())
+}
+
+//-----------------------------------------------------------------------------
+// TestRESTSubReqAndDeleteOkWithE2apUtWrapper
+//
+// stub stub stub
+// +-------+ +---------+ +---------+ +---------+
+// | xapp | | submgr | | e2term | | rtmgr |
+// +-------+ +---------+ +---------+ +---------+
+// | | | |
+// | RESTSubReq | | |
+// |---------------->| | |
+// | | RouteCreate | |
+// | |--------------------------->| // The order of these events may vary
+// | | | |
+// | RESTSubResp | | | // The order of these events may vary
+// |<----------------| | |
+// | | RouteResponse| |
+// | |<---------------------------| // The order of these events may vary
+// | | | |
+// | | SubReq | |
+// | |------------->| | // The order of these events may vary
+// | | | |
+// | | SubResp | |
+// | |<-------------| |
+// | RESTNotif1 | | |
+// |<----------------| | |
+// | | | |
+// | RESTSubDelReq | | |
+// |---------------->| | |
+// | | SubDelReq | |
+// | |------------->| |
+// | | | |
+// | RESTSubDelResp| | |
+// |<----------------| | |
+// | | | |
+// | | SubDelResp | |
+// | |<-------------| |
+// | | | |
+// | | | |
+//
+//-----------------------------------------------------------------------------
+func TestRESTSubReqAndDeleteOkWithE2apUtWrapper(t *testing.T) {
restSubId, e2SubsId := createSubscription(t, xappConn1, e2termConn1, nil)
waitSubsCleanup(t, e2SubsId, 10)
}
+//-----------------------------------------------------------------------------
+// TestRESTSubReqAndE1apDeleteReqPackingError
+//
+// stub stub stub
+// +-------+ +---------+ +---------+ +---------+
+// | xapp | | submgr | | e2term | | rtmgr |
+// +-------+ +---------+ +---------+ +---------+
+// | | | |
+// | RESTSubReq | | |
+// |---------------->| | |
+// | | RouteCreate | |
+// | |--------------------------->| // The order of these events may vary
+// | | | |
+// | RESTSubResp | | | // The order of these events may vary
+// |<----------------| | |
+// | | RouteResponse| |
+// | |<---------------------------| // The order of these events may vary
+// | | | |
+// | | SubReq | |
+// | |------------->| | // The order of these events may vary
+// | | | |
+// | | SubResp | |
+// | |<-------------| |
+// | RESTNotif1 | | |
+// |<----------------| | |
+// | | | |
+// | RESTSubDelReq | | |
+// |---------------->| | |
+// | | | |
+// | RESTSubDelResp| | |
+// |<----------------| | |
+// | | | |
+// | | | |
+//
+//-----------------------------------------------------------------------------
+func TestRESTSubReqAndE1apDeleteReqPackingError(t *testing.T) {
+
+ restSubId, e2SubsId := createSubscription(t, xappConn1, e2termConn1, nil)
+
+ e2ap_wrapper.AllowE2apToProcess(e2ap_wrapper.SUB_DEL_REQ, false)
+ xappConn1.SendRESTSubsDelReq(t, &restSubId)
+ defer e2ap_wrapper.AllowE2apToProcess(e2ap_wrapper.SUB_DEL_REQ, true)
+
+ waitSubsCleanup(t, e2SubsId, 10)
+}
+
+//-----------------------------------------------------------------------------
+// TestRESTSubReqAndE1apDeleteRespUnpackingError
+//
+// stub stub stub
+// +-------+ +---------+ +---------+ +---------+
+// | xapp | | submgr | | e2term | | rtmgr |
+// +-------+ +---------+ +---------+ +---------+
+// | | | |
+// | RESTSubReq | | |
+// |---------------->| | |
+// | | RouteCreate | |
+// | |--------------------------->| // The order of these events may vary
+// | | | |
+// | RESTSubResp | | | // The order of these events may vary
+// |<----------------| | |
+// | | RouteResponse| |
+// | |<---------------------------| // The order of these events may vary
+// | | | |
+// | | SubReq | |
+// | |------------->| | // The order of these events may vary
+// | | | |
+// | | SubResp | |
+// | |<-------------| |
+// | RESTNotif1 | | |
+// |<----------------| | |
+// | | | |
+// | RESTSubDelReq | | |
+// |---------------->| | |
+// | | SubDelReq | |
+// | |------------->| |
+// | | | |
+// | RESTSubDelResp| | |
+// |<----------------| | | // The order of these events may vary
+// | | | |
+// | | SubDelResp | |
+// | |<-------------| | // 1.st NOK
+// | | | |
+// | | SubDelReq | |
+// | |------------->| |
+// | | | |
+// | | SubDelResp | |
+// | |<-------------| | // 2.nd NOK
+//
+//-----------------------------------------------------------------------------
+
+func TestRESTSubReqAndE1apDeleteRespUnpackingError(t *testing.T) {
+
+ restSubId, e2SubsId := createSubscription(t, xappConn1, e2termConn1, nil)
+
+ xappConn1.SendRESTSubsDelReq(t, &restSubId)
+ e2ap_wrapper.AllowE2apToProcess(e2ap_wrapper.SUB_DEL_RESP, false)
+ delreq, delmsg := e2termConn1.RecvSubsDelReq(t)
+ e2termConn1.SendSubsDelResp(t, delreq, delmsg)
+
+ delreq, delmsg = e2termConn1.RecvSubsDelReq(t)
+ e2termConn1.SendSubsDelResp(t, delreq, delmsg)
+
+ defer e2ap_wrapper.AllowE2apToProcess(e2ap_wrapper.SUB_DEL_RESP, true)
+
+ waitSubsCleanup(t, e2SubsId, 10)
+}
+
//-----------------------------------------------------------------------------
// TestSubReqAndRouteNok
//
CaseBegin("TestRESTSubReqAndRouteNok")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cRouteCreateFail, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubFailNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
const subReqCount int = 1
//Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 2},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubFailNotifToXapp, 1},
Counter{cRouteCreateUpdateFail, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
var params *teststube2ap.RESTSubsReqParams = nil
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cRouteDeleteFail, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
var params *teststube2ap.RESTSubsReqParams = nil
CaseBegin("TestRESTSubMergeDelAndRouteUpdateNok")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cRouteDeleteUpdateFail, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
var params *teststube2ap.RESTSubsReqParams = nil
CaseBegin("TestRESTSubReqRetransmission")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Retry/duplicate will get the same way as the first request. Submgr cannot detect duplicate RESTRequests
// Contianed duplicate messages from same xapp will not be merged. Here we use xappConn2 to simulate sending
CaseBegin("TestRESTSubDelReqRetransmission")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
var params *teststube2ap.RESTSubsReqParams = nil
CaseBegin("TestRESTSubReqDelReq")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
const subReqCount int = 1
CaseBegin("TestRESTSubReqAndSubDelOkTwoParallel")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
//Req1
CaseBegin("TestRESTSameSubsDiffRan")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
params := xappConn1.GetRESTSubsReqReportParams(subReqCount)
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
params := xappConn1.GetRESTSubsReqReportParams(subReqCount)
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubReReqToE2, 1},
Counter{cSubReqTimerExpiry, 2},
CaseBegin("TestRESTSubReqSubFailRespInSubmgr")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubFailFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubFailNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
})
const subReqCount int = 1
CaseBegin("TestRESTSubDelReqRetryInSubmgr")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelReReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Req
var params *teststube2ap.RESTSubsReqParams = nil
CaseBegin("TestRESTSubDelReTwoRetriesNoRespInSubmgr")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelReReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Req
CaseBegin("TestRESTSubDelReqSubDelFailRespInSubmgr")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelFailFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Req
CaseBegin("TestRESTSubReqAndSubDelOkSameAction")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
Counter{cMergedSubscriptions, 1},
Counter{cUnmergedSubscriptions, 1},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
CaseBegin("TestRESTSubReqAndSubDelOkSameActionParallel")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
params := xappConn1.GetRESTSubsReqReportParams(subReqCount)
CaseBegin("TestRESTSubReqAndSubDelNoAnswerSameActionParallel")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubFailNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
const subReqCount int = 1
CaseBegin("TestRESTSubReqAndSubDelNokSameActionParallel")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubFailFromE2, 1},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubFailNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
const subReqCount int = 1
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
const subReqCount int = 1
CaseBegin("TestRESTSubReqPolicyAndSubDelOk")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
const subReqCount int = 1
restSubId, e2SubsId := createSubscription(t, xappConn1, e2termConn1, params)
// Policy change
- instanceId := int64(e2SubsId)
// GetRESTSubsReqPolicyParams sets some coutners on tc side.
+
params = xappConn1.GetRESTSubsReqPolicyParams(subReqCount)
- params.SubsReqParams.SubscriptionDetails[0].InstanceID = &instanceId
+ params.SetSubscriptionID(&restSubId)
params.SetTimeToWait("w200ms")
restSubId, e2SubsId = createSubscription(t, xappConn1, e2termConn1, params)
mainCtrl.VerifyCounterValues(t)
}
+//-----------------------------------------------------------------------------
+// TestRESTSubReqPolicyChangeNOk
+//
+// stub stub
+// +-------+ +---------+ +---------+
+// | xapp | | submgr | | e2term |
+// +-------+ +---------+ +---------+
+// | | |
+// | RESTSubReq | |
+// |---------------->| |
+// | | |
+// | RESTSubResp | |
+// |<----------------| |
+// | | SubReq |
+// | |------------->|
+// | | |
+// | | SubResp |
+// | |<-------------|
+// | | |
+// | RESTNotif | |
+// |<----------------| |
+// | | |
+// | RESTSubReq | |
+// |---------------->| |
+// | | |
+// | RESTSubUpdateFail |
+// | | |
+// | RESTSubDelReq | |
+// |---------------->| |
+// | | |
+// | | SubDelReq |
+// | |------------->|
+// | | |
+// | | SubDelResp |
+// | |<-------------|
+// | | |
+// | RESTSubDelResp | |
+// |<----------------| |
+//
+//-----------------------------------------------------------------------------
+func TestRESTSubReqPolicyChangeNOk(t *testing.T) {
+ CaseBegin("TestRESTSubReqPolicyChangeNOk")
+
+ mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 1},
+ Counter{cSubReqToE2, 1},
+ Counter{cSubRespFromE2, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubFailToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
+ Counter{cSubDelReqToE2, 1},
+ Counter{cSubDelRespFromE2, 1},
+ Counter{cRestSubDelRespToXapp, 1},
+ })
+
+ const subReqCount int = 1
+
+ // Req
+ params := xappConn1.GetRESTSubsReqPolicyParams(subReqCount)
+ restSubId, e2SubsId := createSubscription(t, xappConn1, e2termConn1, params)
+
+ // Policy change
+
+ params = xappConn1.GetRESTSubsReqPolicyParams(subReqCount)
+
+ restSubIdUpd := strings.ToUpper(restSubId)
+ params.SetSubscriptionID(&restSubIdUpd)
+ params.SetTimeToWait("w200ms")
+
+ restSubId2 := xappConn1.SendRESTSubsReq(t, params)
+ assert.Equal(t, restSubId2, "")
+
+ // Del
+ xappConn1.SendRESTSubsDelReq(t, &restSubId)
+
+ delreq, delmsg := e2termConn1.RecvSubsDelReq(t)
+ e2termConn1.SendSubsDelResp(t, delreq, delmsg)
+
+ // Wait that subs is cleaned
+ waitSubsCleanup(t, e2SubsId, 10)
+ mainCtrl.VerifyCounterValues(t)
+}
+
//-----------------------------------------------------------------------------
// TestRESTSubReqAndSubDelOkTwoE2termParallel
//
// Init counter check
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
const subReqCount int = 1
CaseBegin("TestRESTInsertSubReqAndSubDelOk")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
const subReqCount int = 1
CaseBegin("TestRESTSubReqNokAndSubDelOkWithRestartInMiddle")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
CaseBegin("TestRESTSubReqAndSubDelOkWithRestartInMiddle")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 1},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 1},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 1},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Remove possible existing subscription
CaseBegin("TestRESTSubReqAndSubDelOkSameActionWithRestartsInMiddle")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 1},
Counter{cSubRespFromE2, 1},
- Counter{cSubRespToXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
Counter{cMergedSubscriptions, 1},
Counter{cUnmergedSubscriptions, 1},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelRespFromE2, 1},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Remove possible existing subscription
subReqCount := 2
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Req
subReqCount := 19
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, 19},
Counter{cSubRespFromE2, 19},
- Counter{cSubRespToXapp, 19},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, 19},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, 19},
Counter{cSubDelRespFromE2, 19},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Req
subReqCount := 2
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, uint64(subReqCount)},
Counter{cSubRespFromE2, uint64(subReqCount)},
- Counter{cSubRespToXapp, uint64(subReqCount)},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, uint64(subReqCount)},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, uint64(subReqCount)},
Counter{cSubDelRespFromE2, uint64(subReqCount)},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Req
subReqCount := 2
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, uint64(subReqCount)},
Counter{cSubRespFromE2, uint64(subReqCount)},
- Counter{cSubRespToXapp, uint64(subReqCount)},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, uint64(subReqCount)},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, uint64(subReqCount)},
Counter{cSubDelRespFromE2, uint64(subReqCount)},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Req
subReqCount := 19
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubReqToE2, uint64(subReqCount)},
Counter{cSubRespFromE2, uint64(subReqCount)},
- Counter{cSubRespToXapp, uint64(subReqCount)},
- Counter{cSubDelReqFromXapp, 1},
+ Counter{cRestSubNotifToXapp, uint64(subReqCount)},
+ Counter{cRestSubDelReqFromXapp, 1},
Counter{cSubDelReqToE2, uint64(subReqCount)},
Counter{cSubDelRespFromE2, uint64(subReqCount)},
- Counter{cSubDelRespToXapp, 1},
+ Counter{cRestSubDelRespToXapp, 1},
})
// Req
CaseBegin("TestRESTSubReqReportSameActionDiffEventTriggerDefinitionLen")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
// Req2
params = xappConn2.GetRESTSubsReqReportParams(subReqCount)
params.SetMeid("RAN_NAME_1")
- eventTriggerDefinition := "1234"
+ eventTriggerDefinition := []int64{1234, 1}
params.SetSubEventTriggerDefinition(eventTriggerDefinition)
restSubId2 := xappConn2.SendRESTSubsReq(t, params)
CaseBegin("TestRESTSubReqReportSameActionDiffActionListLen")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
actionId := int64(1)
actionType := "report"
- actionDefinition := "56781"
+ actionDefinition := []int64{5678, 1}
subsequestActionType := "continue"
timeToWait := "w10ms"
params.AppendActionToActionToBeSetupList(actionId, actionType, actionDefinition, subsequestActionType, timeToWait)
CaseBegin("TestRESTSubReqReportSameActionDiffActionID")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
CaseBegin("TestRESTSubReqDiffActionType")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
CaseBegin("TestRESTSubReqPolicyAndSubDelOkSameAction")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
CaseBegin("TestRESTSubReqReportSameActionDiffActionDefinitionLen")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
// Req2
params = xappConn2.GetRESTSubsReqReportParams(subReqCount)
params.SetMeid("RAN_NAME_1")
- actionDefinition := "5678"
+ actionDefinition := []int64{5678, 1}
params.SetSubActionDefinition(actionDefinition)
restSubId2 := xappConn2.SendRESTSubsReq(t, params)
CaseBegin("TestRESTSubReqReportSameActionDiffActionDefinitionContents")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
// Req2
params = xappConn2.GetRESTSubsReqReportParams(subReqCount)
params.SetMeid("RAN_NAME_1")
- actionDefinition := "56782"
+ actionDefinition := []int64{56782}
params.SetSubActionDefinition(actionDefinition)
restSubId2 := xappConn2.SendRESTSubsReq(t, params)
CaseBegin("TestRESTSubReqReportSameActionDiffSubsAction")
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 2},
+ Counter{cRestSubReqFromXapp, 2},
+ Counter{cRestSubRespToXapp, 2},
Counter{cSubReqToE2, 2},
Counter{cSubRespFromE2, 2},
- Counter{cSubRespToXapp, 2},
- Counter{cSubDelReqFromXapp, 2},
+ Counter{cRestSubNotifToXapp, 2},
+ Counter{cRestSubDelReqFromXapp, 2},
Counter{cSubDelReqToE2, 2},
Counter{cSubDelRespFromE2, 2},
- Counter{cSubDelRespToXapp, 2},
+ Counter{cRestSubDelRespToXapp, 2},
})
// Req1
func TestRESTSubReqFailAsn1PackSubReqError(t *testing.T) {
mainCtrl.CounterValuesToBeVeriefied(t, CountersToBeAdded{
- Counter{cSubReqFromXapp, 1},
+ Counter{cRestSubReqFromXapp, 1},
+ Counter{cRestSubRespToXapp, 1},
Counter{cSubDelReqToE2, 1},
Counter{cSubDelFailFromE2, 1},
- Counter{cSubRespToXapp, 1},
+ Counter{cRestSubFailNotifToXapp, 1},
})
subReqCount := 1