stp: Introduce TC_tmt_override

Change-Id: Id99ec3eaa431512114817d2a2af77013762ab2b9
diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn
index f7273dc..946a950 100644
--- a/stp/STP_Tests_IPA.ttcn
+++ b/stp/STP_Tests_IPA.ttcn
@@ -33,7 +33,7 @@
 
 import from STP_Tests_Common all;
 
-private const integer NR_IPA := 4;
+private const integer NR_IPA := 7;
 
 type record of charstring AspNameArray;
 
@@ -43,7 +43,10 @@
 	AspNameArray mp_ipa_as_names := {"ipa-as-loadshare-sender",
 					 "ipa-as-loadshare-receiver",
 					 "ipa-as-loadshare-receiver",
-					 "ipa-as-dynamic-asp"
+					 "ipa-as-dynamic-asp",
+					 "ipa-as-override-sender",
+					 "ipa-as-override-receiver",
+					 "ipa-as-override-receiver"
 					 };
 }
 
@@ -165,6 +168,27 @@
 	}
 }
 
+/* test "traffic-mode override" behavior */
+testcase TC_tmt_override() runs on IPA_CT {
+	f_init_ipa();
+
+	/* bring up the 'sender' side (single ASP in AS) */
+	f_connect_ipa(4);
+	/* activate the first 'receiver' side ASP */
+	f_connect_ipa(5);
+	f_sleep(1.0);
+
+	/* verify traffic is routed from sender to [sole] receiver */
+	f_test_traffic(4, 5);
+
+	/* activate the second 'receiver' side ASP */
+	f_connect_ipa(6);
+	f_sleep(1.0);
+
+	/* verify traffic is routed from sender to new receiver */
+	f_test_traffic(4, 6);
+}
+
 private altstep as_count_rx(integer idx, template (present) octetstring exp, inout integer counter)
 runs on IPA_CT {
 	[] IPA[idx].receive(t_ASP_MTP3_TRANSFERind(?, ?, ?, ?, exp)) {
@@ -214,11 +238,11 @@
 	setverdict(pass);
 }
 
-
 control {
 	execute( TC_unknown_client_nodynamic() );
 	execute( TC_known_client_nodynamic() );
 	execute( TC_unknown_client_dynamic() );
+	execute (TC_tmt_override() );
 	execute( TC_tmt_loadshare() );
 }