Commit 070fc425 authored by pintar's avatar pintar
Browse files

Test prposes and templates added

parent 280fe3bc
Loading
Loading
Loading
Loading
+190 −0
Original line number Diff line number Diff line
@@ -341,8 +341,198 @@ module DiameterGx_Gx_TCFunctions {
            
        }//end group TP_PCRFRole_INV
        group TP_PCRFRole_ST {	//Session Termination

            /*
            *  @desc	This is the test case function TC_PCRF_ST_01
            *  @param	
            */
            function f_TC_PCRF_ST_01()
            runs on DiameterComponent {
		
                f_preamble_PCEF();
		
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
				
				//establishement of the session
                f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send()));
                f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess)));
                
                //IP CAN termination
				f_send_CCR(m_CCR_UpdateRequest_IPcanTermination(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
                f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
		
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
		
                f_postamble_PCEF();

            } // end function f_TC_PCRF_ST_01

            /*
            *  @desc	This is the test case function TC_PCRF_ST_02
            *  @param	
            */
            function f_TC_PCRF_ST_02()
            runs on DiameterComponent {
		
                f_preamble_PCEF();
		
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
				
				//establishement of the session
                f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send()));
                f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess)));
                
                //session termination
				f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
                f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
		
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
		
                f_postamble_PCEF();

            } // end function f_TC_PCRF_ST_02

            /*
            *  @desc	This is the test case function TC_PCRF_ST_03
            *  @param	
            */
            function f_TC_PCRF_ST_03()
            runs on DiameterComponent {
		
                f_preamble_PCEF();
		
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
				
				//establishement of the session
                f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send()));
                f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess)));
                
                //termination of IPCAN session due to an internal SPR trigger
                f_awaiting_RAR(mw_RAR_sessReleaseCause(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost));
                f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));
                
                //session termination
				f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
                f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
		
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
		
                f_postamble_PCEF();

            } // end function f_TC_PCRF_ST_03
            
        }//end group  TP_PCRFRole_ST
        group TP_PCRFRole_PCC {	//PCC rules

            /*
            *  @desc	This is the test case function TC_PCRF_PCC_01
            *  @param	
            */
            function f_TC_PCRF_PCC_01()
            runs on DiameterComponent {
		
                f_preamble_PCEF();
		
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
				
				//establishement of the session
                f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send()));
                f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess)));
                
                //activation of PCC rule
                f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name));
        
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
                f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));
		        
                //postamble
                //session termination
				f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
                f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
		
                f_postamble_PCEF();

            } // end function f_TC_PCRF_PCC_01

            /*
            *  @desc	This is the test case function TC_PCRF_PCC_02
            *  @param	
            */
            function f_TC_PCRF_PCC_02()
            runs on DiameterComponent {
		
                f_preamble_PCEF();
		
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
				
				//establishement of the session
                f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send()));
                f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess)));
                
                //activation of PCC rule
                f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_Name));
        		f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));
                
                //deactivation of PCC rule
                f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost));
        
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
                f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));
		        
                //postamble
                //session termination
				f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
                f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
		
                f_postamble_PCEF();

            } // end function f_TC_PCRF_PCC_02

            /*
            *  @desc	This is the test case function TC_PCRF_PCC_03
            *  @param	
            */
            function f_TC_PCRF_PCC_03()
            runs on DiameterComponent {
		
                f_preamble_PCEF();
		
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
				
				//establishement of the session
                f_send_CCR(m_CCR_InitialRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send()));
                f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess)));
                
                //activation of PCC rules
                f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, mw_chrgRuleInstall_BaseName));
        
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
                f_send_RAA(m_RAA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess)));
		        
                //postamble
                //session termination
				f_send_CCR(m_CCR_TerminationRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm));
                f_awaiting_CCA(mw_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
		
                f_postamble_PCEF();

            } // end function f_TC_PCRF_PCC_03
            
        }//end group TP_PCRFRole_PCC
        group TP_PCRFRole_EMS {	//Emergency services
        }//end group TP_PCRFRole_EMS
