Commit a7865d96 authored by rennoch's avatar rennoch
Browse files

add declaration for TC_HPCRF_HPQ

parent 038b7143
Loading
Loading
Loading
Loading
+110 −2
Original line number Diff line number Diff line
@@ -220,7 +220,6 @@ module DiameterS9_S9_TCFunctions {

            } // end function TC_HPCRF_HSM_02


            /*
            *  @desc    This is the test case function TC_PCRF_HA_03
            *  @param
@@ -261,9 +260,118 @@ module DiameterS9_S9_TCFunctions {

            } // end function TC_HPCRF_HSM_03

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

                f_preamble_VPCRF();
                
                f_initiate_session_VPCRF();

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

                f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId,
                                                vc_originHost,
                                                vc_originRealm,
                                                vc_destinationRealm,
                                                {m_qoSRuleReport_dummy},
                                                m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs 
                								{m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1),
                            							m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))}                                                        								    
                                                )
                                                );

                f_awaiting_CCA(mw_CCA_ExpResult_SubsesDecInfo(vc_sessionId,
                    vc_originHost_IUT, vc_originRealm_IUT,
                    mw_experimentalResult(mw_expResultCode(DIAMETER_ERROR_INITIAL_PARAMETERS_E)),
                    {mw_SubsesDecisionInfo_dummy(mw_subsessionId_dummy(1))} ) );

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

                //session termination
                f_terminate_session_VPCRF();

                f_postamble_VPCRF();

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

            } // end function TC_HPCRF_HSM_04

        } // group TP_HPCRFRole_HSM

        group TP_HPCRFRole_HPQ {//S9 Provision of QoS rules
        
            /*
            *  @desc    This is the test case function TC_HPCRF_HPQ_01
            *  @param
            */
            function TC_HPCRF_HPQ_01()
            runs on DiameterComponent {

                f_preamble_VPCRF();
                
                f_initiate_session_VPCRF();

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

                action("Please trigger PCRF for RAR to provide a QoS rule.");

                //activation of PCC rule
                f_awaiting_RAR(mw_RAR_QosRuleInst(vc_sessionId, ?, ?, ?, ?,
                                                                ?));

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


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

                //session termination
                f_terminate_session_VPCRF();

                f_postamble_VPCRF();

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

            } // end function TC_HPCRF_HPQ_01        
        
            /*
            *  @desc    This is the test case function TC_HPCRF_HPQ_02
            *  @param
            */
            function TC_HPCRF_HPQ_02()
            runs on DiameterComponent {

                f_preamble_VPCRF();
                
                f_initiate_session_VPCRF();

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

                action("Please trigger PCRF for RAR to provide a QoS rule.");

                //activation of PCC rule
                f_awaiting_RAR(mw_RAR_SubsessDecInfo(vc_sessionId, ?, ?, ?, ?,
                                                                {mw_SubsesDecisionInfo_qosRuleInstall(mw_subsessionId_dummy(1),?)}));

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


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

                //session termination
                f_terminate_session_VPCRF();

                f_postamble_VPCRF();

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

            } // end function TC_HPCRF_HPQ_02
        
        } // group TP_HPCRFRole_HPQ        

    } // group TP_HPCRFRole    

    group TP_VPCRFRole{ // §5.2.2
+41 −0
Original line number Diff line number Diff line
@@ -927,9 +927,50 @@ module DiameterS9_Templates {
                }
                
            } //     end group S9modified_request_templates_send
            
            group S9modified_request_templates_receive {
                
                template RAR_MSG mw_RAR_QosRuleInst(template Session_Id_AVP p_sessionId,
                                            template Origin_Host_AVP p_originHost,
                                            template Origin_Realm_AVP p_originRealm,
                                            template Destination_Realm_AVP p_destinationRealm,
                                            template Destination_Host_AVP p_destinationHost,
                                            template RAR_MSG.rAR_Body.qoS_Rule_Install p_qoSRuleInstall)
                    modifies mw_RAR_basic :=
                {
                    rAR_Body := {
                        qoS_Rule_Install := p_qoSRuleInstall
                    }
                }

                
                template RAR_MSG mw_RAR_SubsessDecInfo(template Session_Id_AVP p_sessionId,
                                            template Origin_Host_AVP p_originHost,
                                            template Origin_Realm_AVP p_originRealm,
                                            template Destination_Realm_AVP p_destinationRealm,
                                            template Destination_Host_AVP p_destinationHost,
                                            template RAR_MSG.rAR_Body.subsession_Decision_Info p_subsessionDecisionInfo)
                    modifies mw_RAR_basic :=
                {
                    rAR_Body := {
                        subsession_Decision_Info := p_subsessionDecisionInfo
                    }
                }
                
            } //     end group S9modified_request_templates_receive
            group S9modified_answer_templates_send {
                
                template RAA_MSG m_RAA_ResultCode(template Session_Id_AVP p_sessionId,
                                             template Origin_Host_AVP p_originHost,
                                             template Origin_Realm_AVP p_originRealm,
                                             template Result_Code_AVP p_resultCode)
                    modifies m_RAA_basic := {
                rAA_Body :=
                    {
                        result_Code := p_resultCode
                    }
                }
                
            } //     end group S9modified_answer_templates_send
            group S9modified_answer_templates_receive {
                template CCA_MSG mw_CCA_ResultCode(template (present) Session_Id_AVP   p_sessionId,