blob: d53543216beb56b1d750e5a2f13e2cbb4e5c0399 [file] [log] [blame]
module SGSN_Tests {
import from General_Types all;
import from Osmocom_Types all;
import from NS_Types all;
import from NS_Emulation all;
import from BSSGP_Types all;
import from BSSGP_Emulation all;
type component test_CT {
var NS_CT vc_NS;
var BSSGP_CT vc_BSSGP;
port BSSGP_PT BSSGP;
var boolean g_initialized := false;
};
function f_init() runs on test_CT {
if (g_initialized == true) {
return;
}
g_initialized := true;
vc_NS := NS_CT.create;
vc_BSSGP := BSSGP_CT.create;
/* connect our BSSGP port to upper end of BSSGP emulation */
connect(self:BSSGP, vc_BSSGP:BSSGP_SP);
/* connect lower end of BSSGP emulation with NS upper port */
connect(vc_BSSGP:BSCP, vc_NS:NS_SP);
/* connect lower end of NS emulation to NS codec port (on top of IPL4) */
map(vc_NS:NSCP, system:NS_CODEC_PORT);
vc_NS.start(NSStart());
vc_BSSGP.start(BssgpStart(false));
}
/* TODO:
* RAU without Attach
* Detach without Attach
* SM procedures without attach / RAU
* ATTACH / RAU
** with / without authentication
** with / without P-TMSI allocation
** timeout from HLR on SAI
** timeout from HLR on UL
** reject from HLR on SAI
** reject from HLR on UL
* re-transmissions of LLC frames
* PDP Context activation
** with different GGSN config in SGSN VTY
** with different PDP context type (v4/v6/v46)
** timeout from GGSN
** reject from GGSN
*/
testcase TC_wait_ns_up() runs on test_CT {
f_init();
f_sleep(20.0);
}
//control { }
}