Commit 58ed1cf2 authored by juvancic's avatar juvancic
Browse files

added interfaceManagement TPs gnb 01-05

parent 722f282c
Loading
Loading
Loading
Loading
+195 −0
Original line number Diff line number Diff line
@@ -913,15 +913,210 @@ module NGAP_TCFunctions {
        group Interface_Management_Procedures{
            //8.7.1
            group NG_Setup{

              /**
                * @desc Testcase function for TC_NGAP_gNB_IMP_01
                */
                function f_TC_NGAP_GNB_IMP_01() runs on aMFNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   //f_NGAP_amf_UE_Register();

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

                   // Body
                   action("Trigger NG SETUP REQUEST!");
                   
                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_NGSetupRequest(
                        ?,//template (present) GlobalRANNodeID p_globalRANNodeID := ?,
                        ?,//template (present) SupportedTAList p_supportedTAs := ?,
                        ?//template (present) PagingDRX p_pagingDRX := ?
                       )
                     )
                   );

                   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_IMP_01

            } // End of group NG_Setup
            //8.7.2
            group RAN_Configuration_Update{

                /**
                * @desc Testcase function for TC_NGAP_gNB_IMP_02
                */
                function f_TC_NGAP_GNB_IMP_02() runs on aMFNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   //f_NGAP_amf_UE_Register();

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

                   // Body
                   action("Trigger RAN CONFIGURATION UPDATE!");
                   
                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_RANConfigurationUpdate(//FIXME: prepare/update template IEs
                         ?//template (present) RANNodeName p_rANNodeName := ?
                       )
                     )
                   );

                   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_IMP_02

            } // End of group RAN_Configuration_Update
            //8.7.3
            group AMF_Configuration_Update{

                /**
                * @desc Testcase function for TC_NGAP_gNB_IMP_03
                */
                function f_TC_NGAP_GNB_IMP_03() runs on aMFNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   //f_NGAP_amf_UE_Register();

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

                   // Body
                   f_send_NGAP_PDU(
                     m_ngap_initMsg(
                       m_n2_AMFConfigurationUpdate(//FIXME: prepare/update template IEs
                        PX_AMF_NAME//in template (value) AMFName p_aMFName := PX_AMF_NAME
                       )
                     )
                   );

                   f_recv_NGAP_PDU(
                     mw_ngap_succMsg(
                       mw_n2_AMFConfigurationUpdateAcknowledge_aMF_TNLAssociationSetupList(
                         ?
                       )
                     )
                   );

                   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_IMP_03

                /**
                * @desc Testcase function for TC_NGAP_gNB_IMP_04
                */
                function f_TC_NGAP_GNB_IMP_04() runs on aMFNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   //f_NGAP_amf_UE_Register();

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

                   // Body
                   f_send_NGAP_PDU(
                     m_ngap_initMsg(
                       m_n2_AMFConfigurationUpdate(//FIXME: prepare/update template IEs
                        PX_AMF_NAME//in template (value) AMFName p_aMFName := PX_AMF_NAME
                       )
                     )
                   );
                   
                   f_recv_NGAP_PDU(
                     mw_ngap_unsuccMsg(
                       mw_n2_AMFConfigurationUpdateFailure(
                         ?
                       )
                     )
                   );

                   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_IMP_04

            } // End of group AMF_Configuration_Update
            //8.7.4
            group NG_Reset{

              /**
                * @desc Testcase function for TC_NGAP_gNB_IMP_05
                */
                function f_TC_NGAP_GNB_IMP_05() runs on aMFNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   //f_NGAP_amf_UE_Register();

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

                   // Body
                   f_send_NGAP_PDU(
                     m_ngap_initMsg(
                       m_n2_NGReset(
                        m_cause_radioNetwork(PX_NG_SETUP_FAILURE),
                        m_resetType_nG_Interface(
                          m_resetAll(reset_all) 
                        )
                       )
                     )
                   );
                   
                   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_gNB();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_gNB_IMP_05

            } // End of group NG_Reset
            //8.7.5
            group Error_Indication{
+140 −1
Original line number Diff line number Diff line
@@ -541,15 +541,154 @@ module NGAP_TestCases {
        group Interface_Management_Procedures{
            //8.7.1
            group NG_Setup{

                 /**
                 * @desc "Verify that the GNB node successfully sends a NG SETUP REQEST message to the AMF."
                 */
                testcase TC_NGAP_GNB_IMP_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_6_1)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_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_IMP_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_IMP_01
                
            } // End of group NG_Setup
            //8.7.2
            group RAN_Configuration_Update{

                /**
                 * @desc "Verify that the IUT can send a RAN CONFIGURATION UPDATE message to the AMF."
                 */
                testcase TC_NGAP_GNB_IMP_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_6_2)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_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_IMP_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_IMP_02

            } // End of group RAN_Configuration_Update
            //8.7.3
            group AMF_Configuration_Update{

                /**
                 * @desc "Verify that the GNB node successfully processes a AMF CONFIGURATION UPDATE message with AMF CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update."
                 */
                testcase TC_NGAP_GNB_IMP_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_6_3)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_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_IMP_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_IMP_03

                /**
                 * @desc "Verify that the GNB node can send a AMF CONFIGURATION UPDATE FAILURE."
                 */
                testcase TC_NGAP_GNB_IMP_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_6_3)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_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_IMP_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_IMP_04

            } // End of group AMF_Configuration_Update
            //8.7.4
            group NG_Reset{

                /**
                 * @desc "Verify that the GNB node successfully processes a NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset."
                 */
                testcase TC_NGAP_GNB_IMP_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_6_4)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_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_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_GNB_IMP_05

            } // End of group NG_Reset
            //8.7.5
            group Error_Indication{