+167 −4
Original line number Diff line number Diff line
@@ -76,6 +76,28 @@ module DiameterGx_Templates {
                aVP_Type := omit
            }      
                
            template Charging_Rule_Install_AVP mw_chrgRuleInstall_dummy :=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Definition := *,
                charging_Rule_Name := *,
                charging_Rule_Base_Name := *,
                bearer_Identifier := *,
                rule_Activation_Time := *,
                rule_DeActivation_Time := *,
                resource_Allocation_Notification := *,
                charging_Correlation_Indicator := *,
                aVP_Type := *
            }      
                
            template Charging_Rule_Remove_AVP mw_chrgRuleRemove_dummy :=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Name := *,
                charging_Rule_Base_Name := *,
                aVP_Type := *
            }
            
        } //end group DummyAVPHeaders
    
     	group SpecificAVPHeaders {
@@ -483,6 +505,40 @@ module DiameterGx_Templates {
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := p_avpData
            }
                
            template Session_Release_Cause_AVP mw_sessReleaseCause(template (present) Session_Release_Cause p_avpData) :=
            {
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := p_avpData
            }      
                
            template Charging_Rule_Install_AVP mw_chrgRuleInstall_Name modifies mw_chrgRuleInstall_dummy:=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Name := {{
                    aVP_Header := ?,
                	aVP_Data := ?
                }}
            }      
                
            template Charging_Rule_Install_AVP mw_chrgRuleInstall_BaseName modifies mw_chrgRuleInstall_dummy:=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Base_Name := {{
                    aVP_Header := ?,
                	aVP_Data := ?
                }}
            }      
                
            template Charging_Rule_Remove_AVP mw_chrgRuleRemove modifies mw_chrgRuleRemove_dummy:=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Name := {{
                    aVP_Header := ?,
                	aVP_Data := ?
                }}
            }
            
     	  }//end group awaitingTemplatesForAVPs
        } //end group SpecificAVPHeaders
    } //end group HeaderFieldTemplates
@@ -522,6 +578,21 @@ module DiameterGx_Templates {
                cC_Request_Number := m_cC_Request_Number(0)
            }
            
            template RAR_MSG m_RAR_basic(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
                                        template Destination_Realm_AVP p_destinationRealm,
                                        template Destination_Host_AVP p_destinationHost
                                        ) modifies m_RAR_dummy := {
                header := m_diameterHeaderReq_dummy(RAR_E, c_applIdGx),
                session_Id := p_sessionId,
                origin_Host := p_originHost,
                origin_Realm := p_originRealm,
                destination_Realm := p_destinationRealm,
                destination_Host := p_destinationHost,
                auth_Application_Id := m_authApplicationId(c_applIdGx)
            }
                    
        } // end group Gxbasic_request_templates_send

      	group Gxbasic_request_templates_receive {
@@ -540,6 +611,20 @@ module DiameterGx_Templates {
                cC_Request_Type := p_cCRequestType
            }
            
            template RAR_MSG mw_RAR_basic(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
                                        template Destination_Realm_AVP p_destinationRealm,
                                        template Destination_Host_AVP p_destinationHost
                                        ) modifies mw_RAR_dummy := {
                header := mw_diameterHeaderReq_dummy(RAR_E, c_applIdGx),
                session_Id := p_sessionId,
                origin_Host := p_originHost,
                origin_Realm := p_originRealm,
                destination_Realm := p_destinationRealm,
                destination_Host := p_destinationHost
            }

        }//end group Gxbasic_request_templates_receive
          
        group Gxbasic_answer_templates_send {
@@ -557,6 +642,17 @@ module DiameterGx_Templates {
                cC_Request_Number := m_cC_Request_Number(0)
            }
            
            template RAA_MSG m_RAA_basic(template Session_Id_AVP p_sessionId,
                                         template Origin_Host_AVP p_originHost,
                                         template Origin_Realm_AVP p_originRealm)
                modifies m_RAA_dummy := 
            {
                header := m_diameterHeaderAns_dummy(RAA_E, c_applIdGx),
                session_Id := p_sessionId,
                origin_Host := p_originHost,
                origin_Realm := p_originRealm
            }
            
        }          
        group Gxbasic_answer_templates_receive {
    		
@@ -571,6 +667,17 @@ module DiameterGx_Templates {
                    origin_Realm := p_originRealm
            }
            
            template RAA_MSG mw_RAA_basic(template Session_Id_AVP p_sessionId,
                                         template Origin_Host_AVP p_originHost,
                                         template Origin_Realm_AVP p_originRealm)
                modifies mw_RAA_dummy := 
            {
                header := mw_diameterHeaderAns_dummy(RAA_E, c_applIdGx),
                session_Id := p_sessionId,
                origin_Host := p_originHost,
                origin_Realm := p_originRealm
            }
    		
        }          
          
      } //end group Gxbase_templates
