diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index f812fbefd..4b6fc4cf9 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -1475,6 +1475,27 @@ testcase TC_attach_no_imsi_response() runs on test_CT { vc_conn.done; } +private function f_sgsn_vty_destroy_subscriber_imsi(TELNETasp_PT pt, charstring imsi) { + f_vty_transceive(pt, "update-subscriber imsi " & imsi & " destroy"); +} + +testcase TC_attach_check_subscriber_list() runs on test_CT { + /* MS <-> SGSN: Attach + * VTY -> SGSN: Check if MS is in subscriber cache + */ + var BSSGP_ConnHdlr vc_conn; + var integer id := 34; + var charstring imsi := hex2str(f_gen_imsi(id)); + + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb[0], id); + vc_conn.done; + + f_vty_transceive_match(SGSNVTY, "show subscriber cache", pattern "* IMSI: {imsi}*"); + f_sgsn_vty_destroy_subscriber_imsi(SGSNVTY, imsi); +} + control { execute( TC_attach() ); execute( TC_attach_mnc3() ); @@ -1490,6 +1511,7 @@ control { execute( TC_attach_closed() ); execute( TC_attach_no_imei_response() ); execute( TC_attach_no_imsi_response() ); + execute( TC_attach_check_subscriber_list(), 10.0 ); execute( TC_attach_detach_check_subscriber_list(), 10.0 ); execute( TC_hlr_location_cancel_request_update(), 10.0 ); execute( TC_hlr_location_cancel_request_withdraw(), 10.0 );