cbc: Introduce test TC_create_nack_mme

Related: OS#4945
Change-Id: I4589af1ddfac4c6e5bbd99e68ebc4b8dc2d5eb36
This commit is contained in:
Pau Espin 2022-08-05 16:21:32 +02:00
parent 6dd5a0f829
commit 6b3e8e34c4
2 changed files with 23 additions and 2 deletions

View File

@ -160,6 +160,7 @@ private function f_init_pars_mme(charstring mme_host, integer mme_sbcap_port,
sctp_is_client := sctp_is_client,
start_fn := refers(f_MME_ConnHdlr_start_fn_void),
exp_cbs_msg := omit,
write_replace_warning_req_cause := SBC_AP_Cause_message_accepted,
write_replace_warning_ind_cause := omit,
write_repl_unknown_TAIs := omit,
bcast_cell_id_list := omit
@ -717,6 +718,23 @@ testcase TC_create_nack_bsc() runs on test_CT {
f_shutdown_helper();
}
/* Test MME answering Write-Replace Warning Request with Write-Replace Warning Response cause != accepted */
private function f_mme_TC_create_nack_mme() runs on MME_ConnHdlr {
f_sbcap_handle_write_replace_warn_req(g_pars.exp_cbs_msg, 0);
}
testcase TC_create_nack_mme() runs on test_CT {
var template (value) CBS_Message msg := t_CBSmsg(48, 16752);
f_init(num_bsc := 0, num_mme := 1);
g_pars_MME[0].start_fn := refers(f_mme_TC_create_nack_mme);
g_pars_MME[0].exp_cbs_msg := valueof(msg);
g_pars_MME[0].write_replace_warning_req_cause := SBcAP_Cause_unspecifed_error;
f_start();
f_create_and_delete(valueof(msg));
f_shutdown_helper();
}
control {
execute( TC_rx_keepalive() );
execute( TC_rx_keepalive_timeout() );
@ -736,6 +754,7 @@ control {
execute( TC_ecbe_create_delete_etws_mme() );
execute( TC_create_nack_bsc() );
execute( TC_create_nack_mme() );
}
}

View File

@ -44,6 +44,7 @@ type record MME_ConnHdlrPars {
boolean sctp_is_client,
void_fn start_fn,
CBS_Message exp_cbs_msg optional,
SBC_AP_Cause write_replace_warning_req_cause,
SBC_AP_Cause write_replace_warning_ind_cause optional,
List_of_TAIs write_repl_unknown_TAIs optional,
CellId_Broadcast_List bcast_cell_id_list optional
@ -69,11 +70,12 @@ runs on MME_ConnHdlr {
tx := ts_SBCAP_WRITE_WARNING_RESP_UNKNOWN_TAI(
int2bit(msg.msg_id, 16),
int2bit(msg.ser_nr, 16),
SBC_AP_Cause_message_accepted,
g_pars.write_replace_warning_req_cause,
g_pars.write_repl_unknown_TAIs);
} else {
tx := ts_SBCAP_WRITE_WARNING_RESP(int2bit(msg.msg_id, 16),
int2bit(msg.ser_nr, 16));
int2bit(msg.ser_nr, 16),
g_pars.write_replace_warning_req_cause);
}
f_SBC_AP_send(tx, idx);
}