From 6b3e8e34c46152014a4cb3956290cb634dda9db5 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 5 Aug 2022 16:21:32 +0200 Subject: [PATCH] cbc: Introduce test TC_create_nack_mme Related: OS#4945 Change-Id: I4589af1ddfac4c6e5bbd99e68ebc4b8dc2d5eb36 --- cbc/CBC_Tests.ttcn | 19 +++++++++++++++++++ cbc/MME_ConnectionHandler.ttcn | 6 ++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/cbc/CBC_Tests.ttcn b/cbc/CBC_Tests.ttcn index 8daa3bfc4..3394bede8 100644 --- a/cbc/CBC_Tests.ttcn +++ b/cbc/CBC_Tests.ttcn @@ -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() ); } } diff --git a/cbc/MME_ConnectionHandler.ttcn b/cbc/MME_ConnectionHandler.ttcn index c49461a4b..4ab30c644 100644 --- a/cbc/MME_ConnectionHandler.ttcn +++ b/cbc/MME_ConnectionHandler.ttcn @@ -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); }