cbc: Introduce test TC_cell_failure_restart_idle_mme
Related: OS#4945
Change-Id: Ie0ab3d4fbe1d9a824b1f69ceacbf7dfd4f0d9728
diff --git a/cbc/CBC_Tests.ttcn b/cbc/CBC_Tests.ttcn
index f8d04fe..aff5359 100644
--- a/cbc/CBC_Tests.ttcn
+++ b/cbc/CBC_Tests.ttcn
@@ -762,6 +762,31 @@
f_shutdown_helper();
}
+/* Test cell in MME going unavailable for broadcasting and going available again */
+private function f_mme_TC_cell_failure_restart_idle_mme() runs on MME_ConnHdlr {
+ var template (value) Global_ENB_ID enb_id := ts_Global_ENB_ID_MACRO(f_enc_mcc_mnc('901'H, '70'H), 90);
+ var template (value) Failed_Cell_List fail_list := {
+ ts_SBCAP_ECGI(f_enc_mcc_mnc('901'H, '70'H), 1234),
+ ts_SBCAP_ECGI(f_enc_mcc_mnc('901'H, '70'H), 5678)
+ };
+ f_SBC_AP_send(ts_SBCAP_PWS_FAILURE(fail_list, enb_id));
+
+ f_sleep(1.0);
+
+ var template (value) Restarted_Cell_List cell_list;
+ cell_list := {
+ ts_SBCAP_ECGI(f_enc_mcc_mnc('901'H, '70'H), 1234),
+ ts_SBCAP_ECGI(f_enc_mcc_mnc('901'H, '70'H), 5678)
+ };
+ f_SBC_AP_send(ts_SBCAP_PWS_RESTART(cell_list, enb_id));
+}
+testcase TC_cell_failure_restart_idle_mme() runs on test_CT {
+ f_init(num_bsc := 0, num_mme := 1);
+ g_pars_MME[0].start_fn := refers(f_mme_TC_cell_failure_restart_idle_mme);
+ f_start();
+ f_shutdown_helper();
+}
+
control {
execute( TC_rx_keepalive() );
execute( TC_rx_keepalive_timeout() );
@@ -784,6 +809,7 @@
execute( TC_create_nack_mme() );
execute( TC_cell_failure_restart_idle_bsc() );
+ execute( TC_cell_failure_restart_idle_mme() );
}
}
diff --git a/library/sbcap/SBC_AP_Templates.ttcn b/library/sbcap/SBC_AP_Templates.ttcn
index 68afb58..b002286 100644
--- a/library/sbcap/SBC_AP_Templates.ttcn
+++ b/library/sbcap/SBC_AP_Templates.ttcn
@@ -40,6 +40,17 @@
iE_Extensions := omit
}
+template (value) Global_ENB_ID ts_Global_ENB_ID_MACRO(PLMNidentity plmn_id,
+ integer macro_enb_id)
+
+:= {
+ pLMNidentity := plmn_id,
+ eNB_ID := {
+ macroENB_ID := int2bit(macro_enb_id, 20)
+ },
+ iE_Extensions := omit
+}
+
template (value) SBC_AP_PDU
ts_SBCAP_PWS_RESTART(
template (value) Restarted_Cell_List restart_cl,