fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37199?usp=email )


Change subject: s1gw: add TC_conn_term_{by_mme,mme_unavail}
......................................................................

s1gw: add TC_conn_term_{by_mme,mme_unavail}

Change-Id: I5ac2020160c914db0882f148469570cfb142b18d
Related: SYS#6772
---
M s1gw/S1GW_Tests.ttcn
1 file changed, 70 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/99/37199/1

diff --git a/s1gw/S1GW_Tests.ttcn b/s1gw/S1GW_Tests.ttcn
index 6237557..30dcd46 100644
--- a/s1gw/S1GW_Tests.ttcn
+++ b/s1gw/S1GW_Tests.ttcn
@@ -90,8 +90,10 @@
        var ConnHdlr vc_conn;

        vc_conn := ConnHdlr.create("ConnHdlr-" & testcasename());
-       connect(vc_conn:S1AP_CONN, vc_S1APSRV:S1AP_CLIENT);
-       connect(vc_conn:S1AP_PROC, vc_S1APSRV:S1AP_PROC);
+       if (vc_S1APSRV.running) {
+               connect(vc_conn:S1AP_CONN, vc_S1APSRV:S1AP_CLIENT);
+               connect(vc_conn:S1AP_PROC, vc_S1APSRV:S1AP_PROC);
+       }
        vc_conn.start(derefers(fn)(pars));

        return vc_conn;
@@ -214,9 +216,65 @@
        }
 }

+
+/* MME terminates connection, expect S1GW to terminate the eNB connection */
+function f_TC_conn_term_by_mme(ConnHdlrPars pars) runs on ConnHdlr {
+       var Global_ENB_ID genb_id := valueof(ts_Global_ENB_ID(pars.seed));
+
+       f_ConnHdlr_register(genb_id);
+
+       f_ConnHdlr_connect();
+       f_ConnHdlr_setup(genb_id);
+       f_sleep(0.5); /* keep the connection idle for some time */
+
+       /* MME (S1AP_Server_CT) terminates connection */
+       f_ConnHdlr_close_conn(genb_id);
+       /* expect our eNB connection to be released gracefully */
+       S1AP_ENB.receive(tr_SctpShutDownEvent(g_s1ap_conn_id));
+       S1AP_ENB.receive(tr_SctpAssocChange(SCTP_SHUTDOWN_COMP, 
g_s1ap_conn_id));
+       S1AP_ENB.receive(PortEvent:{connClosed := ?});
+
+       f_ConnHdlr_unregister(genb_id);
+}
+testcase TC_conn_term_by_mme() runs on test_CT {
+       var ConnHdlrPars pars := { seed := 0 };
+       var ConnHdlr vc_conn;
+
+       f_init();
+       f_init_s1ap_srv();
+
+       vc_conn := f_ConnHdlr_spawn(refers(f_TC_conn_term_by_mme), pars);
+       vc_conn.done;
+}
+
+
+/* MME is not available, expect S1GW to terminate the eNB connection */
+function f_TC_conn_term_mme_unavail(ConnHdlrPars pars) runs on ConnHdlr {
+       /* establish an eNB connection to the S1GW */
+       f_ConnHdlr_connect();
+       /* expect our eNB connection to be released gracefully */
+       S1AP_ENB.receive(tr_SctpShutDownEvent(g_s1ap_conn_id));
+       S1AP_ENB.receive(tr_SctpAssocChange(SCTP_SHUTDOWN_COMP, 
g_s1ap_conn_id));
+       S1AP_ENB.receive(PortEvent:{connClosed := ?});
+       setverdict(pass);
+}
+testcase TC_conn_term_mme_unavail() runs on test_CT {
+       var ConnHdlrPars pars := { seed := 0 };
+       var ConnHdlr vc_conn;
+
+       f_init();
+       f_init_s1ap_srv();
+       vc_S1APSRV.stop;
+
+       vc_conn := f_ConnHdlr_spawn(refers(f_TC_conn_term_mme_unavail), pars);
+       vc_conn.done;
+}
+
 control {
        execute( TC_setup() );
        execute( TC_setup_multi() );
+       execute( TC_conn_term_by_mme() );
+       execute( TC_conn_term_mme_unavail() );
 }

 }

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37199?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I5ac2020160c914db0882f148469570cfb142b18d
Gerrit-Change-Number: 37199
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <[email protected]>
Gerrit-MessageType: newchange

Reply via email to