Commit 3d84e150 authored by kretzschmann's avatar kretzschmann
Browse files

add TCs

parent ff3a397c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -128,6 +128,7 @@ module NGAP_Pics {
        modulepar boolean PICS_A4_10_2	:= false;  //AMF - Trace procedure - TRACE FAILURE INDICATION messages
        modulepar boolean PICS_A4_10_3	:= false;  //AMF - Trace procedure - DEACTIVATE TRACE messages
        modulepar boolean PICS_A4_10_4	:= false;  //AMF - Trace procedure - CELL TRAFFIC TRACE messages
        modulepar boolean PICS_A4_11_1	:= false;  //AMF - Location Reporting Procedures - LOCATION REPORTING CONTROL
        modulepar boolean PICS_A4_11_2	:= false;  //AMF - Location Reporting Procedures - LOCATION REPORTING FAILURE INDICATION
        modulepar boolean PICS_A4_11_3	:= false;  //AMF - Location Reporting Procedures - LOCATION REPORT
        modulepar boolean PICS_A4_12_1	:= false;  //AMF - TNLA procedure - UE TNLA BINDING RELEASE REQUEST messages
+72 −0
Original line number Diff line number Diff line
@@ -2448,6 +2448,45 @@ module NGAP_TCFunctions {
        group Paging_Procedures{
            //8.5.1
            group Paging{
                
                /**
            	 * @desc Testcase function for TC_NGAP_AMF_PAG_01
            	 */
            	 function f_TC_NGAP_AMF_PAG_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 Paging!");
                    
                    f_recv_NGAP_PDU(
                    	mw_ngap_initMsg(
                    		mw_n2_Paging(
                    			mw_uEPagingIdentity_fiveG_S_TMSI(
                    				mw_fiveG_S_TMSI(-,-,-,-)	                    				
                    			),{
                    			mw_tAIListForPagingItem(
                    				mw_tAI(-,-,-)
                    			)}
                    		)
                    	)
                    );
                    
                    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 group Paging
        } // End of group Paging_Procedures
        //8.6
@@ -3418,6 +3457,39 @@ module NGAP_TCFunctions {
        group Location_Reporting_Procedures{
            //8.12.1
            group Location_Reporting_Control{
                
              /**
               * @desc Testcase function for TC_NGAP_AMF_LRP_01
               */
               function f_TC_NGAP_AMF_LRP_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 Location Reporting Control procedure!");

                   f_recv_NGAP_PDU(
                       mw_ngap_initMsg(
                           mw_n2_LocationReportingControl(-,-,-)
                       )
                   );

                   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_LRP_01
                
            } // End of group Location_Reporting_Control
            //8.12.2
            group Location_Reporting_Failure_Indication{
+53 −0
Original line number Diff line number Diff line
@@ -1635,6 +1635,32 @@ module NGAP_TestCases {
        group Paging_Procedures{
            //8.5.1
            group Paging{
                
                /**
                 * @desc "Verify that the IUT can send a PAGING message to enable the AMF to page a UE."
	            */
                testcase TC_NGAP_aMF_PAG_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_4_1)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_4_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_PAG_01());

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

                    f_cf_Down/*gNBoraMF*/();
                
            } // End of group Paging
        } // End of group Paging_Procedures
        //8.6
@@ -2172,6 +2198,33 @@ module NGAP_TestCases {
        group Location_Reporting_Procedures{
            //8.12.1
            group Location_Reporting_Control{
                
                /**
                 * @desc "Verify that the IUT can send a LOCATION REPORTING CONTROL message that contains mandatory IEs to request a report of the UE's current location."
	            */
                testcase TC_NGAP_AMF_LRP_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_11_1)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_11_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_LRP_01());

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

                    f_cf_Down/*gNBoraMF*/();
                
                }
            } // End of group Location_Reporting_Control
            //8.12.2
            group Location_Reporting_Failure_Indication{
+35 −0
Original line number Diff line number Diff line
@@ -6405,6 +6405,41 @@ module LibNGAP_Templates {
                    group Send {
                    }
                    group Receive {
                        
                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.1 LOCATION REPORTING CONTROL
                         */
                        template (present) InitiatingMessage mw_n2_LocationReportingControl(
                                                                          template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID,
                                                                          template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID,
                                                                          template (value) LocationReportingRequestType p_locationReportingRequestType := m_locationReportingRequestType(direct,
                                                                          																												 cell) //TODO: do we need PX here?
                                                                          ) := {
                            procedureCode := id_LocationReportingControl,
                            criticality   := ignore,
                            value_        := {
                                             	LocationReportingControl := {
                                                		protocolIEs := {
                                                                         {
                                                                              id := id_AMF_UE_NGAP_ID,
                                                                              criticality := reject,
                                                                              value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                          },
                                                                          {
                                                                              id := id_RAN_UE_NGAP_ID,
                                                                              criticality := reject,
                                                                              value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                          },
                                                                          {
                                                                              id := id_LocationReportingRequestType,
                                                                              criticality := ignore,
                                                                              value_ := { id_LocationReportingRequestType := p_locationReportingRequestType}
                                                                          }
                                                    }
                                                }
                                            }
                        } // End of template mw_n2_LocationReportingControl
                        
                    }
                }
                //9.2.11.2