diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-08-05 16:21:32 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-08-05 22:31:26 +0200 |
commit | 6b3e8e34c46152014a4cb3956290cb634dda9db5 (patch) | |
tree | 4159b8750113a56a8936015cce15e425e1c22143 | |
parent | 6dd5a0f829f247542043d484f2a7f920b10171b3 (diff) |
cbc: Introduce test TC_create_nack_mme
Related: OS#4945
Change-Id: I4589af1ddfac4c6e5bbd99e68ebc4b8dc2d5eb36
-rw-r--r-- | cbc/CBC_Tests.ttcn | 19 | ||||
-rw-r--r-- | 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 8daa3bfc..3394bede 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 c49461a4..4ab30c64 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); } |