cbc: test concurrent CBS message

Test having more than one active CBS message being broadcasted to an
MME.

Related: OS#4945
Change-Id: Ie9208c33f3b2586e19b446318b6ae9da07a76506
This commit is contained in:
Pau Espin 2022-08-02 18:53:08 +02:00
parent 74f62981a8
commit a5536b697d
1 changed files with 58 additions and 0 deletions

View File

@ -596,6 +596,63 @@ testcase TC_ecbe_create_delete_mme_server() runs on test_CT {
f_shutdown_helper();
}
/* Create 2 concurrent messages against an MME, then delete them */
private function f_mme_TC_concurrent_cbs_msg_mme() runs on MME_ConnHdlr {
var CBS_Message msg[2];
msg[0] := g_pars.exp_cbs_msg;
msg[1] := msg[0];
msg[1].msg_id := msg[0].msg_id + 1;
for (var integer i := 0; i < lengthof(msg); i := i + 1) {
f_sbcap_handle_write_replace_warn_req(msg[i], 0);
if (ispresent(g_pars.write_replace_warning_ind_cause) and
ispresent(g_pars.bcast_cell_id_list)) {
f_sbcap_tx_write_replace_warn_ind(0, msg[i],
g_pars.write_replace_warning_ind_cause,
g_pars.bcast_cell_id_list)
}
}
/* Now handle Stop: */
for (var integer i := 0; i < lengthof(msg); i := i + 1) {
f_sbcap_handle_stop_warn_req(0, msg[i]);
}
}
testcase TC_concurrent_cbs_msg_mme() runs on test_CT {
var template (value) CellId_Broadcast_List bcast_cell_id_li;
var CBS_Message msg[2];
var EcbeCbcMessage ecbe;
msg[0] := valueof(t_CBSmsg(49, 16752));
msg[1] := msg[0];
msg[1].msg_id := msg[0].msg_id + 1;
f_init(num_bsc := 0, num_mme := 1);
bcast_cell_id_li := {
ts_SBCAP_CellId_Broadcast_List_Item(ts_SBCAP_ECGI(f_enc_mcc_mnc('901'H, '70'H), 1234))
};
g_pars_MME[0].start_fn := refers(f_mme_TC_concurrent_cbs_msg_mme);
g_pars_MME[0].exp_cbs_msg := msg[0];
g_pars_MME[0].write_replace_warning_ind_cause := SBC_AP_Cause_message_accepted;
g_pars_MME[0].bcast_cell_id_list := valueof(bcast_cell_id_li);
f_start();
for (var integer i := 0; i < lengthof(msg); i := i + 1) {
ecbe := f_cbs2ecbe(msg[i], "TTCN-3");
f_ecbe_tx_post_cbs(ecbe);
f_ecbe_rx_resp(201);
}
f_sleep(2.0);
for (var integer i := 0; i < lengthof(msg); i := i + 1) {
f_ecbe_tx_delete_cbs(msg[i].msg_id);
f_ecbe_rx_resp(200);
}
f_shutdown_helper();
}
control {
execute( TC_rx_keepalive() );
execute( TC_rx_keepalive_timeout() );
@ -609,6 +666,7 @@ control {
execute( TC_ecbe_create_delete_bsc_and_mme() );
execute( TC_ecbe_create_delete_bsc_server() );
execute( TC_ecbe_create_delete_mme_server() );
execute( TC_concurrent_cbs_msg_mme() );
}
}