osmo-ttcn3-hacks/M3UA_CNL113537/demo/M3UA_Emulation_Test.ttcn

153 lines
3.6 KiB
Plaintext

module M3UA_Emulation_Test
{
//import from MTP3asp_PortType all;
import from MTP3asp_Types all;
import from BICC_Types all;
import from M3UA_Emulation all;
import from SCTPasp_PortType all;
modulepar
{
SCTP_Association_Address tsp_address := { 0, "", 0, "" };
// float tsp_serverWait := 5.0;
// boolean tsp_serverTest := false;
}
type port MTP3asp_PT_Int message
{
out ASP_MTP3_TRANSFERreq;
in ASP_MTP3_TRANSFERind;
} with {extension "internal"}
type component BICC_CT
{
port MTP3asp_PT_Int BICC_MTP3_PORT;
}
type component MTC_CT
{
var BICC_CT vlc_BICC_COMPONENT_1;
var M3UA_CT vlc_M3UA_COMPONENT_1;
port SCTPasp_PT SCTP_PORT;
// var BICC_CT vlc_BICC_COMPONENT_2;
// port MTP3asp_PT M3UA_PORT;
}
function f_testconfig_bicc(SCTP_Association_Address pl_address) runs on MTC_CT
{
vlc_BICC_COMPONENT_1 := BICC_CT.create;
vlc_M3UA_COMPONENT_1 := M3UA_CT.create;
connect(vlc_BICC_COMPONENT_1:BICC_MTP3_PORT,
vlc_M3UA_COMPONENT_1:MTP3_SP_PORT);
map(system:SCTP_PORT, vlc_M3UA_COMPONENT_1:SCTP_PORT);
vlc_M3UA_COMPONENT_1.start(f_M3UA_Emulation(pl_address));
}
function f_testconfig_end_demo_bicc() runs on MTC_CT
{
unmap(system:SCTP_PORT, vlc_M3UA_COMPONENT_1:SCTP_PORT);
disconnect(vlc_BICC_COMPONENT_1:BICC_MTP3_PORT, vlc_M3UA_COMPONENT_1:MTP3_SP_PORT);
vlc_M3UA_COMPONENT_1.stop;
}
template ASP_MTP3_TRANSFERind tr_ASP_MTP3_TRANSFERind_BICC :=
{ sio := {
ni := '10'B,
prio := ?,
si := '1101'B
},
opc := ?,
dpc := ?,
sls := ?,
data := ?
}
function f_init_BICC_bicc() runs on BICC_CT
{
var PDU_BICC vl_PDU_BICC;
var ASP_MTP3_TRANSFERind vl_ASP_MTP3_TRANSFERind;
var ASP_MTP3_TRANSFERreq vl_ASP_MTP3_TRANSFERreq;
vl_PDU_BICC := {
BICC_GRA := {
CIC := '00000000'O,
MType := '00010111'B,
var_part_ptr := 1,
RngSts :=
{ range := '1F'O,
status := ''O
}
}
}
vl_ASP_MTP3_TRANSFERreq := {
sio := {
ni := '10'B,
prio := '00'B,
si := '1101'B
},
opc := 115,
dpc := 300,
sls := 0,
data := enc_PDU_BICC(vl_PDU_BICC)
}
timer T_Timer := 5.0;
T_Timer.start;
alt {
[] BICC_MTP3_PORT.receive(tr_ASP_MTP3_TRANSFERind_BICC)
-> value vl_ASP_MTP3_TRANSFERind {
log("BICC_MTP3_PORT: received message: ", vl_ASP_MTP3_TRANSFERind);
vl_PDU_BICC := dec_PDU_BICC(vl_ASP_MTP3_TRANSFERind.data);
log("received BICC message: ", vl_PDU_BICC);
setverdict(pass);
BICC_MTP3_PORT.send(vl_ASP_MTP3_TRANSFERreq);
T_Timer.stop;
}
[] BICC_MTP3_PORT.receive(ASP_MTP3_TRANSFERind : ?)
-> value vl_ASP_MTP3_TRANSFERind {
log("BICC_MTP3_PORT: received message: ", vl_ASP_MTP3_TRANSFERind);
repeat;
}
[] BICC_MTP3_PORT.receive {
setverdict(fail);
}
[] T_Timer.timeout {
setverdict(fail);
}
}
T_Timer.start;
alt {
[] BICC_MTP3_PORT.receive(tr_ASP_MTP3_TRANSFERind_BICC)
-> value vl_ASP_MTP3_TRANSFERind {
log("BICC_MTP3_PORT: received message: ", vl_ASP_MTP3_TRANSFERind);
vl_PDU_BICC := dec_PDU_BICC(vl_ASP_MTP3_TRANSFERind.data);
log("received BICC message: ", vl_PDU_BICC);
repeat;
}
[] BICC_MTP3_PORT.receive(ASP_MTP3_TRANSFERind : ?)
-> value vl_ASP_MTP3_TRANSFERind {
log("BICC_MTP3_PORT: received message: ", vl_ASP_MTP3_TRANSFERind);
repeat;
}
[] BICC_MTP3_PORT.receive {
}
[] T_Timer.timeout {
}
}
}
testcase tc_M3UA_demo_bicc() runs on MTC_CT
{
f_testconfig_bicc(tsp_address);
vlc_BICC_COMPONENT_1.start(f_init_BICC_bicc());
vlc_BICC_COMPONENT_1.done;
f_testconfig_end_demo_bicc();
}
}