//
//-----------------------------------------------------------------------------
func (xappConn *testingXappControl) handle_xapp_subs_req(t *testing.T, oldTrans *xappTransaction) *xappTransaction {
- xapp.Logger.Info("handle_xapp_subs_req")
+ xapp.Logger.Info("(%s) handle_xapp_subs_req", xappConn.desc)
e2SubsReq := e2asnpacker.NewPackerSubscriptionRequest()
//---------------------------------
trans = xappConn.newXappTransaction(nil, "RAN_NAME_1")
}
- params := &xapp.RMRParams{}
+ params := &RMRParams{&xapp.RMRParams{}}
params.Mtype = xapp.RIC_SUB_REQ
params.SubId = -1
params.Payload = packedMsg.Buf
//
//-----------------------------------------------------------------------------
func (xappConn *testingXappControl) handle_xapp_subs_resp(t *testing.T, trans *xappTransaction) int {
- xapp.Logger.Info("handle_xapp_subs_resp")
+ xapp.Logger.Info("(%s) handle_xapp_subs_resp", xappConn.desc)
e2SubsResp := e2asnpacker.NewPackerSubscriptionResponse()
var e2SubsId int
//
//-----------------------------------------------------------------------------
func (xappConn *testingXappControl) handle_xapp_subs_fail(t *testing.T, trans *xappTransaction) int {
- xapp.Logger.Info("handle_xapp_subs_fail")
+ xapp.Logger.Info("(%s) handle_xapp_subs_fail", xappConn.desc)
e2SubsFail := e2asnpacker.NewPackerSubscriptionFailure()
var e2SubsId int
//
//-----------------------------------------------------------------------------
func (xappConn *testingXappControl) handle_xapp_subs_del_req(t *testing.T, oldTrans *xappTransaction, e2SubsId int) *xappTransaction {
- xapp.Logger.Info("handle_xapp_subs_del_req")
+ xapp.Logger.Info("(%s) handle_xapp_subs_del_req", xappConn.desc)
e2SubsDelReq := e2asnpacker.NewPackerSubscriptionDeleteRequest()
//---------------------------------
trans = xappConn.newXappTransaction(nil, "RAN_NAME_1")
}
- params := &xapp.RMRParams{}
+ params := &RMRParams{&xapp.RMRParams{}}
params.Mtype = xapp.RIC_SUB_DEL_REQ
params.SubId = e2SubsId
params.Payload = packedMsg.Buf
//
//-----------------------------------------------------------------------------
func (xappConn *testingXappControl) handle_xapp_subs_del_resp(t *testing.T, trans *xappTransaction) {
- xapp.Logger.Info("handle_xapp_subs_del_resp")
+ xapp.Logger.Info("(%s) handle_xapp_subs_del_resp", xappConn.desc)
e2SubsDelResp := e2asnpacker.NewPackerSubscriptionDeleteResponse()
//---------------------------------
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (e2termConn *testingE2termControl) handle_e2term_subs_req(t *testing.T) (*e2ap.E2APSubscriptionRequest, *xapp.RMRParams) {
- xapp.Logger.Info("handle_e2term_subs_req")
+func (e2termConn *testingE2termControl) handle_e2term_subs_req(t *testing.T) (*e2ap.E2APSubscriptionRequest, *RMRParams) {
+ xapp.Logger.Info("(%s) handle_e2term_subs_req", e2termConn.desc)
e2SubsReq := e2asnpacker.NewPackerSubscriptionRequest()
//---------------------------------
return nil, nil
}
-func (e2termConn *testingE2termControl) handle_e2term_subs_resp(t *testing.T, req *e2ap.E2APSubscriptionRequest, msg *xapp.RMRParams) {
- xapp.Logger.Info("handle_e2term_subs_resp")
+func (e2termConn *testingE2termControl) handle_e2term_subs_resp(t *testing.T, req *e2ap.E2APSubscriptionRequest, msg *RMRParams) {
+ xapp.Logger.Info("(%s) handle_e2term_subs_resp", e2termConn.desc)
e2SubsResp := e2asnpacker.NewPackerSubscriptionResponse()
//---------------------------------
testError(t, "(%s) pack NOK %s", e2termConn.desc, packerr.Error())
}
- params := &xapp.RMRParams{}
+ params := &RMRParams{&xapp.RMRParams{}}
params.Mtype = xapp.RIC_SUB_RESP
params.SubId = msg.SubId
params.Payload = packedMsg.Buf
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (e2termConn *testingE2termControl) handle_e2term_subs_fail(t *testing.T, req *e2ap.E2APSubscriptionRequest, msg *xapp.RMRParams) {
- xapp.Logger.Info("handle_e2term_subs_fail")
+func (e2termConn *testingE2termControl) handle_e2term_subs_fail(t *testing.T, req *e2ap.E2APSubscriptionRequest, msg *RMRParams) {
+ xapp.Logger.Info("(%s) handle_e2term_subs_fail", e2termConn.desc)
e2SubsFail := e2asnpacker.NewPackerSubscriptionFailure()
//---------------------------------
testError(t, "(%s) pack NOK %s", e2termConn.desc, packerr.Error())
}
- params := &xapp.RMRParams{}
+ params := &RMRParams{&xapp.RMRParams{}}
params.Mtype = xapp.RIC_SUB_FAILURE
params.SubId = msg.SubId
params.Payload = packedMsg.Buf
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (e2termConn *testingE2termControl) handle_e2term_subs_del_req(t *testing.T) (*e2ap.E2APSubscriptionDeleteRequest, *xapp.RMRParams) {
- xapp.Logger.Info("handle_e2term_subs_del_req")
+func (e2termConn *testingE2termControl) handle_e2term_subs_del_req(t *testing.T) (*e2ap.E2APSubscriptionDeleteRequest, *RMRParams) {
+ xapp.Logger.Info("(%s) handle_e2term_subs_del_req", e2termConn.desc)
e2SubsDelReq := e2asnpacker.NewPackerSubscriptionDeleteRequest()
//---------------------------------
return true
}
-func (e2termConn *testingE2termControl) handle_e2term_subs_del_resp(t *testing.T, req *e2ap.E2APSubscriptionDeleteRequest, msg *xapp.RMRParams) {
- xapp.Logger.Info("handle_e2term_subs_del_resp")
+func (e2termConn *testingE2termControl) handle_e2term_subs_del_resp(t *testing.T, req *e2ap.E2APSubscriptionDeleteRequest, msg *RMRParams) {
+ xapp.Logger.Info("(%s) handle_e2term_subs_del_resp", e2termConn.desc)
e2SubsDelResp := e2asnpacker.NewPackerSubscriptionDeleteResponse()
//---------------------------------
testError(t, "(%s) pack NOK %s", e2termConn.desc, packerr.Error())
}
- params := &xapp.RMRParams{}
+ params := &RMRParams{&xapp.RMRParams{}}
params.Mtype = xapp.RIC_SUB_DEL_RESP
params.SubId = msg.SubId
params.Payload = packedMsg.Buf
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-func (e2termConn *testingE2termControl) handle_e2term_subs_del_fail(t *testing.T, req *e2ap.E2APSubscriptionDeleteRequest, msg *xapp.RMRParams) {
- xapp.Logger.Info("handle_e2term_del_subs_fail")
+func (e2termConn *testingE2termControl) handle_e2term_subs_del_fail(t *testing.T, req *e2ap.E2APSubscriptionDeleteRequest, msg *RMRParams) {
+ xapp.Logger.Info("(%s) handle_e2term_del_subs_fail", e2termConn.desc)
e2SubsDelFail := e2asnpacker.NewPackerSubscriptionDeleteFailure()
//---------------------------------
testError(t, "(%s) pack NOK %s", e2termConn.desc, packerr.Error())
}
- params := &xapp.RMRParams{}
+ params := &RMRParams{&xapp.RMRParams{}}
params.Mtype = xapp.RIC_SUB_DEL_FAILURE
params.SubId = msg.SubId
params.Payload = packedMsg.Buf
return false
}
-func (mc *testingMainControl) get_seqcnt(t *testing.T) uint16 {
+func (mc *testingMainControl) get_subid(t *testing.T) uint16 {
mc.c.registry.mutex.Lock()
defer mc.c.registry.mutex.Unlock()
- return mc.c.registry.counter
+ return mc.c.registry.subIds[0]
}
-func (mc *testingMainControl) wait_seqcnt_change(t *testing.T, orig uint16, secs int) (uint16, bool) {
+func (mc *testingMainControl) wait_subid_change(t *testing.T, origSubId uint16, secs int) (uint16, bool) {
i := 1
for ; i <= secs*2; i++ {
mc.c.registry.mutex.Lock()
- curr := mc.c.registry.counter
+ currSubId := mc.c.registry.subIds[0]
mc.c.registry.mutex.Unlock()
- if curr != orig {
- return curr, true
+ if currSubId != origSubId {
+ return currSubId, true
}
time.Sleep(500 * time.Millisecond)
}
- testError(t, "(general) no seq change within %d secs", secs)
+ testError(t, "(general) no subId change within %d secs", secs)
return 0, false
}
return 0, false
}
+//-----------------------------------------------------------------------------
+// TestSubReqAndRouteNok
+//
+// stub stub
+// +-------+ +---------+ +---------+
+// | xapp | | submgr | | rtmgr |
+// +-------+ +---------+ +---------+
+// | | |
+// | SubReq | |
+// |------------->| |
+// | | |
+// | | RouteCreate |
+// | |------------->|
+// | | |
+// | | RouteCreate |
+// | | status:400 |
+// | |<-------------|
+// | | |
+// | [SUBS INT DELETE] |
+// | | |
+//
+//-----------------------------------------------------------------------------
+
+func TestSubReqAndRouteNok(t *testing.T) {
+ xapp.Logger.Info("TestSubReqAndRouteNok")
+
+ waiter := rtmgrHttp.AllocNextEvent(false)
+ newSubsId := mainCtrl.get_subid(t)
+ xappConn1.handle_xapp_subs_req(t, nil)
+ waiter.WaitResult(t)
+
+ //Wait that subs is cleaned
+ mainCtrl.wait_subs_clean(t, int(newSubsId), 10)
+}
+
//-----------------------------------------------------------------------------
// TestSubReqAndSubDelOk
//
func TestSubReqAndSubDelOk(t *testing.T) {
xapp.Logger.Info("TestSubReqAndSubDelOk")
+ waiter := rtmgrHttp.AllocNextEvent(true)
cretrans := xappConn1.handle_xapp_subs_req(t, nil)
+ waiter.WaitResult(t)
+
crereq, cremsg := e2termConn.handle_e2term_subs_req(t)
e2termConn.handle_e2term_subs_resp(t, crereq, cremsg)
e2SubsId := xappConn1.handle_xapp_subs_resp(t, cretrans)
-
deltrans := xappConn1.handle_xapp_subs_del_req(t, nil, e2SubsId)
delreq, delmsg := e2termConn.handle_e2term_subs_del_req(t)
+
+ waiter = rtmgrHttp.AllocNextEvent(true)
e2termConn.handle_e2term_subs_del_resp(t, delreq, delmsg)
xappConn1.handle_xapp_subs_del_resp(t, deltrans)
+ waiter.WaitResult(t)
//Wait that subs is cleaned
mainCtrl.wait_subs_clean(t, e2SubsId, 10)
// Wait that subs is cleaned
mainCtrl.wait_subs_clean(t, e2SubsId, 10)
}
-
-/* */