Commit 1ec8130e authored by rennoch's avatar rennoch
Browse files

Gx/PCEF test: RAU_03 (updated)

parent 8da19505
Loading
Loading
Loading
Loading
+59 −1
Original line number Diff line number Diff line
@@ -2590,6 +2590,64 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCEF_RAU_03
            
                        /*
            *  @desc	This is the test case function TC_PCEF_RAU_04
            *  @param	
            */
            function f_TC_PCEF_RAU_04()
            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
                
                action("Trigger for Session Termination");                									
                									
                // await termination including usage-monitoring-information
                f_awaiting_CCR(mw_CCR_Request_EvtTrig_UMI(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(TERMINATION_REQUEST_E),
                									mw_usageMonitoringInfo_Key_UsedServiceUnit(mw_usedServiceUnit(*,*)),
                									*));
                									
   				// 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_04
            
        
        }//end group TP_PCEFRole_RAU

    } //end group TP_PCEFRole