gbproxy: Add test for the suspend procedure

Change-Id: Ib64c1711f7983940aa41e1b570c90015fe236e5b
Related: SYS#5210
This commit is contained in:
Daniel Willmann 2020-11-19 15:48:05 +01:00 committed by daniel
parent 54833f2481
commit fa67f49798
1 changed files with 39 additions and 0 deletions

View File

@ -781,7 +781,45 @@ testcase TC_radio_status() runs on test_CT
f_cleanup();
}
private function f_TC_suspend(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_SUSPEND(g_pars.tlli, ra_id);
/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_SUSPEND(g_pars.tlli, ra_id);
f_pcu2sgsn(pdu_tx, pdu_rx);
pdu_tx := ts_BSSGP_SUSPEND_ACK(g_pars.tlli, ra_id, int2oct(i, 1));
/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
pdu_rx := tr_BSSGP_SUSPEND_ACK(g_pars.tlli, ra_id, int2oct(i, 1));
f_sgsn2pcu(pdu_tx, pdu_rx);
/* These messages are simple passed through so just also test sending NACK */
pdu_tx := ts_BSSGP_SUSPEND_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_SUSPEND_NACK(g_pars.tlli, ra_id, BSSGP_CAUSE_UNKNOWN_MS);
f_sgsn2pcu(pdu_tx, pdu_rx);
}
setverdict(pass);
}
testcase TC_suspend() runs on test_CT
{
var BSSGP_ConnHdlr vc_conn;
f_init();
vc_conn := f_start_handler(refers(f_TC_suspend), 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 {
@ -791,6 +829,7 @@ control {
execute( TC_ra_capability() );
execute( TC_ra_capability_upd() );
execute( TC_radio_status() );
execute( TC_suspend() );
}