@@ -662,8 +769,8 @@ 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),
                    														m_pCC_Rule_Status(PX_PCC_RULE_STATUS),
                charging_Rule_Report := {m_chargRuleReport_RNameStatusFailure(m_charging_Rule_Name('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)}
            }
@@ -683,6 +790,25 @@ module DiameterGx_Templates {
                event_Trigger := {m_event_Trigger(RESOURCE_MODIFICATION_REQUEST_E)}
            }
            
            template CCR_MSG m_CCR_UpdateRequest_IPcanTermination(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
                                        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),
                    														m_pCC_Rule_Status(INACTIVE_E),
                    														m_rule_Failure_Code(RESOURCE_ALLOCATION_FAILURE_E))}
            }
            
            template CCR_MSG m_CCR_TerminationRequest(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
                                        template Destination_Realm_AVP p_destinationRealm) modifies m_CCR_basic := {
                cC_Request_Type := m_cC_Request_Type(TERMINATION_REQUEST_E),
                cC_Request_Number := m_cC_Request_Number(1)
            }

          } //     end group Gxmodified_request_templates_send

		  group Gxmodified_request_templates_receive {
@@ -704,10 +830,47 @@ module DiameterGx_Templates {
                routing_Rule_Install := p_routing_Rule_Install
            }
            
            template RAR_MSG mw_RAR_sessReleaseCause(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
                                        template Destination_Realm_AVP p_destinationRealm,
                                        template Destination_Host_AVP p_destinationHost
                                        ) modifies mw_RAR_basic := {
                session_Release_Cause := mw_sessReleaseCause(?) 
            }
            
            template RAR_MSG mw_RAR_PCCrules_ChrgRuleInstall(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
                                        template Destination_Realm_AVP p_destinationRealm,
                                        template Destination_Host_AVP p_destinationHost,
                                        template Charging_Rule_Install_AVP p_chrgRuleInstall
                                        ) modifies mw_RAR_basic := {
                charging_Rule_Install := {p_chrgRuleInstall} 
            }
            
            template RAR_MSG mw_RAR_PCCrules_ChrgRuleRemove(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
                                        template Destination_Realm_AVP p_destinationRealm,
                                        template Destination_Host_AVP p_destinationHost
                                        ) modifies mw_RAR_basic := {
                charging_Rule_Remove := {mw_chrgRuleRemove} 
            }
			  
		  } //     end group Gxmodified_request_templates_receive
		  
          group Gxmodified_answer_templates_send {
            
            template RAA_MSG m_RAA_ResultCode(template Session_Id_AVP p_sessionId,
                                         template Origin_Host_AVP p_originHost,
                                         template Origin_Realm_AVP p_originRealm,
                                         template Result_Code_AVP p_resultCode)
                modifies m_RAA_basic := 
            {
                result_Code := p_resultCode
            }
          
          } //     end group Gxmodified_answer_templates_send
		  
          group Gxmodified_answer_templates_receive {
@@ -733,7 +896,7 @@ module DiameterGx_Templates {
                                                           template Origin_Host_AVP p_originHost,
                                                           template Origin_Realm_AVP p_originRealm) modifies mw_CCA_basic := 
              {
                  charging_Rule_Install := ?
                  charging_Rule_Install := {?}
              }
          
              template CCA_MSG mw_CCA_ExperimentalResult( template Session_Id_AVP p_sessionId,
+292 −57

File changed.

Preview size limit exceeded, changes collapsed.