Commit 6705a0b0 authored by Steffen Ludtke's avatar Steffen Ludtke
Browse files

add Testcase, function and template for TC_NGAP_GNB_CMP_06 and minor improvments in GNB_CMP

parent b6935e6d
Loading
Loading
Loading
Loading
+101 −6
Original line number Diff line number Diff line
@@ -980,11 +980,11 @@ module NGAP_TCFunctions {
                   f_recv_NGAP_PDU(
                     mw_ngap_succMsg(
                     	mw_n2_InitialContextSetupResponse(
                     		-,
                     		-,
                     		PX_AMF_UE_NGAP_ID,
                     		PX_RAN_UE_NGAP_ID,
                     		{
                     		  {
                     		    ?,
                     		    PX_PDU_SESSION_ID,
                     		    ?,
                     		    *
                     		  }
@@ -1128,11 +1128,11 @@ module NGAP_TCFunctions {
                   f_recv_NGAP_PDU(
                     mw_ngap_succMsg(
                     	mw_n2_InitialContextSetupResponse(
                     		-,
                     		-,
                     		PX_AMF_UE_NGAP_ID,
                     		PX_RAN_UE_NGAP_ID,
                     		{
                     		  {
                     		    ?,
                     		    PX_PDU_SESSION_ID,
                     		    ?,
                     		    *
                     		  }
@@ -1373,6 +1373,101 @@ module NGAP_TCFunctions {

               } // End of function f_TC_NGAP_GNB_CMP_05
               
               /**
               * @desc Testcase function for TP_NGAP_GNB_CMP_06
               */
               function f_TC_NGAP_GNB_CMP_06() runs on aMFNGAPComponent {

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


                   // Body
                   f_send_NGAP_PDU(
                   	m_ngap_initMsg(
                   		m_n2_InitialContextSetupRequest
                   		(
                   		-,
                   		-,
                   		m_gUAMI,
                   		{
                   		  {
                   		  	PX_PDU_SESSION_ID,
                   		  	omit,
							m_s_NSSAI('00'O, '000000'O),
							bit2oct(
                            	encvalue(
        							m_pDUSessionResourceSetupRequestTransfer(
        								m_pDUSessionResourceSetupRequestTransfer_mandatories(
                                                     m_pDUSessionType(ipv4),
                                                     {
                                                       m_qosFlowSetupRequestItem(
                                                         PX_QOS_FLOW_IDENTIFIER,
                                                         m_qosFlowLevelQosParameters(
                                                           m_qosCharacteristics_dynamic5QI(
                                                             m_dynamic5QIDescriptor(
                                                               1,//in template (value) PriorityLevelQos p_priorityLevelQos,
                                                               0,//in template (value) PacketDelayBudget p_packetDelayBudget,
                                                               m_PacketErrorRate(
                                                                 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar,
                                                                 0//in template (value) PacketErrorRate.pERExponent p_pERExponent
                                                           ))),
                                                           m_allocationAndRetentionPriority(
                                                             1,//in template (value) PriorityLevelARP p_priorityLevelARP,
                                                             shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability,
                                                             not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability,
                                                           )))
                                                     },
                                                     m_uPTransportLayerInformation_gTPTunnel(
                                                       m_gTPTunnel
                                       ))))
							),
							omit
                   		  }

                   		},
                   		{
                        m_allowedNSSAI_Item(
                        	m_s_NSSAI('00'O, '000000'O)
                            )
                        },
                   		m_uESecurityCapabilities,
                   		-
                   		)
                   		));


                   f_recv_NGAP_PDU(
                     mw_ngap_succMsg(
                     	mw_n2_InitialContextSetupResponse_Failed(
                     		-,
                     		-,
                     		{
                     		  {
                     		    PX_PDU_SESSION_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_GNB_CMP_06

            } // End of group Initial_Context_Setup
            //8.3.2
            group UE_Context_Release_Request_NG_RAN_node_initiated{
+27 −0
Original line number Diff line number Diff line
@@ -476,6 +476,33 @@ module NGAP_TestCases {
                  
                } // End of testcase TC_NGAP_GNB_CMP_05
                
                 /**
                 * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST contains mandatory IEs and answers with INITIAL CONTEXT SETUP RESPONSE with failed PDU session."
                 */
                testcase TC_NGAP_GNB_CMP_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_2_1)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_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_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_GNB_CMP_06
                
            } // End of group Initial_Context_Setup
            //8.3.2
            group UE_Context_Release_Request_NG_RAN_node_initiated{
+33 −0
Original line number Diff line number Diff line
@@ -1512,6 +1512,39 @@ module LibNGAP_Templates {
                                             }
                         } // End of template mw_n2_PDUInitialContextSetupResponse
                         
                         /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.2 INITIAL CONTEXT SETUP RESPONSE
                         */
                        template (present) SuccessfulOutcome mw_n2_InitialContextSetupResponse_Failed(
                                                                                               template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                               template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
                                                                                               template (present) PDUSessionResourceFailedToSetupListSURes p_pDUSessionResourceFailedToSetupListURes := ?
                                                                                               ) := {
                            procedureCode := id_InitialContextSetup,
                            criticality   := reject,
                            value_        := {
                                              PDUSessionResourceSetupResponse := {
                                                                                  protocolIEs := {
                                                                                                  {
                                                                                                      id := id_AMF_UE_NGAP_ID,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_RAN_UE_NGAP_ID,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID }
                                                                                                  },
                                                                                                  {
                                                                                                      id := id_PDUSessionResourceFailedToSetupListSURes,
                                                                                                      criticality := ignore,
                                                                                                      value_ := { PDUSessionResourceFailedToSetupListSURes := p_pDUSessionResourceFailedToSetupListURes }
                                                                                                  }
                                                                                                 }
                                                                                 }
                                             }
                         } // End of template mw_n2_InitialContextSetupResponse_Failed
                        template (present) SuccessfulOutcome mw_n2_InitialContextSetupResponse_noPDUSessionResourceSetupListSURes(
                                                                                                                                  template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
                                                                                                                                  template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?