Commit cdefa10b authored by pintar's avatar pintar
Browse files

New TP groups VQR, VPQ, VST of tests added

parent e559870b
Loading
Loading
Loading
Loading
+477 −2
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ module DiameterS9_Gxx_TCFunctions {
    group TP_VPCRFRole{ // §5.2.2
        group TP_VPCRFRole_MS{
        }// end group TP_VPCRFRole_MS

        group TP_VPCRFRole_HSE{

            /*
@@ -914,8 +915,482 @@ module DiameterS9_Gxx_TCFunctions {

            } // end function f_TC_VPCRF_HSL_01_BBERF2

            
        }// end group TP_VPCRFRole_HSL

        group TP_VPCRFRole_VQR{

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VQR_01_PCEF
            *  @param
            */
            function f_TC_VPCRF_VQR_01_PCEF()
            runs on DiameterComponent {

                f_preamble_PCEF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_send_CCR(m_CCR_Gx_InitialRequest_chrgRuleReport
                              (vc_sessionId,
                               vc_originHost,
                               vc_originRealm,
                               vc_destinationRealm,
                               f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                               f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                               {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                   valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                               {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))}
                               )
                          );

                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_PCEF(); // postamble

                f_postamble_PCEF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VQR_01_PCEF

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VQR_02_BBERF
            *  @param
            */
            function f_TC_VPCRF_VQR_02_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_send_CCR(m_CCR_Gxx_InitialRequest_qosRuleReport
                               (vc_sessionId,
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationRealm,
                                f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                                f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                                {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                    valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                                {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))},
                                omit,
                                {m_qoSRuleReport_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME)})}
                                )
                          );

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_BBERF_case2a(); // postamble

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VQR_02_BBERF1

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VQR_03_BBERF1
            *  @param
            */
            function f_TC_VPCRF_VQR_03_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_send_CCR(m_CCR_Gxx_InitialRequest_qosRuleReport
                               (vc_sessionId,
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationRealm,
                                f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                                f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                                {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                    valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                                {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))},
                                m_called_Station_Id(PX_CALLED_STATION_ID_PDN),
                                {m_qoSRuleReport_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME)})}
                                )
                          );

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_BBERF_case2b(); // postamble

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VQR_03_BBERF1

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VQR_04_PCEF
            *  @param
            */
            function f_TC_VPCRF_VQR_04_PCEF()
            runs on DiameterComponent {

                f_preamble_PCEF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_send_CCR(m_CCR_Gx_InitialRequest_chrgRuleReport
                              (vc_sessionId,
                               vc_originHost,
                               vc_originRealm,
                               vc_destinationRealm,
                               f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                               f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                               {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                   valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                               {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))}
                               )
                          );

                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync

                f_send_CCR(m_CCR_Gx_UpdateRequest_chrgRuleReport
                              (vc_sessionId,
                               vc_originHost,
                               vc_originRealm,
                               vc_destinationRealm,
                               {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))}
                               )
                          );

                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_PCEF(); // postamble

                f_postamble_PCEF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VQR_04_PCEF

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VQR_05_BBERF
            *  @param
            */
            function f_TC_VPCRF_VQR_05_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2a();

                f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync

                //CCR SESSION MODIFICATION
                f_send_CCR(m_CCR_Gxx_UpdateRequest(vc_sessionId,
                                                vc_originHost,
                                                vc_originRealm,
                                                vc_destinationRealm,
                                                {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                                    valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                                                omit,
                                                {m_qoSRuleReport_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME)})}
                                                )
                          );

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_BBERF_case2a(); // postamble

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VQR_05_BBERF1

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VQR_06_BBERF1
            *  @param
            */
            function f_TC_VPCRF_VQR_06_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2b();

                f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync

                //CCR SESSION MODIFICATION
                f_send_CCR(m_CCR_Gxx_UpdateRequest(vc_sessionId,
                                                vc_originHost,
                                                vc_originRealm,
                                                vc_destinationRealm,
                                                {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                                    valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                                                m_called_Station_Id(PX_CALLED_STATION_ID_PDN),
                                                {m_qoSRuleReport_RuleName({m_qoSRuleName_dummy(PX_QOS_RULE_NAME)})}
                                                )
                          );

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_BBERF_case2b(); // postamble

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VQR_06_BBERF1

        }// end group TP_VPCRFRole_VQR

        group TP_VPCRFRole_VPQ{

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VPQ_01_BBERF1
            *  @param
            */
            function f_TC_VPCRF_VPQ_01_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2a();
                //RAR SESSION TERMINATION if needed
//                f_awaiting_RAR(mw_RAR_Gxx_SessRelCause(vc_sessionId, 
//                                                    vc_originHost,
//                                                    vc_originRealm,
//                                                    vc_destinationRealm,
//                                                    vc_destinationHost,
//                                                    ?
//                                                    ));

                //f_send_RAA(m_RAA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_BBERF_case2a(); // postamble

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VPQ_01_BBERF1

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VPQ_02_BBERF1
            *  @param
            */
            function f_TC_VPCRF_VPQ_02_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2b();
                //RAR SESSION TERMINATION if needed
//                f_awaiting_RAR(mw_RAR_Gxx_SessRelCause(vc_sessionId, 
//                                                    vc_originHost,
//                                                    vc_originRealm,
//                                                    vc_destinationRealm,
//                                                    vc_destinationHost,
//                                                    ?
//                                                    ));

                //f_send_RAA(m_RAA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_BBERF_case2b(); // postamble

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VPQ_02_BBERF1

        }//end group TP_VPCRFRole_VPQ

        group TP_VPCRFRole_VST{

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VST_01_PCEF
            *  @param
            */
            function f_TC_VPCRF_VST_01_PCEF()
            runs on DiameterComponent {

                f_preamble_PCEF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_send_CCR(m_CCR_Gx_InitialRequest_chrgRuleReport
                              (vc_sessionId,
                               vc_originHost,
                               vc_originRealm,
                               vc_destinationRealm,
                               f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                               f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                               {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                   valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                               {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))}
                               )
                          );

                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_send_CCR(m_CCR_Gx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_postamble_PCEF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VST_01_PCEF

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VST_02_BBERF1
            *  @param
            */
            function f_TC_VPCRF_VST_02_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2a();
                //CCR SESSION TERMINATION
                f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, omit));

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VST_02_BBERF1

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VST_03_BBERF1
            *  @param
            */
            function f_TC_VPCRF_VST_03_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2b();
                //CCR SESSION TERMINATION
                f_send_CCR(m_CCR_Gxx_TerminationRequest(vc_sessionId, 
                                                        vc_originHost,
                                                        vc_originRealm,
                                                        vc_destinationRealm,
                                                        m_called_Station_Id(PX_CALLED_STATION_ID_PDN)
                                                        ));

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_HST_03_BBERF1

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VST_04_BBERF1
            *  @param
            */
            function f_TC_VPCRF_VST_04_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2a();
                //RAR SESSION TERMINATION
                f_awaiting_RAR(mw_RAR_Gxx_SessRelCause(vc_sessionId, 
                                                    vc_originHost,
                                                    vc_originRealm,
                                                    vc_destinationRealm,
                                                    vc_destinationHost,
                                                    ?
                                                    ));

                f_send_RAA(m_RAA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_BBERF_case2a(); // postamble

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VST_04_BBERF1

            /*
            *  @desc    This is the test case function f_TC_VPCRF_VST_05_BBERF1
            *  @param
            */
            function f_TC_VPCRF_VST_05_BBERF1()
            runs on DiameterComponent {

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2b();
                //RAR SESSION TERMINATION
                f_awaiting_RAR(mw_RAR_Gxx_SessRelCause(vc_sessionId, 
                                                    vc_originHost,
                                                    vc_originRealm,
                                                    vc_destinationRealm,
                                                    vc_destinationHost,
                                                    ?
                                                    ));

                f_send_RAA(m_RAA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                f_terminate_session_BBERF_case2b(); // postamble

                f_postamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_VPCRF_VST_05_BBERF1
        }// end group TP_VPCRFRole_VST

    } // group TP_VPCRFRole    
    
}// end module DiameterS9_Gxx_TCFunctions
 No newline at end of file
