Commits (2)
......@@ -2447,24 +2447,336 @@ module NGAP_TCFunctions {
} // End of group NG_Setup
//8.7.2
group RAN_Configuration_Update{
/**
* @desc Testcase function for TC_NGAP_AMF_IMF_05
*/
function f_TC_NGAP_AMF_IMP_05() runs on gNBNGAPComponent {
// Local variables
// Preamble
f_NGAP_gnb_init();
//f_NGAP_gnb_UE_Register();
//f_NGAP_gnb_UE_PDU_ResourceSetup();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Body
f_send_NGAP_PDU(
m_ngap_initMsg(
m_n2_RANConfigurationUpdate(
PX_RAN_NODE_NAME
//FIXXME: mising template params due to TP , Supported_TA_list,....
)
)
);
f_recv_NGAP_PDU(
mw_ngap_succMsg(
mw_n2_RANConfigurationUpdateAcknowledge
)
);
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
// Postamble
f_postamble_NGAP_AMF();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_NGAP_AMF_IMP_05
/**
* @desc Testcase function for TC_NGAP_AMF_IMF_06
*/
function f_TC_NGAP_AMF_IMP_06() runs on gNBNGAPComponent {
// Local variables
// Preamble
f_NGAP_gnb_init();
//f_NGAP_gnb_UE_Register();
//f_NGAP_gnb_UE_PDU_ResourceSetup();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Body
f_send_NGAP_PDU(
m_ngap_initMsg(
m_n2_RANConfigurationUpdate(
PX_RAN_NODE_NAME
//FIXXME: mising template params due to TP , Supported_TA_list,....
)
)
);
f_recv_NGAP_PDU(
mw_ngap_unsuccMsg(
mw_n2_RANConfigurationUpdateFailure(
?//template (present) Cause p_cause := ?
)
)
);
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
// Postamble
f_postamble_NGAP_AMF();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_NGAP_AMF_IMP_06
} // End of group RAN_Configuration_Update
//8.7.3
group AMF_Configuration_Update{
/**
* @desc Testcase function for TC_NGAP_AMF_IMF_07
*/
function f_TC_NGAP_AMF_IMP_07() runs on gNBNGAPComponent {
// Local variables
// Preamble
f_NGAP_gnb_init();
f_NGAP_gnb_UE_Register();
//f_NGAP_gnb_UE_PDU_ResourceSetup();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Body
action("Trigger AMF CONFIGURATION UPDATE !");
f_recv_NGAP_PDU(
mw_ngap_initMsg(
mw_n2_AMFConfigurationUpdate(
?//template (present) AMFName p_aMFName := ?
//FIXXME: mising template params due to TP ,ServedGUAMI_list,PLMNSupport_List....
)
)
);
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
// Postamble
f_postamble_NGAP_AMF();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_NGAP_AMF_IMP_07
} // End of group AMF_Configuration_Update
//8.7.4
group NG_Reset{
/**
* @desc Testcase function for TC_NGAP_AMF_IMF_08
*/
function f_TC_NGAP_AMF_IMP_08() runs on gNBNGAPComponent {
// Local variables
// Preamble
f_NGAP_gnb_init();
//f_NGAP_gnb_UE_Register();
//f_NGAP_gnb_UE_PDU_ResourceSetup();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Body
f_send_NGAP_PDU(
m_ngap_initMsg(
m_n2_NGReset(
m_cause_misc(m_causeMisc(-)),//in template (value) Cause p_cause,
m_resetType_nG_Interface(
m_resetAll(reset_all)
)//in template (value) ResetType p_resetType
)
)
);
f_recv_NGAP_PDU(
mw_ngap_succMsg(
mw_n2_NGResetAcknowledge
)
);
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
// Postamble
f_postamble_NGAP_AMF();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_NGAP_AMF_IMP_08
} // End of group NG_Reset
//8.7.5
group Error_Indication{
/**
* @desc Testcase function for TC_NGAP_AMF_IMF_09
*/
function f_TC_NGAP_AMF_IMP_09() runs on gNBNGAPComponent {
// Local variables
// Preamble
f_NGAP_gnb_init();
f_NGAP_gnb_UE_Register();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Body
// f_send_NGAP_PDU(
// m_ngap_initMsg(
// m_n2_InitialContextSetupRequest(
// PX_AMF_UE_NGAP_ID,
// PX_RAN_UE_NGAP_ID,
// *//in template (value) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq
//FIXME missing template for PDUSessionResourceSetupListCxtReq
// )
// )
// );
f_recv_NGAP_PDU(
mw_ngap_initMsg(
mw_n2_ErrorIndication_ids(
?,
?,
?
)
)
);
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
// Postamble
f_postamble_NGAP_AMF();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_NGAP_AMF_IMP_09
} // End of group Error_Indication
//8.7.6
group AMF_Status_Indication{
/**
* @desc Testcase function for TC_NGAP_AMF_IMF_10
*/
function f_TC_NGAP_AMF_IMP_10() runs on gNBNGAPComponent {
// Local variables
// Preamble
f_NGAP_gnb_init();
f_NGAP_gnb_UE_Register();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Body
action("Trigger AMF STATUS INDICATION !");
f_recv_NGAP_PDU(
mw_ngap_initMsg(
mw_n2_AMFStatusIndication(
?//template (present) UnavailableGUAMIList p_unavailableGUAMIList := ?
//FIXME: when UnavailableGUAMIList template ready
)
)
);
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
// Postamble
f_postamble_NGAP_AMF();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_NGAP_AMF_IMP_10
} // End of group AMF_Status_Indication
//8.7.7
group Overload_Start{
/**
* @desc Testcase function for TC_NGAP_AMF_IMF_11
*/
function f_TC_NGAP_AMF_IMP_11() runs on gNBNGAPComponent {
// Local variables
// Preamble
f_NGAP_gnb_init();
f_NGAP_gnb_UE_Register();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Body
action("Trigger OVERLOAD START !");
f_recv_NGAP_PDU(
mw_ngap_initMsg(
mw_n2_OverloadStart //FIXME: mising template with aditional IEs, OverloadStartNSSAIList
)
);
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
// Postamble
f_postamble_NGAP_AMF();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_NGAP_AMF_IMP_11
} // End of group Overload_Start
//8.7.8
group Overload_Stop{
/**
* @desc Testcase function for TC_NGAP_AMF_IMF_12
*/
function f_TC_NGAP_AMF_IMP_12() runs on gNBNGAPComponent {
// Local variables
// Preamble
f_NGAP_gnb_init();
f_NGAP_gnb_UE_Register();
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Body
action("Trigger OVERLOAD STOP !");
f_recv_NGAP_PDU(
mw_ngap_initMsg(
mw_n2_OverloadStop
)
);
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
// Postamble
f_postamble_NGAP_AMF();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_NGAP_AMF_IMP_12
} // End of group Overload_Stop
} // End of group Interface_Management_Procedures
//8.8
......
......@@ -1415,24 +1415,247 @@ module NGAP_TestCases {
} // End of group NG_Setup
//8.7.2
group RAN_Configuration_Update{
/**
* @desc "Verify that the AMF node successfully processes a RAN CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update."
*/
testcase TC_NGAP_AMF_IMP_05() runs on gNBNGAPComponent system TestAdapter {
// Local variables
var gNBNGAPComponent v_ngap_gnb;
// Test control
if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_2)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_2' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up(v_ngap_gnb);
// Start
v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_05());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_AMF_IMP_05
/**
* @desc "Verify that the AMF node successfully declines a RAN CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE FAILURE when the AMF is not able to handle the request."
*/
testcase TC_NGAP_AMF_IMP_06() runs on gNBNGAPComponent system TestAdapter {
// Local variables
var gNBNGAPComponent v_ngap_gnb;
// Test control
if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_2)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_2' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up(v_ngap_gnb);
// Start
v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_06());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_AMF_IMP_06
} // End of group RAN_Configuration_Update
//8.7.3
group AMF_Configuration_Update{
/**
* @desc "Verify that the IUT can send a AMF CONFIGURATION UPDATE message to the AMF."
*/
testcase TC_NGAP_AMF_IMP_07() runs on gNBNGAPComponent system TestAdapter {
// Local variables
var gNBNGAPComponent v_ngap_gnb;
// Test control
if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_3)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_3' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up(v_ngap_gnb);
// Start
v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_07());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_AMF_IMP_07
} // End of group AMF_Configuration_Update
//8.7.4
group NG_Reset{
/**
* @desc "Verify that the AMF node successfully processes a NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset."
*/
testcase TC_NGAP_AMF_IMP_08() runs on gNBNGAPComponent system TestAdapter {
// Local variables
var gNBNGAPComponent v_ngap_gnb;
// Test control
if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_4)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_4' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up(v_ngap_gnb);
// Start
v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_08());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_AMF_IMP_08
} // End of group NG_Reset
//8.7.5
group Error_Indication{
/**
* @desc "Verify that the AMF can send a ERROR INDICATION to the GNB when a error occurs."
*/
testcase TC_NGAP_AMF_IMP_09() runs on gNBNGAPComponent system TestAdapter {
// Local variables
var gNBNGAPComponent v_ngap_gnb;
// Test control
if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_5)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_5' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up(v_ngap_gnb);
// Start
v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_09());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_AMF_IMP_09
} // End of group Error_Indication
//8.7.6
group AMF_Status_Indication{
/**
* @desc "Verify that the AMF can send a AMF STATUS INDICATION to the GNB when a error occurs."
*/
testcase TC_NGAP_AMF_IMP_10() runs on gNBNGAPComponent system TestAdapter {
// Local variables
var gNBNGAPComponent v_ngap_gnb;
// Test control
if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_6)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_6' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up(v_ngap_gnb);
// Start
v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_10());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_AMF_IMP_10
} // End of group AMF_Status_Indication
//8.7.7
group Overload_Start{
/**
* @desc "Verify that the AMF can send a OVERLOAD START to the GNB."
*/
testcase TC_NGAP_AMF_IMP_11() runs on gNBNGAPComponent system TestAdapter {
// Local variables
var gNBNGAPComponent v_ngap_gnb;
// Test control
if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_7)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_7' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up(v_ngap_gnb);
// Start
v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_11());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_AMF_IMP_11
} // End of group Overload_Start
//8.7.8
group Overload_Stop{
/**
* @desc "Verify that the AMF can send a OVERLOAD STOP to the GNB."
*/
testcase TC_NGAP_AMF_IMP_12() runs on gNBNGAPComponent system TestAdapter {
// Local variables
var gNBNGAPComponent v_ngap_gnb;
// Test control
if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_8)){
log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_8' shall be set to true for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_NGAP_gNB_Up(v_ngap_gnb);
// Start
v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_12());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
f_cf_Down/*gNBoraMF*/();
} // End of testcase TC_NGAP_AMF_IMP_12
} // End of group Overload_Stop
} // End of group Interface_Management_Procedures
//8.8
......