MME_Tests: add testcase TC_s1ap_reset

There is currently no testcase that makes sure that the S1AP reset
works.

Related: OS#5760
Change-Id: I23f4d5f2c39790b6cb0dacaec1e31912177af3ec
diff --git a/mme/MME_Tests.ttcn b/mme/MME_Tests.ttcn
index ebfb673..17a4d60 100644
--- a/mme/MME_Tests.ttcn
+++ b/mme/MME_Tests.ttcn
@@ -905,6 +905,31 @@
 	vc_conn.done;
 }
 
+/* Successful RESET procedure from eNB to MME */
+testcase TC_s1ap_reset() runs on MTC_CT {
+	var charstring id := testcasename();
+	f_init_s1ap(id, 3);
+	f_s1ap_setup(0);
+
+	var template (value) Cause reset_cause := {misc := om_intervention};
+	var template (value) ResetType reset_type := {s1_Interface := reset_all};
+	timer T := 5.0;
+
+	S1AP_UNIT[0].send(ts_S1AP_Reset(reset_cause, reset_type));
+	T.start;
+	alt {
+	[] S1AP_UNIT[0].receive(tr_S1AP_ResetAck_any) {
+		setverdict(pass);
+		}
+	[] S1AP_UNIT[0].receive {
+		setverdict(fail, "Received unexpected S1AP");
+		}
+	[] T.timeout {
+		setverdict(fail, "Timeout waiting for S1AP Setup result");
+		}
+	}
+}
+
 control {
 	execute( TC_s1ap_setup_wrong_plmn() );
 	execute( TC_s1ap_setup_wrong_tac() );
@@ -912,6 +937,8 @@
 	execute( TC_s1ap_attach() );
 	execute( TC_gn_echo_request() );
 	execute( TC_RIM_RAN_INF() );
+	execute( TC_s1ap_reset() );
 }
 
+
 }