SGSN_Tests: add test case TC_attach_pdp_act_gmm_detach
MS -> SGSN: Attach Request
MS <-> SGSN: [..]
MS -> SGSN: Attach Complete
MS -> SGSN: PDP Activate Request
MS <- SGSN: PDP Activate Accept
MS -> SGSN: GMM Detach Request
MS <- SGSN: GMM Detach Accept
Related-to: OS#1881
Change-Id: Ibafbbb8ed99357d1e2e13d576b2624939388e85b
diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn
index 89401f4..2bdbfb9 100644
--- a/sgsn/SGSN_Tests.ttcn
+++ b/sgsn/SGSN_Tests.ttcn
@@ -2289,6 +2289,31 @@
vc_conn.done;
}
+private function f_TC_attach_pdp_act_gmm_detach(charstring id) runs on BSSGP_ConnHdlr {
+ var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));
+
+ /* first perform regular attach */
+ f_TC_attach(id);
+ /* then activate PDP context */
+ f_pdp_ctx_act(apars);
+ /* do a normal detach */
+ f_detach_mo(c_GMM_DTT_MO_GPRS, false, true);
+}
+
+testcase TC_attach_pdp_act_gmm_detach() runs on test_CT {
+ /* MS -> SGSN: Attach Request
+ * MS <-> SGSN: [..]
+ * MS -> SGSN: Attach Complete
+ * MS -> SGSN: PDP Activate Request
+ * MS <- SGSN: PDP Activate Accept
+ * MS -> SGSN: GMM Detach Request
+ * MS <- SGSN: GMM Detach Accept
+ */
+ var BSSGP_ConnHdlr vc_conn;
+ f_init();
+ vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_gmm_detach), testcasename(), g_gb, 26);
+ vc_conn.done;
+}
control {
@@ -2334,6 +2359,7 @@
execute( TC_attach_restart_ctr_create() );
execute( TC_attach_pdp_act_deact_mt_t3395_expire() );
execute( TC_attach_pdp_act_user_error_ind_ggsn() );
+ execute( TC_attach_pdp_act_gmm_detach() );
execute( TC_attach_gmm_attach_req_while_gmm_attach() );
execute( TC_xid_empty_l3() );