Commit 47e7239d authored by Yann Garcia's avatar Yann Garcia
Browse files

Starting TC/TF skeletons

parent d10c4bd2
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ Package TP_AMF {
			Test objective "Verify that the IUT sends an AUTHENTICATION REJECT message correctly upon receipt of an AUTHENTICATION RESPONSE message indicating a wrong ARP IEI."
			
			Reference 
				"ETSI TS 124 501 [1], Clause 5.4.1.3.5 and 8.2.5"
				"ETSI TS 124 501 [1], Clauses 5.4.1.3.5 and 8.2.5"
			
			Config Id CF_AMF_N2N1
			
@@ -124,7 +124,7 @@ Package TP_AMF {
			Test objective "Verify that the IUT stops re-sending an AUTHENTICATION REQUEST message if no AUTHENTICATION RESPONSE message is received on the fifth expiry of timer T3560."
			
			Reference 
				"ETSI TS 124 501 [1], Clause 5.4.1.3.7 b) and Table 10.3.1"
				"ETSI TS 124 501 [1], Clauses 5.4.1.3.7 b) and Table 10.3.1"
			
			Config Id CF_AMF_N2N1
			
@@ -156,7 +156,7 @@ Package TP_AMF {
			Test objective "Verify that the IUT sends an IDENTITY REQUEST message correctly upon receipt of an AUTHENTICATION FAILURE message indicating a 5GMM cause value #20 - MAC failure."
			
			Reference 
				"ETSI TS 124 501 [1], Clause 5.4.1.3.7 c) and 8.2.4"
				"ETSI TS 124 501 [1], Clauses 5.4.1.3.7 c) and 8.2.4"
			
			Config Id CF_AMF_N2N1
			
@@ -210,7 +210,7 @@ Package TP_AMF {
			Test objective "Verify that the IUT sends a new AUTHENTICATION REQUEST message with new ngKSI value to re-initiate the 5G AKA based primary authentication upon receipt of an AUTHENTICATION FAILURE message indicating a 5GMM cause value #71 - ngKSI already in use."
			
			Reference 
				"ETSI TS 124 501 [1], Clause 5.4.1.3.7 e) and 8.2.4"
				"ETSI TS 124 501 [1], Clauses 5.4.1.3.7 e) and 8.2.4"
			
			Config Id CF_AMF_N2N1
			
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ module NG_NAS_Pics {
    group PICS_ {
        /**
         * @desc Does IUT support NG_NAS? 
         * @see  ETSI  
         * @see  ETSI TS 103 921-1 Table ???
         */
        modulepar boolean PICS_NGNAS := false;
   
+585 −204
Original line number Diff line number Diff line
@@ -39,22 +39,26 @@ module NG_NAS_TCFunctions{
    //import from NGAP_Pixits all;


    group TC_function_template{
    // interface at AMF
    group TP_AMF_NGAP {

        group /*5_4_*/fiveGMM_Common_Procedures {

            group /*5_4_1_*/fiveGMM_Common_ProceduresPrimary_authentication_and_key_agreement_procedure {

                /**
         * @desc Testcase function for TC_NGAP_gNB_or_aMF_functionName_01
                 * @desc Testcase function for TC_5GNAS_AMF_AUT_REQ_01
                 */
        function f_TC_NGNAS_aMF_functionName_01() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                function f_TC_5GNAS_AMF_AUT_REQ_01() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                    // Local variables

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

                    // Body
            //f_send_NGAP_PDU(m_ngap_initMsg(/*initiating msgtemplate*/));
            //f_recv_NGAP_PDU(?);
                    // TODO

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");
@@ -63,13 +67,202 @@ module NG_NAS_TCFunctions{
                    //TODO: f_postamble_NGAP_gNB();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                } // End of function f_TC_5GNAS_AMF_AUT_REQ_01
    
                /**
                 * @desc Testcase function for TC_5GNAS_AMF_AUT_REQ_02
                 */
                function f_TC_5GNAS_AMF_AUT_REQ_02() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                    // Local variables

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

        } // End of function f_TC_NGNAS_aMF_functionName_01
                    // Body
                    // TODO

    } // End of group TC_function_template
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                    // Postamble
                    //TODO: f_postamble_NGAP_gNB();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                } // End of function f_TC_5GNAS_AMF_AUT_REQ_02
    
                /**
                 * @desc Testcase function for TC_5GNAS_AMF_AUT_REQ_03
                 */
                function f_TC_5GNAS_AMF_AUT_REQ_03() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                    // Local variables

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

                    // Body
                    // TODO

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                    // Postamble
                    //TODO: f_postamble_NGAP_gNB();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                } // End of function f_TC_5GNAS_AMF_AUT_REQ_03
    
                /**
                 * @desc Testcase function for TC_5GNAS_AMF_AUT_REQ_04
                 */
                function f_TC_5GNAS_AMF_AUT_REQ_04() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                    // Local variables

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

                    // Body
                    // TODO

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                    // Postamble
                    //TODO: f_postamble_NGAP_gNB();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                } // End of function f_TC_5GNAS_AMF_AUT_REQ_04
    
                /**
                 * @desc Testcase function for TC_5GNAS_AMF_AUT_REQ_05
                 */
                function f_TC_5GNAS_AMF_AUT_REQ_05() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                    // Local variables

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

                    // Body
                    // TODO

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                    // Postamble
                    //TODO: f_postamble_NGAP_gNB();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                } // End of function f_TC_5GNAS_AMF_AUT_REQ_05
    
            } // End of group /*5_4_1_*/fiveGMM_Common_ProceduresPrimary_authentication_and_key_agreement_procedure

            group /*5_4_2_*/Security_mode_control_procedure {

                /**
                 * @desc Testcase function for TC_NGNAS_AMF_AUT_SEQ_01
                 */
                function f_TC_NGNAS_AMF_AUT_SEQ_01() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                    // Local variables

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

                    // Body
                    // TODO

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                    // Postamble
                    //TODO: f_postamble_NGAP_gNB();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                } // End of function f_TC_NGNAS_AMF_AUT_SEQ_01
    
            } // End of group /*5_4_2_*/Security_mode_control_procedure

        } // End of group /*5_4_*/fiveGMM_Common_Procedures

        group /*5_5_1_2_*/Registration_Procedure_for_initial_registration {
            
            /**
             * @desc Testcase function for TC_5GNAS_AMF_REG_ACC_01
             */
            function f_TC_5GNAS_AMF_REG_ACC_01() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                // Local variables

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

                // Body
                // TODO

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                // Postamble
                //TODO: f_postamble_NGAP_gNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
            } // End of function f_TC_5GNAS_AMF_REG_ACC_01

            /**
             * @desc Testcase function for TC_5GNAS_AMF_REG_ACC_02
             */
            function f_TC_5GNAS_AMF_REG_ACC_02() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                // Local variables

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

                // Body
                // TODO

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                // Postamble
                //TODO: f_postamble_NGAP_gNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
            } // End of function f_TC_5GNAS_AMF_REG_ACC_02

            /**
             * @desc Testcase function for TC_5GNAS_AMF_REG_ACC_03
             */
            function f_TC_5GNAS_AMF_REG_ACC_03() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                // Local variables

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

                // Body
                // TODO

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                // Postamble
                //TODO: f_postamble_NGAP_gNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
            } // End of function f_TC_5GNAS_AMF_REG_ACC_03

    group /*5_5_1_2_*/Registration_Procedure_for_initial_registration
    {
            /**
             * @desc Testcase function for TP_5GNAS_AMF_REG_REJ_01
             */
@@ -257,7 +450,195 @@ module NG_NAS_TCFunctions{

            } // End of function f_TC_5GNAS_AMF_REG_REJ_01

            /**
             * @desc Testcase function for TP_5GNAS_AMF_REG_REJ_02
             */
            function f_TC_5GNAS_AMF_REG_REJ_02() runs on NGNASComponent /*gNB_NGNAS_NGAPComponent*/ {
                // Local variables

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

                // Body
            
                f_send_NGAP_PDU(
                    m_ngap_initMsg(
                    m_n2_NGSetupRequest(
                        m_globalRANNodeID_globalGNB_ID(
                        m_ie_globalGnbId(
                        PX_PLMN_IDENTITY,
                        PX_GNB_ID,//'0000000000000000000000'B,//in template (value) bitstring p_gnbId,
                        -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit
                        )
                        ),
                        {
                        m_supportedTAItem(
                            PX_TACode,
                            {
                            m_ie_broadcastPLMNItem(
                                PX_PLMN_IDENTITY,//m_ie_pLMNIdentity('00f110'O),
                                {
                                m_sliceSupportItem(
                                    m_s_NSSAI(
                                    PX_SST,
                                    -,//      in template (omit) SD p_sD := omit,
                                    -//      in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit
                                    ),
                                    -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit
                                    )
                                }
                            )
                            },//in template (value) BroadcastPLMNList p_broadcastPLMNList,
                            -//in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit
                        )
                        },
                        PX_PAGING_DRX
                    )
                    )
                );
                
                f_recv_NGAP_PDU(
                    mw_ngap_unsuccMsg(
                        mw_n2_NGSetupFailure(
                            mw_cause_radioNetwork(
                                mww_causeRadioNetwork(?)
                            )
                        )
                    )

                );

                // f_recv_NGAP_PDU(
                //     mw_ngap_succMsg(
                //         mw_n2_NGSetupResponse(
                //         ?,
                //         {
                //             mw_servedGUAMIItem(
                //             mw_gUAMI(
                //                 ?,//template (present) PLMNIdentity p_pLMNIdentity := ?,
                //                 ?,//template (present) AMFRegionID p_aMFRegionID := ?,
                //                 ?,//template (present) AMFSetID p_aMFSetID := ?,
                //                 ?,//template (present) AMFPointer p_aMFPointer := ?,
                //                 *//template GUAMI.iE_Extensions p_iE_Extensions := *
                //             ),//template (present) GUAMI p_gUAMI := ?,
                //             *,//template AMFName p_backupAMFName := *,
                //             *//template ServedGUAMIItem.iE_Extensions p_iE_Extensions := *
                //             )
                //         },//template (present) ServedGUAMIList p_servedGUAMIList := ?,
                //         ?,//template (present) RelativeAMFCapacity p_relativeAmfCap:= ?,
                //         {
                //             mw_pLMNSupportItem(
                //             ?,//template (present) PLMNIdentity p_pLMNIdentity := ?,
                //             {
                //                 mw_sliceSupportItem(
                //                 mw_s_NSSAI(
                //                     ?,//template (present) SST p_sST := ?,
                //                     *,//template SD p_sD := *,
                //                     *//template S_NSSAI.iE_Extensions p_iE_Extensions := *
                //                 ),//template (present) S_NSSAI p_s_NSSAI := ?,
                //                 ?//template SliceSupportItem.iE_Extensions p_iE_Extensions := *
                //                 )
                //             },//template (present) SliceSupportList p_sliceSupportList := ?,
                //             *//template PLMNSupportItem.iE_Extensions p_iE_Extensions := *
                //             )
                //         }//template (present) PLMNSupportList p_plmnSuppList := ?
                //         )
                //     )
                // );

                f_recv_NGAP_PDU(?);

                vt_NgNasUl_Msg := m_NG_REGISTRATION_REQUEST(
                                    {'1'B,'001'B},//in template (value) RegistrationType p_RegistrationType,
                                    '000'B,//in template (value) NAS_KsiValue p_KeySetId,
                                    '0'B,//in template (value) B1_Type p_Tsc,
                                    {                              // 24.501 cl. 9.11.3.4
                                        iei:=omit,
                                        iel:='0002'O,
                                        idDigit1:='0000'B,                // 1st identitity digit
                                        oddEvenInd:='0'B,              // Odd/even indicator or Spare
                                        typeOfId:='000'B,                // Type of identity
                                        otherDigits:='00'O// length (1..infinity) optional  // Other identity digits, could be any length @sic R5-192389, @sic R5w190307 sic@ sic@
                                    }//in template (value) NG_MobileIdentity p_MobileId,
                                    
                                    /* in template (omit) NAS_KeySetIdentifier p_NonCurrentKSI := omit,
                                    in template (omit) NG_GMM_Cap p_GMM_Cap := omit,
                                    in template (omit) NG_UE_SecurityCapability p_UESecurityCap := omit,
                                    in template (omit) NSSAI p_ReqNSSAI := omit,
                                    in template (omit) NG_TrackingAreaId p_TAI := omit,
                                    in template (omit) UE_NetworkCap p_UE_NetworkCap := omit,
                                    in template (omit) ULDataStatus p_ULDataStatus := omit,
                                    in template (omit) PDU_SessionStatus p_PDU_SessionStatus := omit,
                                    in template (omit) MICO_Ind p_MICO_Ind := omit,
                                    in template (omit) UE_Status p_UE_Status := omit,
                                    in template (omit) NG_MobileIdentity p_AddGUTI := omit,
                                    in template (omit) AllowedPDU_SessionStatus p_AllowedPDU_SessionStatus := omit,
                                    in template (omit) UE_UsageSetting p_UE_UsageSetting := omit,
                                    in template (omit) NG_DRXparameter p_DRXparam := omit,
                                    in template (omit) EPS_MessageContainer p_EPSMsg := omit,
                                    in template (omit) LADN_Ind p_LADN_Ind := omit,
                                    in template (omit) PayloadContainerType p_ContainerType := omit, // @sic R5w190113 sic@
                                    in template (omit) PayloadContainer p_Payload := omit,
                                    in template (omit) NetworkSlicingInd p_NetworkSlicingInd := omit,
                                    in template (omit) NG_UpdateType p_NG_UpdateType := omit,
                                    in template (omit) MS_Clsmk2 p_MS_Clsmk2 := omit,
                                    in template (omit) CodecList p_SupportedCodecs := omit,
                                    in template (omit) EPS_BearerContextStatus p_EPS_BearerContextStatus := omit, // @sic R5s190543 sic@
                                    in template (omit) NASMessageContainer p_Msg := omit,
                                    in template (omit) ExtdDRXParams p_ExtdDRXParams := omit,
                                    in template (omit) GPRS_Timer3 p_T3324 := omit,
                                    in template (omit) UERadioCapId p_UERadioCapId := omit,
                                    in template (omit) MappedNSSAI p_MappedNSSAI := omit,
                                    in template (omit) AddInfoRequest p_AddInfoRequest := omit,
                                    in template (omit) WUSAssistInfo p_WUSAssistInfo := omit,
                                    in template (omit) N5GCInd p_N5GCInd := omit,
                                    in template (omit) NB_N1ModeDRXParams p_NB_N1ModeDRXParams := omit,
                                    in template (omit) UE_RequestType p_UeRequestType := omit,
                                    in template (omit) NG_PagingRestriction p_PagingRestrict := omit,
                                    in template (omit) ServiceLvlAAContainer p_ServiceLvlAA := omit,
                                    in template (omit) NID p_NId := omit,
                                    in template (omit) PLMN_IdIE p_MSPLMNwDisasterCondition := omit,
                                    in template (omit) PEIPS_AssistInfo p_RequestedPEIPS_AssistInfo := omit,
                                    in template (omit) GPRS_Timer3 p_T3512 := omit */
                                )
                vc_sendNAS_PDU := bit2oct(encvalue( vt_NgNasUl_Msg ));
                log(vt_NgNasUl_Msg);
                log(vc_sendNAS_PDU);

                f_send_NGAP_PDU(
                    m_ngap_initMsg(
                        m_n2_initialUeMessage(
                                                -,
                                                vc_sendNAS_PDU,
                                                m_uPTransportLayerInformation_userLocationInformationNR(
                                                                                                        m_userLocationInformationNR(
                                                                                                            m_nR_CGI,
                                                                                                            m_tAI
                                                                                                        ))
                    ))
                );

                f_recv_NGAP_PDU(?);



                //f_send_NGAP_PDU(m_ngap_initMsg(/*initiating msgtemplate*/));
                //f_recv_NGAP_PDU(?);

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                // Postamble
                //TODO: f_postamble_NGAP_gNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

            } // End of function f_TC_5GNAS_AMF_REG_REJ_02

        } // End of group /*5_5_1_2_*/Registration_Procedure_for_initial_registration

    } // End of group TP_AMF_NGAP

}// End of module NG_NAS_TCFunctions
+317 −47

File changed.

Preview size limit exceeded, changes collapsed.

+11 −9
Original line number Diff line number Diff line
@@ -115,15 +115,17 @@ module NG_NAS_TestConfiguration{
         * @desc Deletes configuration
         * @param 
         */
        function f_cf_Down() runs on NGNASComponent system TestAdapter {
            // Deactivate all
            deactivate;
        function f_cf_NGNAS_gNB_Down(
                                     inout gNB_NGNAS_NGAPComponent p_NGNAS_Component_gnb
                                     ) runs on gNB_NGNAS_NGAPComponent system TestAdapter {
            // Unmap all
            //unmap;
            unmap(p_NGNAS_Component_gnb:N2_gNBaMF_P, system:NGAP_gNB_1);
            // Disconnect all
            //disconnect;

        } // End of function f_cf_Down
            disconnect(self:syncPort, self:syncPort);
            disconnect(p_NGNAS_Component_gnb:syncPort, self:syncPort) ;
            // Deactivate all
            deactivate;
        } // End of function f_cf_NGNAS_gNB_Down

    } // End of group cfDown

Loading