Commit 1727ad51 authored by rennoch's avatar rennoch
Browse files

Gx/PCEF tests: PCC-16/17

parent 55174e77
Loading
Loading
Loading
Loading
+90 −0
Original line number Diff line number Diff line
@@ -2212,6 +2212,96 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCEF_PCC_15
            
            /*
            *  @desc	This is the test case function TC_PCEF_PCC_16
            *  @param	
            */
            function f_TC_PCEF_PCC_16()
            runs on DiameterComponent {

               f_preamble_PCRF();
                
               f_awaiting_CCR(mw_CCR_Request(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(INITIAL_REQUEST_E),
                									*, *, *));

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                
				f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleInst // RAR in Rx-module has different header!
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_chrgRuleInstall_Definition_ActTime(m_chrgRuleDefinition(PX_CHARGING_RULE_NAME_DATA), m_activationTime(PX_ACTIVATION_TIME))));
                    
                f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
                f_awaiting_CCR(mw_CCR_basic(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(TERMINATION_REQUEST_E)
                									));

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
    
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

                f_postamble_PCRF();

            } // end function f_TC_PCEF_PCC_16
            
            /*
            *  @desc	This is the test case function TC_PCEF_PCC_17
            *  @param	
            */
            function f_TC_PCEF_PCC_17()
            runs on DiameterComponent {

               f_preamble_PCRF();
                
               f_awaiting_CCR(mw_CCR_Request(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(INITIAL_REQUEST_E),
                									*, *, *));

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                
				f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleInst // RAR in Rx-module has different header!
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_chrgRuleInstall_Definition_DeActTime(m_chrgRuleDefinition(PX_CHARGING_RULE_NAME_DATA), m_deactivationTime(PX_DEACTIVATION_TIME))));
                    
                f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
                f_awaiting_CCR(mw_CCR_basic(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(TERMINATION_REQUEST_E)
                									));

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
    
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

                f_postamble_PCRF();

            } // end function f_TC_PCEF_PCC_17
            

                    
        }//end group TP_PCEFRole_PCC
        group TP_PCEFRole_EMS {	//Emergency services
        }//end group TP_PCRERole_EMS
+14 −0
Original line number Diff line number Diff line
@@ -299,6 +299,20 @@ module DiameterGx_PIXITS
        */
        modulepar UInt64 PX_REVALIDATION_TIME := 7;  
                                
        /** @desc	octectstring, PIXIT item A.1/
         * avp_Data within Rule_Activation_Time_AVP is of UInt64 type
         * (parameter is part of Charging_Rule_Install_AVP)
        */
        modulepar UInt64 PX_ACTIVATION_TIME := 7;  
        
                                        
        /** @desc	octectstring, PIXIT item A.1/
         * avp_Data within Rule_DeActivation_Time_AVP is of UInt64 type
         * (parameter is part of Charging_Rule_Install_AVP)
        */
        modulepar UInt64 PX_DEACTIVATION_TIME := 7;  
        
        
	} //end group DiameterCommonGxData

} // end module DiameterGx_PIXITS
 No newline at end of file
+30 −1
Original line number Diff line number Diff line
@@ -534,6 +534,22 @@ module DiameterGx_Templates {
            }
            
                                    
            template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_ActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_Activation_Time_AVP p_ruleActivationTime) modifies m_chrgRuleInstall_dummy:=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))+lengthof(encvalue(p_ruleActivationTime)), omit),
                charging_Rule_Definition := {p_chargingRuleDefinition},
                rule_Activation_Time := p_ruleActivationTime
            }
            
                                                
            template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_DeActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_DeActivation_Time_AVP p_ruleDeActivationTime) modifies m_chrgRuleInstall_dummy:=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))+lengthof(encvalue(p_ruleDeActivationTime)), omit),
                charging_Rule_Definition := {p_chargingRuleDefinition},
                rule_DeActivation_Time := p_ruleDeActivationTime
            }
            
                                    
            template Charging_Rule_Install_AVP m_chrgRuleInstall_CorrelationId(template Charging_Correlation_Indicator_AVP p_chargingCorrelationIndicator) modifies m_chrgRuleInstall_dummy:=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingCorrelationIndicator)), omit),
@@ -741,6 +757,19 @@ module DiameterGx_Templates {
                aVP_Data := p_avpData
            }               
                                    
            template Rule_Activation_Time_AVP m_activationTime (Time p_avpData) :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdRule_Activation_Time_AVP, 8, omit),
                aVP_Data := p_avpData
            }           
            
                                                
            template Rule_DeActivation_Time_AVP m_deactivationTime (Time p_avpData) :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdRule_DeActivation_Time_AVP, 8, omit),
                aVP_Data := p_avpData
            }      
                           
            
     	  }//end group sendingTemplatesForAVPs
     	  group awaitingTemplatesForAVPs{