stp: Add tests for snm_inactive quirk

Change-Id: Ic2a41e450a44794c8cf1c5a29871655f2cca4f6b
Related: OS#5148
diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn
index 78819b4..dfa82a2 100644
--- a/stp/STP_Tests_M3UA.ttcn
+++ b/stp/STP_Tests_M3UA.ttcn
@@ -931,6 +931,52 @@
 	f_clear_m3ua();
 }
 
+/* Expect a normal ASP to reject any [S]SNM messages in ASP-INACTIVE state */
+testcase TC_clnt_no_snm_inactive() runs on RAW_M3UA_CT {
+	f_init_m3ua();
+	f_quirk("no_notify");
+	f_quirk("daud_in_asp");
+	f_no_quirk("snm_inactive");
+	f_init_m3ua_srv();
+
+	/* bring ASP only UP (into INACTIVE state), but not ACTIVE! */
+	f_M3UA_CLNT_asp_up(M3UA_SRV(0));
+	f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ASPAC(*, *));
+
+	var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) };
+	f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs));
+	f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ERR('00000006'O, omit));
+	setverdict(pass);
+
+	f_no_quirk("no_notify");
+	f_no_quirk("daud_in_asp");
+	f_clear_m3ua();
+}
+
+/* quirk 'snm_inactive': Process [S]SNM in ASP-INACTIVE state */
+testcase TC_clnt_quirk_snm_inactive() runs on RAW_M3UA_CT {
+	f_init_m3ua();
+	f_quirk("no_notify");
+	f_quirk("daud_in_asp");
+	f_quirk("snm_inactive");
+	f_init_m3ua_srv();
+
+	/* bring ASP only UP (into INACTIVE state), but not ACTIVE! */
+	f_M3UA_CLNT_asp_up(M3UA_SRV(0));
+	f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ASPAC(*, *));
+
+	var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) };
+	f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs));
+	f_M3UA_exp(M3UA_SRV(0), tr_M3UA_DAVA(aff_pcs));
+	setverdict(pass);
+
+	f_no_quirk("no_notify");
+	f_no_quirk("daud_in_asp");
+	f_no_quirk("snm_inactive");
+	f_clear_m3ua();
+}
+
+
 control {
 	/* M3UA Tests */
 	execute( TC_connect_asp_up() );
@@ -968,6 +1014,8 @@
 		execute( TC_clnt_quirk_no_notify_asp_act() );
 		execute( TC_clnt_no_daud_in_asp() );
 		execute( TC_clnt_quirk_daud_in_asp() );
+		execute( TC_clnt_no_snm_inactive() );
+		execute( TC_clnt_quirk_snm_inactive() );
 	}
 
 	/* M3UA SSNM tests */