Commit 038b7143 authored by rennoch's avatar rennoch
Browse files

add declaration for TC_HPCRF_HSM_03

parent cbbb337c
Loading
Loading
Loading
Loading
+47 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ module DiameterS9_S9_TCFunctions {
    import from LibDiameter_Templates all;
    import from LibDiameter_Interface all;
    import from LibDiameter_Steps all;
    import from LibDiameter_Types_Base_AVPs all;

    //DiameterS9
    import from DiameterS9_Templates all;
@@ -203,7 +204,10 @@ module DiameterS9_S9_TCFunctions {
                                                )
                                                );

                f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?));
                f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId,
                    vc_originHost_IUT, vc_originRealm_IUT,
                    mw_resultCode(mw_resultCode_diameterSuccess),
                    {mw_SubsesDecisionInfo_qosRuleInstall(mw_subsessionId_dummy(1),?)}) );
                    
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

@@ -217,6 +221,47 @@ module DiameterS9_S9_TCFunctions {
            } // end function TC_HPCRF_HSM_02


            /*
            *  @desc    This is the test case function TC_PCRF_HA_03
            *  @param
            */
            function f_TC_HPCRF_HSM_03()
            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_SUBSESSION_E)),
                    {(mw_SubsesDecisionInfo_resultCode(mw_subsessionId_dummy(1),?),mw_SubsesDecisionInfo_expResultCode(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_03


        } // group TP_HPCRFRole_HSM        

    } // group TP_HPCRFRole    
+41 −1
Original line number Diff line number Diff line
@@ -641,6 +641,33 @@ module DiameterS9_Templates {
                    qoS_Rule_Install				:= p_qosRuleInstall
                }

                
                template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_resultCode  ( template (present) Subsession_Id_AVP p_subsessionId, 
                            template Result_Code_AVP p_resultCode) 
                            modifies mw_SubsesDecisionInfo_dummy := 
                {
                    result_Code				:= p_resultCode
                }
                
                template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_expResultCode  ( template (present) Subsession_Id_AVP p_subsessionId, 
                            template Experimental_Result_AVP p_experimentalResult) 
                            modifies mw_SubsesDecisionInfo_dummy := 
                {
                    experimental_Result				:= p_experimentalResult
                }
                
                template Experimental_Result_AVP mw_experimentalResult(template(present) Experimental_Result_Code_AVP p_ExperimentalResultCode) := {
                    aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_experimental_Result_AVP_Code),
                    vendor_Id := ?,
                    experimental_Result_Code := p_ExperimentalResultCode
                }                
                
                template Experimental_Result_Code_AVP mw_expResultCode(Experimental_Result_Type p_avpData) :=
                {
                    aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_experimental_Result_Code_AVP_Code),
                    aVP_Data := p_avpData
                }                
                
			}//end group awaitingTemplatesForAVPs
        } //end group SpecificAVPHeaders
    } //end group HeaderFieldTemplates
@@ -944,6 +971,19 @@ module DiameterS9_Templates {
                }


                template CCA_MSG mw_CCA_ExpResult_SubsesDecInfo(template (present) Session_Id_AVP   p_sessionId,
                                                                     template (present) Origin_Host_AVP  p_originHost,
                                                                     template (present) Origin_Realm_AVP p_originRealm,
                                                                     template (present) Experimental_Result_AVP  p_experimentalResult,
                                                                     template (present) CCA_MSG.cCA_Body.subsession_Decision_Info p_subsessionDecisionInfo
                                                                    ) 
                modifies mw_CCA_basic := {
                    cCA_Body := {
                        experimental_Result           := p_experimentalResult,
                        subsession_Decision_Info      := p_subsessionDecisionInfo
                    }
                }                
                            	
            	
        	} // end group S9modified_answer_templates_receive
    	} //end group S9modified_templates