Commit 4592f675 authored by pintar's avatar pintar
Browse files

MME_HAS_05-13 tests and related templates added

parent 18a5dc56
Loading
Loading
Loading
Loading
+37 −0
Original line number Original line Diff line number Diff line
@@ -213,6 +213,15 @@ module LibS1AP_Steps {
        function f_recv_HandoverCommand(in template (present) RecordOf_ProtocolIE p_value :=?
        function f_recv_HandoverCommand(in template (present) RecordOf_ProtocolIE p_value :=?
        ) runs on S1APComponent {
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_HandoverCommand(p_value))
            f_recv_S1AP_successfulOutcome(mw_HandoverCommand(p_value))
        } // End of function f_recv_HandoverCommand
        
        /**
         * @desc Receive S1AP Message Handover Preparation Failure
         * @param p_value Receive template for Handover Preparation Failure IEs
         */
        function f_recv_HandoverPreparationFailure(in template (present) RecordOf_ProtocolIE p_value :=?
        ) runs on S1APComponent {
            f_recv_S1AP_unsuccessfulOutcome(mw_HandoverPreparationFailure(p_value))
        } // End of function f_recv_HandoverRequired
        } // End of function f_recv_HandoverRequired
        
        
        /**
        /**
@@ -269,6 +278,24 @@ module LibS1AP_Steps {
            f_recv_S1AP_initiatingMessage(mw_PathSwitchRequest(p_value))
            f_recv_S1AP_initiatingMessage(mw_PathSwitchRequest(p_value))
        } // End of function f_recv_PathSwitchRequest
        } // End of function f_recv_PathSwitchRequest
        
        
        /**
         * @desc Receive S1AP Message Path Switch Request Acknowledge
         * @param p_value Receive template for Path Switch Request Acknowledge IEs
         */
        function f_recv_PathSwitchRequestAck(in template (present) RecordOf_ProtocolIE p_value :=?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_PathSwitchRequestAck(p_value))
        } // End of function f_recv_PathSwitchRequestAck

        /**
         * @desc Receive S1AP Message Path Switch Request Failure
         * @param p_value Receive template for Path Switch Request Failure IEs
         */
        function f_recv_PathSwitchRequestFailure(in template (present) RecordOf_ProtocolIE p_value :=?
        ) runs on S1APComponent {
            f_recv_S1AP_unsuccessfulOutcome(mw_PathSwitchRequestFailure(p_value))
        } 
        
        /**
        /**
         * @desc Receive S1AP Message eNB Status Transfer
         * @desc Receive S1AP Message eNB Status Transfer
         * @param p_value Receive template for eNB Status Transfer IEs
         * @param p_value Receive template for eNB Status Transfer IEs
@@ -1107,6 +1134,16 @@ module LibS1AP_Steps {
            f_send_S1AP_successfulOutcome(m_HandoverCommand(p_value))
            f_send_S1AP_successfulOutcome(m_HandoverCommand(p_value))
        } // End of function f_send_HandoverCommand
        } // End of function f_send_HandoverCommand
        
        
        /**
         * @desc Send S1AP Message Path Switch Request
         * @param p_value Send template with IE for Path Switch Request
         */
        function f_send_PathSwitchRequest(
                                          in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_PathSwitchRequest(p_value))
        } // End of function f_send_PathSwitchRequestAcknowledge
        
        /**
        /**
         * @desc Send S1AP Message Path Switch Request Acknowledge
         * @desc Send S1AP Message Path Switch Request Acknowledge
         * @param p_value Send template with IE for Path Switch Request Acknowledge
         * @param p_value Send template with IE for Path Switch Request Acknowledge
+344 −4

File changed.

Preview size limit exceeded, changes collapsed.

+437 −1
Original line number Original line Diff line number Diff line
@@ -5193,6 +5193,442 @@ module S1AP_TCFunctions {
                
                
            } // End of function f_TC_S1AP_MME_HAS_04_ENB2
            } // End of function f_TC_S1AP_MME_HAS_04_ENB2


            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_05
             */
            function f_TC_S1AP_MME_HAS_05() runs on S1APComponent { 
                // Local variables
                const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer := '12121212'O;
                const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_SRVCCHOIndication(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,
                        m_cause_ran(unspecified),
                        m_Target_CGI('000001'O, //plmn id
                                     '0001'O,//lac
                                     '0001'O //ci
                                    ),
                        c_sourceBSS_ToTargetBSS_TransparentContainer,
                        cSonly //SRVCCHOIndication
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,//handover_Type
                        c_targetBSS_ToSourceBSS_TransparentContainer,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_05

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_06
             */
            function f_TC_S1AP_MME_HAS_06() runs on S1APComponent { 
                // Local variables
                const SourceRNC_ToTargetRNC_TransparentContainer c_sourceRNC_ToTargetRNC_TransparentContainer := '12121212'O;
                const TargetRNC_ToSourceRNC_TransparentContainer c_targetRNC_ToSourceRNC_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_SRVCCHOIndication(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,
                        m_cause_ran(unspecified),
                        m_TargetRNC_ID(m_LAI('000001'O, //plmn id
                                             '0001'O),  //lac
                                       m_rNC_Id),
                        c_sourceRNC_ToTargetRNC_TransparentContainer,
                        cSonly //SRVCCHOIndication
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,//handover_Type
                        c_targetRNC_ToSourceRNC_TransparentContainer,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_06

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_07
             */
            function f_TC_S1AP_MME_HAS_07() runs on S1APComponent { 
                // Local variables
                const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer := '12121212'O;
                const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer_2nd := '12121212'O;
                
                const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer := '12121212'O;
                const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer_2nd := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_SRVCCHOInd_S2TTransCont2nd_MSClassmark23(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,
                        m_cause_ran(unspecified),
                        m_Target_CGI('000001'O, //plmn id
                                     '0001'O,//lac
                                     '0001'O //ci
                                    ),
                        c_sourceBSS_ToTargetBSS_TransparentContainer,
                        c_sourceBSS_ToTargetBSS_TransparentContainer_2nd,
                        pSandCS, //SRVCCHOIndication
                        '0000'O, //MSclassmark2 need to be coded due to 9.2.1.64 and ts 48.008
                        '0000'O  //MSclassmark3 need to be coded due to 9.2.1.65 and ts 48.008
                ));
                 
                f_recv_HandoverCommand(
                mw_HandoverCommandIEs_T2STransCont2nd_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetogeran,//handover_Type
                        c_targetBSS_ToSourceBSS_TransparentContainer,//TargetToSourceTransparentContainer
                        c_targetBSS_ToSourceBSS_TransparentContainer_2nd,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_07

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_08
             */
            function f_TC_S1AP_MME_HAS_08() runs on S1APComponent { 
                // Local variables
                const SourceRNC_ToTargetRNC_TransparentContainer c_sourceRNC_ToTargetRNC_TransparentContainer := '12121212'O;
                const TargetRNC_ToSourceRNC_TransparentContainer c_targetRNC_ToSourceRNC_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_SRVCCHOIndication(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,
                        m_cause_ran(unspecified),
                        m_TargetRNC_ID(m_LAI('000001'O, //plmn id
                                             '0001'O),  //lac
                                       m_rNC_Id),
                        c_sourceRNC_ToTargetRNC_TransparentContainer,
                        pSandCS
                ));
                 
                f_recv_HandoverCommand(
                    mw_HandoverCommandIEs_NASSecurity(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        ltetoutran,//handover_Type
                        c_targetRNC_ToSourceRNC_TransparentContainer,//TargetToSourceTransparentContainer
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_08
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_09
             */
            function f_TC_S1AP_MME_HAS_09() runs on S1APComponent { 
                // Local variables
                const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
                const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_HandoverRequired(
                    m_HandoverRequiredIEs_CSGID(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        intralte,
                        m_cause_ran(unspecified),
                        m_TargeteNB_ID(m_Global_ENB_ID('000001'O,
                                                       m_ENB_ID_macro),
                                       m_TAI('000001'O,
                                             '0001'O)),
                        c_source_ToTarget_TransparentContainer,
                        '000000000000000000000000001'B
                ));
                 
                f_recv_HandoverPreparationFailure(
                    mw_HandoverPreparationFailureIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//cause
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_09
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_10
             */
            function f_TC_S1AP_MME_HAS_10() runs on S1APComponent { 
                // Local variables
                
                // Preamble
                f_S1AP_mme_init();
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                action("trigger an Handover request");
              
                f_recv_HandoverRequest(
                    mw_HandoverRequestIEs(
                        -,
                        -,
                        -,
                        -,
                        {?},//E_RabsToBeSetupItem
                        -,
                        -,
                        -
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                //send HandoverRequestAck
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_10
            
            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_11
             */
            function f_TC_S1AP_MME_HAS_11() runs on S1APComponent { 
                // Local variables
                const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
                const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_PathSwitchRequest(
                    m_PathSwitchRequestIEs(
                    vc_eNB_UE_ID,
                    {m_E_RABToBeSwitchedDLItem(1,-,-,-)},
                    vc_MME_UE_ID,
                    m_eUTRAN_CGI('000001'O, //plmn id
                                 '0000000000000000000000000001'B ),//ci
                    m_TAI('000001'O,'0001'O),
                    m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B)
                ));
                 
                f_recv_PathSwitchRequestAck(
                    mw_PathSwitchRequestAckIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//security context
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_11

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_12
             */
            function f_TC_S1AP_MME_HAS_12() runs on S1APComponent { 
                // Local variables
                const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
                const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_PathSwitchRequest(
                    m_PathSwitchRequestIEs(
                    vc_eNB_UE_ID,
                    {m_E_RABToBeSwitchedDLItem(1,-,-,-)},
                    vc_MME_UE_ID,
                    m_eUTRAN_CGI('000001'O, //plmn id
                                 '0000000000000000000000000001'B ),//ci
                    m_TAI('000001'O,'0001'O),
                    m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B)
                ));
                 
                f_recv_PathSwitchRequestFailure(
                    mw_PathSwitchRequestFailureIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//cause
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_12

            /**
             * @desc Testcase function for TC_S1AP_MME_HAS_13
             */
            function f_TC_S1AP_MME_HAS_13() runs on S1APComponent { 
                // Local variables
                const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
                const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
                
                // Preamble
                f_S1AP_mme_init();
                // Preamble action: E-RAB Setup is exchanged.
                //f_rABSetup...;
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
                // sends a HANDOVER_REQUIRED
                f_send_PathSwitchRequest(
                    m_PathSwitchRequestIEs(
                    vc_eNB_UE_ID,
                    {    m_E_RABToBeSwitchedDLItem(1,-,-,-),
                         m_E_RABToBeSwitchedDLItem(1,-,-,-)
                    },
                    vc_MME_UE_ID,
                    m_eUTRAN_CGI('000001'O, //plmn id
                                 '0000000000000000000000000001'B ),//ci
                    m_TAI('000001'O,'0001'O),
                    m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B)
                ));
                 
                f_recv_PathSwitchRequestFailure(
                    mw_PathSwitchRequestFailureIEs(
                        vc_MME_UE_ID,
                        vc_eNB_UE_ID,
                        -//cause
                ));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                // Postamble
                //f_rABSetupRelease...;
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_MME_HAS_13
        } // End of group Handover_signalling_group
        } // End of group Handover_signalling_group
        
        
        /**
        /**