diff --git a/cbc/CBC_Tests.ttcn b/cbc/CBC_Tests.ttcn index 3394bede8..f8d04fe47 100644 --- a/cbc/CBC_Tests.ttcn +++ b/cbc/CBC_Tests.ttcn @@ -735,6 +735,33 @@ testcase TC_create_nack_mme() runs on test_CT { f_shutdown_helper(); } + +/* Test cell in BSC going unavailable for broadcasting and going available again */ +private function f_bsc_TC_cell_failure_restart_idle_bsc() runs on BSC_ConnHdlr { + var template (value) CBSP_FailureListItems fail_list := { + CBSP_FailureListItem_CGI(ts_BSSMAP_CI_CGI('901'H, '70'H, 23, 42), CBSP_CAUSE_CB_NOT_OPERATIONAL), + CBSP_FailureListItem_CGI(ts_BSSMAP_CI_CGI('901'H, '70'H, 24, 42), CBSP_CAUSE_CB_NOT_OPERATIONAL) + }; + f_cbsp_send(ts_CBSP_FAILURE(fail_list, CBSP_BC_MSGT_CBS)); + f_cbsp_send(ts_CBSP_FAILURE(fail_list, CBSP_BC_MSGT_EMERG)); + + f_sleep(1.0); + + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CGI({ + ts_BSSMAP_CI_CGI('901'H, '70'H, 23, 42), + ts_BSSMAP_CI_CGI('901'H, '70'H, 24, 42) + }); + f_cbsp_send(ts_CBSP_RESTART(cell_list, CBSP_BC_MSGT_CBS, CBSP_RI_DATA_LOST)); + f_cbsp_send(ts_CBSP_RESTART(cell_list, CBSP_BC_MSGT_EMERG, CBSP_RI_DATA_LOST)); +} +testcase TC_cell_failure_restart_idle_bsc() runs on test_CT { + f_init(num_bsc := 1, num_mme := 0); + g_pars_BSC[0].start_fn := refers(f_bsc_TC_cell_failure_restart_idle_bsc); + f_start(); + f_shutdown_helper(); +} + control { execute( TC_rx_keepalive() ); execute( TC_rx_keepalive_timeout() ); @@ -755,6 +782,8 @@ control { execute( TC_create_nack_bsc() ); execute( TC_create_nack_mme() ); + + execute( TC_cell_failure_restart_idle_bsc() ); } }