Commit 84f5791b authored by kretzschmann's avatar kretzschmann
Browse files

restore lost TCs and test functions *_AMF_CMP_02-06 and *_AMF_CMP_10-11

parent 3996f519
Loading
Loading
Loading
Loading
+312 −0
Original line number Original line Diff line number Diff line
@@ -4078,18 +4078,239 @@ module NGAP_TCFunctions {
            } // 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{
                
                /**
               * @desc Testcase function for TP_NGAP_AMF_CMP_02
               */
               function f_TC_NGAP_AMF_CMP_02() runs on gNBNGAPComponent {

             	   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   //f_NGAP_gnb_UE_PDU_ResourceSetup();
                   
                   // TODO: hasEstablishedInitialContext

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


                   // Body
                   action("Trigger a UE context release command!");
   
                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                     	mw_n2_UEContextReleaseCommand
                     	(
                     		mw_uE_NGAP_IDs_uE_NGAP_ID_pair
                         	(
                         		mw_uE_NGAP_ID_pair
                         		(
                         			PX_AMF_UE_NGAP_ID, 
                                	PX_RAN_UE_NGAP_ID,
                                	*
                                )
                            ),
                     		?
                     	)));
                        	
                        	

                   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_AMF_CMP_02
               
               /**
               * @desc Testcase function for TP_NGAP_AMF_CMP_03
               */
               function f_TC_NGAP_AMF_CMP_03() runs on gNBNGAPComponent {

             	   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   // f_NGAP_gnb_UE_PDU_ResourceSetup();
                   
                   // TODO: hasEstablishedInitialContext

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


                   // Body
                   action("Trigger a UE context release command!");
   
                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                     	mw_n2_UEContextReleaseCommand
                     	(
                     		mw_uE_NGAP_IDs_aMF_UE_NGAP_ID
                         	(
                         		PX_AMF_UE_NGAP_ID
                            ),
                     		?
                     	)
                     ));


                   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_AMF_CMP_03
                
                
            } // End of group UE_Context_Release_AMF_initiated
            } // End of group UE_Context_Release_AMF_initiated
            //8.3.4
            //8.3.4
            group UE_Context_Modification{
            group UE_Context_Modification{
                
                /**
               * @desc Testcase function for TP_NGAP_AMF_CMP_04
               */
               function f_TC_NGAP_AMF_CMP_04() runs on gNBNGAPComponent {

             	   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   // f_NGAP_gnb_UE_PDU_ResourceSetup();
                   
                   // TODO: hasEstablishedInitialContext

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


                   // Body
                   action("Trigger a PDU UE context modification procedure!");
   
                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                     	mw_n2_UEContextModificationRequest
                     	(
                     		PX_AMF_UE_NGAP_ID, 
                            PX_RAN_UE_NGAP_ID  
                     	)
                     ));


                   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_AMF_CMP_04
                
                
            } // End of group UE_Context_Modification
            } // End of group UE_Context_Modification
            //8.3.5
            //8.3.5
            group RRC_Inactive_Transition_Report{
            group RRC_Inactive_Transition_Report{
            } // End of group RRC_Inactive_Transition_Report
            } // End of group RRC_Inactive_Transition_Report
            //8.3.6
            //8.3.6
            group Connection_Establishment_Indication{
            group Connection_Establishment_Indication{
                
                /**
               * @desc Testcase function for TP_NGAP_AMF_CMP_05
               */
               function f_TC_NGAP_AMF_CMP_05() 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 a PDU UE context modification procedure!");
   
                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                     	mw_n2_ConnectionEstablishmentIndication
                     	(
                     		PX_AMF_UE_NGAP_ID, 
                            PX_RAN_UE_NGAP_ID  
                     	)
                     ));


                   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_AMF_CMP_05
                
                
            } // End of group Connection_Establishment_Indication
            } // End of group Connection_Establishment_Indication
            //8.3.7
            //8.3.7
            group AMF_CP_Relocation_Indication{
            group AMF_CP_Relocation_Indication{
                
                /**
               * @desc Testcase function for TP_NGAP_AMF_CMP_06
               */
               function f_TC_NGAP_AMF_CMP_06() runs on gNBNGAPComponent {

             	   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   					
					// TODO: hasEstablishedInitialContext
					
                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


                   // Body
                   action("Trigger a AMF CP relocation indication procedure!");
   
                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                     	mw_n2_AMFCPRelocationIndication
                     	(
                     		PX_AMF_UE_NGAP_ID, 
                            PX_RAN_UE_NGAP_ID  
                     	)
                     ));


                   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_AMF_CMP_06
                
                
            } // End of group AMF_CP_Relocation_Indication
            } // End of group AMF_CP_Relocation_Indication
            //8.3.8
            //8.3.8
            group RAN_CP_Relocation_Indication{
            group RAN_CP_Relocation_Indication{
@@ -4105,6 +4326,97 @@ module NGAP_TCFunctions {
            } // End of group UE_Context_Suspend
            } // End of group UE_Context_Suspend
            //8.3.12
            //8.3.12
            group UE_Context_Resume{
            group UE_Context_Resume{
                
                /**
               * @desc Testcase function for TP_NGAP_AMF_CMP_10
               */
               function f_TC_NGAP_AMF_CMP_10() runs on gNBNGAPComponent {

             	   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   f_NGAP_amf_UE_Has_Suspended_Context();

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


                   // Body
                   f_send_NGAP_PDU(
                   	m_ngap_initMsg(
                   		m_n2_UEContextResumeRequest(
                   			-,
                   			-,
                   			-
                   		)
                   	)
                   );
   
                   f_recv_NGAP_PDU(
                     mw_ngap_succMsg(
                     	mw_n2_UEContextResumeResponse(
                     		?,
                     		?
                   )));

                   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_AMF_CMP_10
               
               /**
               * @desc Testcase function for TP_NGAP_AMF_CMP_11
               */
               function f_TC_NGAP_AMF_CMP_11() runs on gNBNGAPComponent {

             	   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   f_NGAP_amf_UE_Has_Suspended_Context();

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


                   // Body
                   f_send_NGAP_PDU(
                   	m_ngap_initMsg(
                   		m_n2_UEContextResumeRequest(
                   			-,
                   			-,
                   			-
                   		)
                   	)
                   );
   
                   f_recv_NGAP_PDU(
                     mw_ngap_unsuccMsg(
                     	mw_n2_UEContextResumeFailure(
                     		?,
                     		?,
                     		?
                   )));

                   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_AMF_CMP_11
                
                
            } // End of group UE_Context_Resume
            } // End of group UE_Context_Resume
        } // End of group UE_Context_Management_Procedures
        } // End of group UE_Context_Management_Procedures
        //8.4
        //8.4
+197 −0
Original line number Original line Diff line number Diff line
@@ -2217,18 +2217,159 @@ module NGAP_TestCases {
            } // 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{
                
                 /**
                 * @desc "Verify that the IUT can send a UE CONTEXT RELEASE COMMAND that contains both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE."
                 */
                testcase TC_NGAP_AMF_CMP_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_2_3)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_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_CMP_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_CMP_02
                
                /**
                 * @desc "Verify that the IUT can send a UE CONTEXT RELEASE COMMAND where both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE are not available."
                 */
                testcase TC_NGAP_AMF_CMP_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_2_3)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_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_CMP_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_CMP_03
                 
                
            } // End of group UE_Context_Release_AMF_initiated
            } // End of group UE_Context_Release_AMF_initiated
            //8.3.4
            //8.3.4
            group UE_Context_Modification{
            group UE_Context_Modification{
                
                /**
                 * @desc "Verify that the IUT can send a UE CONTEXT MODIFICATION REQUEST contains mandatory IEs."
                 */
                testcase TC_NGAP_AMF_CMP_04() runs on gNBNGAPComponent system TestAdapter {

                    // Local variables
                    var gNBNGAPComponent v_ngap_gnb;

                    // Test control
                    if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_4)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_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_CMP_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_AMF_CMP_04               
                
            } // End of group UE_Context_Modification
            } // End of group UE_Context_Modification
            //8.3.5
            //8.3.5
            group RRC_Inactive_Transition_Report{
            group RRC_Inactive_Transition_Report{
            } // End of group RRC_Inactive_Transition_Report
            } // End of group RRC_Inactive_Transition_Report
            //8.3.6
            //8.3.6
            group Connection_Establishment_Indication{
            group Connection_Establishment_Indication{
                
                /**
                 * @desc "Verify that the IUT can send a CONNECTION ESTABLISHMENT INDICATION that contains mandatory IEs."
                 */
                testcase TC_NGAP_AMF_CMP_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_2_6)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_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_CMP_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_CMP_05
                
            } // End of group Connection_Establishment_Indication
            } // End of group Connection_Establishment_Indication
            //8.3.7
            //8.3.7
            group AMF_CP_Relocation_Indication{
            group AMF_CP_Relocation_Indication{
                
                /**
                 * @desc "Verify that the IUT can send a AMF CP RELOCATION INDICATION that contains mandatory IEs."
                 */
                testcase TC_NGAP_AMF_CMP_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_2_7)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_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_CMP_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_CMP_06
                
                
            } // End of group AMF_CP_Relocation_Indication
            } // End of group AMF_CP_Relocation_Indication
            //8.3.8
            //8.3.8
            group RAN_CP_Relocation_Indication{
            group RAN_CP_Relocation_Indication{
@@ -2244,6 +2385,62 @@ module NGAP_TestCases {
            } // End of group UE_Context_Suspend
            } // End of group UE_Context_Suspend
            //8.3.12
            //8.3.12
            group UE_Context_Resume{
            group UE_Context_Resume{
                
                /**
                 * @desc "Verify that the AMF node successfully processes a UE CONTEXT RESUME REQUEST contains mandatory IEs and answers with UE CONTEXT RESUME RESPONSE with successfully resume UE context."
                 */
                testcase TC_NGAP_AMF_CMP_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_2_12)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_12' 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_CMP_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_CMP_10
                
                /**
                 * @desc "Verify that the AMF node successfully processes a UE CONTEXT RESUME REQUEST contains mandatory IEs and answers with UE CONTEXT RESUME FAILURE with failing to resume UE context."
                 */
                testcase TC_NGAP_AMF_CMP_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_2_12)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_12' 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_CMP_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_CMP_11
                
                
            } // End of group UE_Context_Resume
            } // End of group UE_Context_Resume
        } // End of group UE_Context_Management_Procedures
        } // End of group UE_Context_Management_Procedures
        //8.4
        //8.4