aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2022-08-05 16:21:32 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2022-08-05 22:31:26 +0200
commit6b3e8e34c46152014a4cb3956290cb634dda9db5 (patch)
tree4159b8750113a56a8936015cce15e425e1c22143
parent6dd5a0f829f247542043d484f2a7f920b10171b3 (diff)
cbc: Introduce test TC_create_nack_mme
-rw-r--r--cbc/CBC_Tests.ttcn19
-rw-r--r--cbc/MME_ConnectionHandler.ttcn6
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);
}