Commit d701f8c8 authored by rennoch's avatar rennoch
Browse files

Gx/PCEF tests: PCC-06

parent f34f6a66
Loading
Loading
Loading
Loading
+48 −3
Original line number Diff line number Diff line
@@ -1519,7 +1519,7 @@ module DiameterGx_Gx_TCFunctions {
				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_Name(m_charging_Rule_Name(PX_CHARGING_RULE_NAME_DATA))));
							m_chrgRuleInstall_Name(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA))));
                    
                f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 

@@ -1611,7 +1611,7 @@ module DiameterGx_Gx_TCFunctions {
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_event_Trigger(SUCCESSFUL_RESOURCE_ALLOCATION_E),
							m_chrgRuleInstall_Name_RAN(m_charging_Rule_Name(PX_CHARGING_RULE_NAME_DATA), m_resourceAllocNotif)));
							m_chrgRuleInstall_Name_RAN(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA), m_resourceAllocNotif)));
                    
                f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 

@@ -1701,7 +1701,7 @@ module DiameterGx_Gx_TCFunctions {
				f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleRemove // RAR in Rx-module has different header!
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_chrgRuleRemove_Name(m_charging_Rule_Name(PX_CHARGING_RULE_NAME_DATA))));
							m_chrgRuleRemove_Name(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA))));
                    
                f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 

@@ -1722,6 +1722,51 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCEF_PCC_05


            /*
            *  @desc	This is the test case function TC_PCEF_PCC_06
            *  @param	
            */
            function f_TC_PCEF_PCC_06()
            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_CharRuleRemove // RAR in Rx-module has different header!
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_chrgRuleRemove_BName(m_chrgRuleBaseName(PX_CHARGING_RULE_BASE_NAME_DATA))));
                    
                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_06
        
        }//end group TP_PCEFRole_PCC
        group TP_PCEFRole_EMS {	//Emergency services
        }//end group TP_PCRERole_EMS
+14 −7
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@ module DiameterGx_Templates {
            template Charging_Rule_Definition_AVP m_chrgRuleDefinition_dummy :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, 0, omit),
                charging_Rule_Name := m_charging_Rule_Name(''O),
                charging_Rule_Name := m_chargingRuleName(''O),
                service_Identifier := omit,
                rating_Group := omit,
                flow_Information := omit,
@@ -533,7 +533,14 @@ module DiameterGx_Templates {
                charging_Rule_Name := {p_chargingRuleName}
            }
            
            template Charging_Rule_Name_AVP m_charging_Rule_Name(octetstring p_avpData) :=
                                                            
            template Charging_Rule_Remove_AVP m_chrgRuleRemove_BName(template Charging_Rule_Base_Name_AVP p_chargingRuleBName) modifies m_chrgRuleRemove_dummy:=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleBName)), omit),
                charging_Rule_Base_Name := {p_chargingRuleBName}
            }
                
            template Charging_Rule_Name_AVP m_chargingRuleName(octetstring p_avpData) :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Name_AVP, lengthof(p_avpData), omit),
                aVP_Data := p_avpData
@@ -541,8 +548,8 @@ module DiameterGx_Templates {
                            
            template Charging_Rule_Definition_AVP m_chrgRuleDefinition (octetstring p_avpData) modifies m_chrgRuleDefinition_dummy:=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_charging_Rule_Name(p_avpData))), omit),
                charging_Rule_Name := m_charging_Rule_Name(p_avpData)
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData))), omit),
                charging_Rule_Name := m_chargingRuleName(p_avpData)
            }    
                            
            template Charging_Rule_Base_Name_AVP m_chrgRuleBaseName(UTF8String p_avpData):=
@@ -1084,7 +1091,7 @@ module DiameterGx_Templates {
                                        template Destination_Realm_AVP p_destinationRealm) modifies m_CCR_basic := {
                cC_Request_Type := m_cC_Request_Type(UPDATE_REQUEST_E),
                cC_Request_Number := m_cC_Request_Number(1),
                charging_Rule_Report := {m_chargRuleReport_RNameStatus(m_charging_Rule_Name(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))}, 
                charging_Rule_Report := {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))}, 
                event_Trigger := {m_event_Trigger(IP_CAN_CHANGE_E)}
            }
            
@@ -1134,7 +1141,7 @@ module DiameterGx_Templates {
                                        template Destination_Realm_AVP p_destinationRealm) modifies m_CCR_basic := {
                cC_Request_Type := m_cC_Request_Type(UPDATE_REQUEST_E),
                cC_Request_Number := m_cC_Request_Number(1),
                charging_Rule_Report := {m_chargRuleReport_RNameStatusFailure(m_charging_Rule_Name('111111'O),//failed PCC rule
                charging_Rule_Report := {m_chargRuleReport_RNameStatusFailure(m_chargingRuleName('111111'O),//failed PCC rule
                    														m_pCC_Rule_Status(ACTIVE_E),
                    														m_rule_Failure_Code(PX_RULE_FAILURE_CODE))}, 
                event_Trigger := {m_event_Trigger(IP_CAN_CHANGE_E)}
@@ -1161,7 +1168,7 @@ module DiameterGx_Templates {
                                        template Destination_Realm_AVP p_destinationRealm) modifies m_CCR_basic := {
                cC_Request_Type := m_cC_Request_Type(UPDATE_REQUEST_E),
                cC_Request_Number := m_cC_Request_Number(1),
                charging_Rule_Report := {m_chargRuleReport_RNameStatusFailure(m_charging_Rule_Name(PX_CHARGING_RULE_NAME_DATA),
                charging_Rule_Report := {m_chargRuleReport_RNameStatusFailure(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),
                    														m_pCC_Rule_Status(INACTIVE_E),
                    														m_rule_Failure_Code(RESOURCE_ALLOCATION_FAILURE_E))}
            }