bsc: Introduce test TC_mgwpool_pin_bts

Change-Id: If6e5ab5e5d3478621306e716836a5c7ddd129c0d
Related: SYS#5987
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index bde2594..0c6efd1 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -11928,6 +11928,36 @@
 	f_shutdown_helper();
 }
 
+/* Test BTS pinning to an MGW is applied */
+testcase TC_mgwpool_pin_bts() runs on test_CT {
+	var TestHdlrParams pars1 := f_gen_test_hdlr_pars();
+	var MSC_ConnHdlr vc_conn1;
+	pars1.mgwpool_idx := 0;
+
+	var TestHdlrParams pars2 := f_gen_test_hdlr_pars();
+	var MSC_ConnHdlr vc_conn2;
+	pars2.mgwpool_idx := 0; /* expect it in the first one, since the BTS is pinned to the first MGW */
+	pars2.media_nr := 2;
+
+	f_init(1, true, nr_mgw := 2);
+	f_sleep(1.0);
+
+	f_vty_mgw_enable(1);
+	f_vty_cfg_bts(BSCVTY, 0, { "mgw pool-target 0" });
+
+	vc_conn1 := f_start_handler_create(pars1);
+	vc_conn2 := f_start_handler_create(pars2);
+	connect(vc_conn1:COORD, vc_conn2:COORD);
+	f_start_handler_run(vc_conn1, refers(f_TC_mgwpool_call_seq_1), pars1);
+	f_start_handler_run(vc_conn2, refers(f_TC_mgwpool_call_seq_2), pars2);
+	vc_conn1.done;
+	vc_conn2.done;
+
+	f_vty_cfg_bts(BSCVTY, 0, { "no mgw pool-target" } );
+
+	f_shutdown_helper();
+}
+
 control {
 	/* CTRL interface testing */
 	execute( TC_ctrl_msc_connection_status() );
@@ -12267,6 +12297,7 @@
 	if (Misc_Helpers.f_osmo_repo_is("nightly")) {
 		execute( TC_mgwpool_all_used() );
 		execute( TC_mgwpool_blocked_not_used() );
+		execute( TC_mgwpool_pin_bts() );
 	}
 
 	/* Run TC_ho_out_of_this_bsc last, because it may trigger a segfault before osmo-bsc's patch