Commit 18960b79 authored by rennoch's avatar rennoch
Browse files

Gx/PCEF test: RAU_01 (updated), RAU_02 (new)

parent b7d2e7d5
Loading
Loading
Loading
Loading
+73 −0
Original line number Diff line number Diff line
@@ -2418,6 +2418,15 @@ module DiameterGx_Gx_TCFunctions {

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                // requesting montitoring control                                
				f_send_RAR(DiameterGx_Templates.m_RAR_EvTrigger_UMI // RAR in Rx-module has different header!
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_event_Trigger(USAGE_REPORT_E),
							m_usageMonitoringInformation(omit, omit)));                    
                f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 
                
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                
                action("Trigger for usage threshold reached");               
@@ -2448,6 +2457,70 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCEF_RAU_01
            
            
        
            /*
            *  @desc	This is the test case function TC_PCEF_RAU_02
            *  @param	
            */
            function f_TC_PCEF_RAU_02()
            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));
                
                // requesting montitoring control                                
				f_send_RAR(DiameterGx_Templates.m_RAR_EvTrigger_UMI // RAR in Rx-module has different header!
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_event_Trigger(USAGE_REPORT_E),
							m_usageMonitoringInformation(omit, omit)));                    
                f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); 
                                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                
				// trigger for usage report (removal of PCC rule)
				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_awaiting_CCR(mw_CCR_Request_EvtTrig_UMI(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(UPDATE_REQUEST_E),
                									mw_usageMonitoringInfo_Key_UsedServiceUnit(mw_usedServiceUnit(*,*)),
                									mw_eventTrigger(USAGE_REPORT_E)));
                									
   				// check that uplink or downlink volune has been indicated
   				if (not (ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[0].used_Service_Unit.cC_Input_Octets)
   						 or
   						 ispresent(vc_recvDiamMsg.cCR_MSG.usage_Monitoring_Information[0].used_Service_Unit.cC_Output_Octets)
   						 )
   				   )
   					{setverdict(fail)};
				
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync

                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_RAU_02
        
        }//end group TP_PCEFRole_RAU

    } //end group TP_PCEFRole