diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2020-11-19 15:58:43 +0100 |
---|---|---|
committer | daniel <dwillmann@sysmocom.de> | 2020-11-20 15:08:35 +0000 |
commit | 087a33d5d49879d87af019fa8641d2f5e66a2333 (patch) | |
tree | f465ef59b893d0322b12ce30dc73ee1d0dfb0ba1 | |
parent | fa67f49798bd0aab455651bf1420856a527ceab2 (diff) |
gbproxy: Add test for BSSGP resume procedure
Change-Id: I7e724b97ebfde4ed5824515065fbedca8bcf4c64
Related: SYS#5210
-rw-r--r-- | gbproxy/GBProxy_Tests.ttcn | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index 61bc2120..bf777cc8 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -821,6 +821,46 @@ testcase TC_suspend() runs on test_CT f_cleanup(); } +private function f_TC_resume(charstring id) runs on BSSGP_ConnHdlr { + var integer i; + + /* TODO: Generate RA ID for each ConnHdlr */ + var RoutingAreaIdentification ra_id := g_pars.pcu[0].cfg.bvc[0].cell_id.ra_id; + for (i := 0; i < 10; i := i+1) { + + var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_RESUME(g_pars.tlli, ra_id, int2oct(i, 1)); + /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */ + var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_RESUME(g_pars.tlli, ra_id, int2oct(i, 1)); + + f_pcu2sgsn(pdu_tx, pdu_rx); + + pdu_tx := ts_BSSGP_RESUME_ACK(g_pars.tlli, ra_id); + /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */ + pdu_rx := tr_BSSGP_RESUME_ACK(g_pars.tlli, ra_id); + + f_sgsn2pcu(pdu_tx, pdu_rx); + + /* These messages are simple passed through so just also test sending NACK */ + pdu_tx := ts_BSSGP_RESUME_NACK(g_pars.tlli, ra_id, BSSGP_CAUSE_UNKNOWN_MS); + /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */ + pdu_rx := tr_BSSGP_RESUME_NACK(g_pars.tlli, ra_id, BSSGP_CAUSE_UNKNOWN_MS); + + f_sgsn2pcu(pdu_tx, pdu_rx); + } + setverdict(pass); +} +testcase TC_resume() runs on test_CT +{ + var BSSGP_ConnHdlr vc_conn; + f_init(); + + vc_conn := f_start_handler(refers(f_TC_resume), testcasename(), g_pcu, g_sgsn, 6); + vc_conn.done; + /* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */ + + f_cleanup(); +} + control { execute( TC_BVC_bringup() ); @@ -830,6 +870,7 @@ control { execute( TC_ra_capability_upd() ); execute( TC_radio_status() ); execute( TC_suspend() ); + execute( TC_resume() ); } |