gbproxy: Add test for BSSGP resume procedure

Change-Id: I7e724b97ebfde4ed5824515065fbedca8bcf4c64
Related: SYS#5210
This commit is contained in:
Daniel Willmann 2020-11-19 15:58:43 +01:00 committed by daniel
parent fa67f49798
commit 087a33d5d4
1 changed files with 41 additions and 0 deletions

View File

@ -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() );
}