Commit 0c501cb4 authored by Yann Garcia's avatar Yann Garcia
Browse files

Add skeletons for TC_NGAP_GNB_MMP_xx

parent 11b73c94
Loading
Loading
Loading
Loading
+18 −1
Original line number Original line Diff line number Diff line
@@ -17,7 +17,7 @@ LogEventTypes:= Yes


[TESTPORT_PARAMETERS]
[TESTPORT_PARAMETERS]
# In this section you can specify parameters that are passed to Test Ports.
# In this section you can specify parameters that are passed to Test Ports.
system.N2_gNBaMF_P.params := "SCTP/ETH(mac_src=080027D2B658)/PCAP(file=test.pcap)"
system.N2_gNBaMF_P.params := "SCTP/ETH(mac_src=080027D2B658)/PCAP_FILE(file=test.pcap)"


[DEFINE]
[DEFINE]
# In this section you can create macro definitions,
# In this section you can create macro definitions,
@@ -66,6 +66,23 @@ NGAP_TestCases.TC_NGAP_gNB_or_aMF_testcaseName_01
# Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_INDICATION to request modification of established PDU session.
# Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_INDICATION to request modification of established PDU session.
#NGAP_TestCases.TC_NGAP_GNB_PDU_09
#NGAP_TestCases.TC_NGAP_GNB_PDU_09


# Verify that the IUT can send a HANDOVER REQUIRED message containing mandatory IEs.
#NGAP_TestCases.TC_NGAP_GNB_MMP_01
# Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover.
#NGAP_TestCases.TC_NGAP_GNB_MMP_02
# Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST FAILURE because the UE is not longer available.
#NGAP_TestCases.TC_NGAP_GNB_MMP_03
# Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover.
#NGAP_TestCases.TC_NGAP_GNB_MMP_04
# Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs within the Handover Request Transfer IEs and answers with correct HANDOVER REQUEST ACKNOWLEDGE.
#NGAP_TestCases.TC_NGAP_GNB_MMP_05
# Verify that the GNB node successfully processes a HANDOVER REQUEST message for an intra-system handover and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover.
#NGAP_TestCases.TC_NGAP_GNB_MMP_06
# Verify that the AMF node successfully sends a HANDOVER NOTIFICATION message that contains mandatory IEs to the AMF.
#NGAP_TestCases.TC_NGAP_GNB_MMP_07
# Verify that the AMF node successfully sends a PATH SWITCH REQUEST message that contains mandatory IEs to the AMF.
#NGAP_TestCases.TC_NGAP_GNB_MMP_08

