daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27297 )
Change subject: Add test for RABAssingResponse with FailedList ......................................................................
Add test for RABAssingResponse with FailedList
Change-Id: I043014929de5145f06d0a650f36d59c15e0d4044 Related: OS#5152 --- M hnbgw/HNBGW_Tests.ttcn 1 file changed, 50 insertions(+), 3 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn index 959fe87..314b0df 100644 --- a/hnbgw/HNBGW_Tests.ttcn +++ b/hnbgw/HNBGW_Tests.ttcn @@ -758,11 +758,15 @@ return mgcp_resp; }
-friend function f_create_rab(MgcpParameters pars) runs on ConnHdlr { +friend function f_create_rab(inout MgcpParameters pars) runs on ConnHdlr { + f_rab_ass_req(pars); + f_rab_ass_resp(pars); +} + +friend function f_rab_ass_req(inout MgcpParameters pars) runs on ConnHdlr { var MgcpCommand mgcp_cmd; var RANAP_PDU tx; var template RAB_SetupOrModifyList rab_sml; - var template RAB_SetupOrModifiedList rab_smdl; timer T := 5.0;
/* Send RAB Assignment Request */ @@ -795,6 +799,13 @@ setverdict(fail, "Timeout waiting for Iuh ", tx); } } +} + +friend function f_rab_ass_resp(inout MgcpParameters pars) runs on ConnHdlr { + var MgcpCommand mgcp_cmd; + var RANAP_PDU tx; + var template RAB_SetupOrModifiedList rab_smdl; + timer T := 5.0;
/* Send back RAB Assignment Response via Iuh */ rab_smdl := ts_RAB_SMdL(t_RAB_id(23), f_ts_RAB_TLA(pars.hnb_rtp_ip), t_RAB_binding_port(pars.hnb_rtp_port)); @@ -842,7 +853,7 @@ log("DLCX", mgcp_cmd); MGCP.send(ts_DLCX_ACK2(mgcp_cmd.line.trans_id)); pars.mgcp_pars.got_dlcx_count := pars.mgcp_pars.got_dlcx_count + 1; - if (pars.mgcp_pars.got_dlcx_count == 1) { + if (pars.mgcp_pars.got_dlcx_count != pars.mgcp_pars.got_crcx_count) { repeat; } setverdict(pass); @@ -887,6 +898,41 @@ vc_conn.done; }
+friend function f_tc_rab_assign_fail(charstring id, TestHdlrParams pars) runs on ConnHdlr { + var MgcpCommand mgcp_cmd; + var RANAP_PDU tx; + timer T := 5.0; + + f_init_handler(pars); + f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit}); + + tx := f_build_initial_ue(g_pars); + f_iuh2iu_connect(tx); + + f_rab_ass_req(pars.mgcp_pars); + + /* Send RAB failed list in response */ + tx := valueof(ts_RANAP_RabAssResp(rab_fl := ts_RAB_FL(t_RAB_id(23), ts_RanapCause_om_intervention))); + f_iuh2iu(tx); + + T.start; + alt { + [] as_mgcp_dlcx(pars) {} + [] T.timeout { + setverdict(fail, "Timeout waiting for DLCX"); + } + } +} + +testcase TC_rab_assign_fail() runs on test_CT { + var ConnHdlr vc_conn; + f_init(); + f_start_hnbs(); + + vc_conn := f_start_handler_with_pars(refers(f_tc_rab_assign_fail), t_pars(4)); + vc_conn.done; +} + friend function f_tc_rab_release(charstring id, TestHdlrParams pars) runs on ConnHdlr { var MgcpCommand mgcp_cmd; var RANAP_PDU tx; @@ -1012,6 +1058,7 @@ execute(TC_ranap_ps_bidir()); execute(TC_rab_assignment()); execute(TC_rab_release()); + execute(TC_rab_assign_fail()); execute(TC_ranap_cs_mo_disconnect()); execute(TC_ranap_ps_mo_disconnect()); }