Add test for RABAssingResponse with FailedList

Change-Id: I043014929de5145f06d0a650f36d59c15e0d4044
Related: OS#5152
This commit is contained in:
Daniel Willmann 2022-02-21 17:07:02 +01:00
parent 6289ea86c6
commit 3e15b7b41a
1 changed files with 50 additions and 3 deletions

View File

@ -758,11 +758,15 @@ function f_handle_crcx(inout MgcpParameters pars, MgcpCommand mgcp_cmd) return t
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 @@ friend function f_create_rab(MgcpParameters pars) runs on ConnHdlr {
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 @@ private altstep as_mgcp_dlcx(inout TestHdlrParams pars) runs on ConnHdlr {
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 @@ testcase TC_rab_assignment() runs on test_CT {
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 @@ control {
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());
}