+69 −0

File changed.

Preview size limit exceeded, changes collapsed.

+555 −26

File changed.

Preview size limit exceeded, changes collapsed.

+15 −4
Original line number Diff line number Diff line
@@ -390,7 +390,7 @@
                                   m_resultCode(m_resultCode_diameterSuccess)));
        }

        function f_terminate_session_HPCRF_triggeredFromBBERF() runs on DiameterComponent
        function f_await_session_termination_HPCRF() runs on DiameterComponent
        {
            f_awaiting_CCR(mw_CCR_basic(?,
                                        vc_originHost,
@@ -407,16 +407,17 @@
        }

        function f_ConfigRun_HPCRF_PCEF(DiameterComponent p_diameterComponent_hpcrf,
                                         DiameterComponent p_diameterComponent_pcef) runs on ServerSyncComp
                                        DiameterComponent p_diameterComponent_pcef,
                                        in SyncPointList p_syncPointIds ) runs on ServerSyncComp
        {
            if (PX_Gxsupport) {
                // synchronize PTCs on 3 sychronization points
                f_serverSync2Clients({c_prDone, c_tbDone, c_poDone});
                f_serverSync2Clients(p_syncPointIds);
                f_cf_1S9_1Gx_hpcrfDown(p_diameterComponent_hpcrf,
                                       p_diameterComponent_pcef);
            } else {
                // synchronize single PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
                f_serverSync1Client(p_syncPointIds);
                f_cf_1S9_hpcrfDown(p_diameterComponent_hpcrf);
            }
        }
@@ -442,6 +443,16 @@
            f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));
        }

        /**
         * 
         * @desc 
         */
        function f_terminate_session_PCEF() runs on DiameterComponent
        {
            f_send_CCR(m_CCR_Gx_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
            f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));
        }

        function f_ConfigRun_HPCRF_BBERF(DiameterComponent p_diameterComponent_hpcrf,
                                         DiameterComponent p_diameterComponent_bberf,
                                         in SyncPointList p_syncPointIds ) runs on ServerSyncComp
+52 −1

File changed.

Preview size limit exceeded, changes collapsed.

Loading