Commit e89ce5b3 authored by juvancic's avatar juvancic
Browse files

added 1st version AMF PDU session managementProcedures TPs

parent eb629998
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -173,6 +173,23 @@ module NGAP_Steps {
        //FIXME: Implementation of PDU session resource setup                
        } // End of function f_NGAP_amf_UE_PDU_ResourceSetup();


        /******************************************************************/

        /**
         * @desc 
         */
        function f_NGAP_gnb_UE_Register() runs on NGAPComponent {
        //FIXME: Implementation of UE registration                
        } // End of function f_NGAP_gnb_UE_Register()

        /**
         * @desc 
         */
        function f_NGAP_gnb_UE_PDU_ResourceSetup() runs on NGAPComponent {
        //FIXME: Implementation of PDU session resource setup                
        } // End of function f_NGAP_gnb_UE_PDU_ResourceSetup();

    }//end group BehaviorFunctions

} // End of module NGAP_Steps
+138 −0
Original line number Diff line number Diff line
@@ -1031,12 +1031,150 @@ module NGAP_TCFunctions {
        group PDU_Session_Management_Procedures{
            //8.2.1
            group PDU_Session_Resource_Setup{

              /**
               * @desc Testcase function for TC_NGAP_aMF_PDU_01
               */
               function f_TC_NGAP_AMF_PDU_01() 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 PDU session resource SETUP!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_PDUSessionResourceSetupRequest(
                          PX_AMF_UE_NGAP_ID,
                          PX_RAN_UE_NGAP_ID,
                          {
                            mw_pDUSessionResourceSetupItemSUReq(
                              PX_PDU_SESSION_ID,
                              mw_s_NSSAI(
                                PX_SST,
                                -,//in template (omit) SD p_sD := omit,
                                -//in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit
                              ),
                              ?,//mw_pDUSessionResourceSetupRequestTransfer(?),OCTETSTRING  
                              -,//in template (omit) NAS_PDU p_pDUSessionNAS_PDU := omit,
                              -//in template (omit) PDUSessionResourceSetupItemSUReq.iE_Extensions p_iE_Extensions := omit
                            )
                          }//in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq
                       )
                     )
                   );

                   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_PDU_01

            } // End of group PDU_Session_Resource_Setup
            //8.2.2
            group PDU_Session_Resource_Release{

              /**
               * @desc Testcase function for TC_NGAP_AMF_PDU_02
               */
               function f_TC_NGAP_AMF_PDU_02() 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 PDU session resource RELEASE!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_PDUSessionResourceReleaseCommand(
                          PX_AMF_UE_NGAP_ID,
                          PX_RAN_UE_NGAP_ID,
                          {
                            mw_pDUSessionResourceToReleaseItemRelCmd(
                              PX_PDU_SESSION_ID,
                              ?,//mw_pDUSessionResourceReleaseCommandTransfer(?,-),OCTETSTRING  
                              -//in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit
                            )
                          }
                       )
                     )
                   );

                   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_PDU_02

            } // End of group PDU_Session_Resource_Release
            //8.2.3
            group PDU_Session_Resource_Modify{

              /**
               * @desc Testcase function for TC_NGAP_AMF_PDU_03
               */
               function f_TC_NGAP_AMF_PDU_03() 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 PDU session resource MODIFY!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_PDUSessionResourceModify(
                          PX_AMF_UE_NGAP_ID,
                          PX_RAN_UE_NGAP_ID,
                          {
                            mw_pDUSessionResourceModifyItemModReq(
                              PX_PDU_SESSION_ID,
                              ?,//mw_pDUSessionResourceModifyRequestTransfer(*),OCTETSTRING
                              -,//template NAS_PDU p_nAS_PDU := *,
                              -//template PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := *
                             )
                          }
                       )
                     )
                   );

                   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_PDU_03

            } // End of group PDU_Session_Resource_Modify
            //8.2.4
            group PDU_Session_Resource_Notify{
+85 −1
Original line number Diff line number Diff line
@@ -658,12 +658,96 @@ module NGAP_TestCases {
        group PDU_Session_Management_Procedures{
            //8.2.1
            group PDU_Session_Resource_Setup{

                /**
                 * @desc "Verify that the IUT can send a  PDU SESSION RESOURCE SETUP REQUEST with at least one PDU session resource list to established PDU session."
                 */
                testcase TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent system TestAdapter {

                    // Local variables
                    var gNBNGAPComponent v_ngap_gnb;

                    // Test control
                    if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_1)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_1' 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_PDU_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_AMF_PDU_01

            } // End of group PDU_Session_Resource_Setup
            //8.2.2
            group PDU_Session_Resource_Release{

                /**
                 * @desc "Verify that the IUT can send a  PDU_SESSION_RESOURCE_RELEASE_COMMAND to release PDU session."
                 */
                testcase TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent system TestAdapter {

                    // Local variables
                    var gNBNGAPComponent v_ngap_gnb;

                    // Test control
                    if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_2)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_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_PDU_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_AMF_PDU_02

            } // End of group PDU_Session_Resource_Release
            //8.2.3
            group PDU_Session_Resource_Modify{

                /**
                 * @desc "Verify that the IUT can send a  PDU_SESSION_RESOURCE_MODIFY_REQUEST to modify PDU session."
                 */
                testcase TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent system TestAdapter {

                    // Local variables
                    var gNBNGAPComponent v_ngap_gnb;

                    // Test control
                    if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_3)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_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_PDU_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_AMF_PDU_03

            } // End of group PDU_Session_Resource_Modify
            //8.2.4
            group PDU_Session_Resource_Notify{