# Verify that the GNB node successfully sends a NG SETUP REQEST message to the AMF.
# Verify that the GNB node successfully sends a NG SETUP REQEST message to the AMF.
#NGAP_TestCases.TC_NGAP_GNB_IMP_01
#NGAP_TestCases.TC_NGAP_GNB_IMP_01
# Verify that the IUT can send a RAN CONFIGURATION UPDATE message to the AMF.
# Verify that the IUT can send a RAN CONFIGURATION UPDATE message to the AMF.
+7 −0
Original line number Original line Diff line number Diff line
@@ -190,6 +190,13 @@ module NGAP_Steps {
        //FIXME: Implementation of PDU session resource setup                
        //FIXME: Implementation of PDU session resource setup                
        } // End of function f_NGAP_gnb_UE_PDU_ResourceSetup();
        } // End of function f_NGAP_gnb_UE_PDU_ResourceSetup();


        /**
         * @desc 
         */
        function f_NGAP_amf_UE_MMP_Initiate_Handover() runs on NGAPComponent {
        //FIXME: Implementation of Handover init                
        } // End of function f_NGAP_amf_UE_MMP_Initiate_Handover();

    }//end group BehaviorFunctions
    }//end group BehaviorFunctions


} // End of module NGAP_Steps
} // End of module NGAP_Steps
+69 −0
Original line number Original line Diff line number Diff line
@@ -817,9 +817,78 @@ module NGAP_TCFunctions {
        group UE_Context_Management_Procedures{
        group UE_Context_Management_Procedures{
            //8.3.1
            //8.3.1
            group Initial_Context_Setup{
            group Initial_Context_Setup{

              function f_TC_NGAP_GNB_MMP_01() runs on aMFNGAPComponent {
                // Local variables

                // Preamble
                f_NGAP_amf_init();
                f_NGAP_amf_UE_Register();
                f_NGAP_amf_UE_MMP_Initiate_Handover();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                // Body
                f_recv_NGAP_PDU(
                                mw_ngap_initMsg(
                                                mw_n2_HandoverRequired(
                                                                       PX_AMF_UE_NGAP_ID,
                                                                       PX_RAN_UE_NGAP_ID,
                                                                       PX_HANDOVER_TYPE,
                                                                       -,
                                                                       mw_targetID_targeteNB_ID, // ??
                                                                       {
                                                                          *,
                                                                          mw_pDUSessionResourceItemHORqd(
                                                                                                         PX_PDU_SESSION_ID
                                                                                                         ), // FSCOM To be refined
                                                                          *
                                                                       }
                )));


                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                // Postamble
                f_postamble_NGAP_gNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

              } // End of function f_TC_NGAP_GNB_MMP_01

            } // End of group Initial_Context_Setup
            } // End of group Initial_Context_Setup
            //8.3.2
            //8.3.2
            group UE_Context_Release_Request_NG_RAN_node_initiated{
            group UE_Context_Release_Request_NG_RAN_node_initiated{

              function f_TC_NGAP_GNB_MMP_02() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_02

              function f_TC_NGAP_GNB_MMP_03() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_03

              function f_TC_NGAP_GNB_MMP_04() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_04

              function f_TC_NGAP_GNB_MMP_05() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_05

              function f_TC_NGAP_GNB_MMP_06() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_06

              function f_TC_NGAP_GNB_MMP_07() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_07

              function f_TC_NGAP_GNB_MMP_08() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_08

            } // End of group UE_Context_Release_Request_NG_RAN_node_initiated
            } // End of group UE_Context_Release_Request_NG_RAN_node_initiated
            //8.3.3
            //8.3.3
            group UE_Context_Release_AMF_initiated{
            group UE_Context_Release_AMF_initiated{
+220 −0
Original line number Original line Diff line number Diff line
@@ -484,15 +484,235 @@ module NGAP_TestCases {
        group UE_Mobility_Management_Procedures{
        group UE_Mobility_Management_Procedures{
            //8.4.1
            //8.4.1
            group Handover_Preparation{
            group Handover_Preparation{

                /**
                 * @desc Verify that the IUT can send a HANDOVER REQUIRED message containing mandatory IEs.
                 */
                testcase TC_NGAP_GNB_MMP_01() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_MMP_01());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_GNB_MMP_01

            } // End of group Handover_Preparation
            } // End of group Handover_Preparation
            //8.4.2
            //8.4.2
            group Handover_Resource_Allocation{
            group Handover_Resource_Allocation{

                /**
                 * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover.
                 */
                testcase TC_NGAP_GNB_MMP_02() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_MMP_02());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_GNB_MMP_02

                /**
                 * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST FAILURE because the UE is not longer available.
                 */
                testcase TC_NGAP_GNB_MMP_03() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_MMP_03());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_GNB_MMP_03

                /**
                 * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover.
                 */
                testcase TC_NGAP_GNB_MMP_04() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_MMP_04());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_GNB_MMP_04

                /**
                 * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs within the Handover Request Transfer IEs and answers with correct HANDOVER REQUEST ACKNOWLEDGE.
                 */
                testcase TC_NGAP_GNB_MMP_05() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_MMP_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_GNB_MMP_05

                /**
                 * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message for an intra-system handover and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover.
                 */
                testcase TC_NGAP_GNB_MMP_06() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_MMP_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_GNB_MMP_06

            } // End of group Handover_Resource_Allocation
            } // End of group Handover_Resource_Allocation
            //8.4.3
            //8.4.3
            group Handover_Notification{
            group Handover_Notification{

                /**
                 * @desc Verify that the AMF node successfully sends a HANDOVER NOTIFICATION message that contains mandatory IEs to the AMF.
                 */
                testcase TC_NGAP_GNB_MMP_07() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_3)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_3' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_MMP_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_GNB_MMP_07

            } // End of group Handover_Notification
            } // End of group Handover_Notification
            //8.4.4
            //8.4.4
            group Path_Switch_Request{
            group Path_Switch_Request{

                /**
                 * @desc Verify that the AMF node successfully sends a PATH SWITCH REQUEST message that contains mandatory IEs to the AMF.
                 */
                testcase TC_NGAP_GNB_MMP_08() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_4)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_4' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_MMP_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_GNB_MMP_08

            } // End of group Path_Switch_Request
            } // End of group Path_Switch_Request
            //8.4.5
            //8.4.5
            group Handover_Cancellation{
            group Handover_Cancellation{