Commit 87ac7a99 authored by pintar's avatar pintar
Browse files

New tests and templates added

parent 070fc425
Loading
Loading
Loading
Loading
+144 −4
Original line number Diff line number Diff line
@@ -446,7 +446,8 @@ module DiameterGx_Gx_TCFunctions {
                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_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
                
@@ -479,11 +480,13 @@ module DiameterGx_Gx_TCFunctions {
                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_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_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost,
                											mw_chrgRuleRemove_Name));
        
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
                
@@ -516,7 +519,8 @@ module DiameterGx_Gx_TCFunctions {
                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_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
                
@@ -533,6 +537,142 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCRF_PCC_03

            /*
            *  @desc	This is the test case function TC_PCRF_PCC_04
            *  @param	
            */
            function f_TC_PCRF_PCC_04()
            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)));
                
                //request confirmation of resource allocation for PCC rule
                f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall_EventTrigger(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost,
                															 mw_chrgRuleInstall_Name_resAllocNotif));
        
                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_04

            /*
            *  @desc	This is the test case function TC_PCRF_PCC_05
            *  @param	
            */
            function f_TC_PCRF_PCC_05()
            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)));
                
                //modification of PCC rule
                f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost,
                												mw_chrgRuleInstall_Definition));
        
                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_05

            /*
            *  @desc	This is the test case function TC_PCRF_PCC_06
            *  @param	
            */
            function f_TC_PCRF_PCC_06()
            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)));
                
                //remove PCC rule
                f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost,
                												mw_chrgRuleRemove_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_06

            /*
            *  @desc	This is the test case function TC_PCRF_PCC_07
            *  @param	
            */
            function f_TC_PCRF_PCC_07()
            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)));
                
                //remove group of PCC rules
                f_awaiting_RAR(mw_RAR_PCCrules_ChrgRuleRemove(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost,
                												mw_chrgRuleRemove_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_07
            
        }//end group TP_PCRFRole_PCC
        group TP_PCRFRole_EMS {	//Emergency services
        }//end group TP_PCRFRole_EMS
+86 −16
Original line number Diff line number Diff line
@@ -98,6 +98,29 @@ module DiameterGx_Templates {
                aVP_Type := *
            }  
                
            template Charging_Rule_Definition_AVP mw_chrgRuleDefinition_dummy :=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Name := ?,
                service_Identifier := *,
                rating_Group := *,
                flow_Information := *,
                flow_Status := *,
                qoS_Information := *,
				reporting_Level := *,
                online := *,
                offline := *,
                metering_Method := *,
                precedence := *,
                aF_Charging_Identifier := *,
                flows := *,
                monitoring_Key := *,
                aF_Signalling_Protocol := *,
                sponsor_Identity := *,
                application_Service_Provider_Identity := *,
                aVP_Type := *
            }
            
        } //end group DummyAVPHeaders
    
     	group SpecificAVPHeaders {
@@ -515,28 +538,63 @@ module DiameterGx_Templates {
            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 := ?
                }}
                charging_Rule_Name := {mw_chrgRuleName}
            }         
                
            template Charging_Rule_Install_AVP mw_chrgRuleInstall_Name_resAllocNotif modifies mw_chrgRuleInstall_dummy :=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Name := {mw_chrgRuleName},
                resource_Allocation_Notification := mw_resourceAllocNotif
            }         
                
            template Charging_Rule_Install_AVP mw_chrgRuleInstall_Definition modifies mw_chrgRuleInstall_dummy :=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Definition := {mw_chrgRuleDefinition},
                charging_Rule_Name := {mw_chrgRuleName}
            }     
                
            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 := ?
                }}
                charging_Rule_Base_Name := {mw_chrgRuleBaseName}
            }      
                
            template Charging_Rule_Remove_AVP mw_chrgRuleRemove_Name modifies mw_chrgRuleRemove_dummy:=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Name := {mw_chrgRuleName}
            }      
                
            template Charging_Rule_Remove_AVP mw_chrgRuleRemove_BaseName modifies mw_chrgRuleRemove_dummy:=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Base_Name := {mw_chrgRuleBaseName}
            }      
                
            template Charging_Rule_Remove_AVP mw_chrgRuleRemove modifies mw_chrgRuleRemove_dummy:=
            template Charging_Rule_Definition_AVP mw_chrgRuleDefinition modifies mw_chrgRuleDefinition_dummy:=
            {
                aVP_Header := mw_aVP_Header_any,
                charging_Rule_Name := {{
                    aVP_Header := ?,
                	aVP_Data := ?
                }}
                charging_Rule_Name := mw_chrgRuleName
            }        
                
            template Charging_Rule_Name_AVP mw_chrgRuleName:=
            {
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := ? //or PX_CHARGING_RULE_NAME_DATA
            }         
                
            template Charging_Rule_Base_Name_AVP mw_chrgRuleBaseName:=
            {
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := ? //or PX_CHARGING_RULE_BASE_NAME_DATA
            }   
                
            template Resource_Allocation_Notification_AVP mw_resourceAllocNotif:=
            {
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := ENABLE_NOTIFICATION_E
            }
            
     	  }//end group awaitingTemplatesForAVPs
@@ -849,13 +907,25 @@ module DiameterGx_Templates {
                charging_Rule_Install := {p_chrgRuleInstall} 
            }
            
            template RAR_MSG mw_RAR_PCCrules_ChrgRuleInstall_EventTrigger(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},
                event_Trigger := {m_event_Trigger(SUCCESSFUL_RESOURCE_ALLOCATION_E)}
            }
            
            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
                                        template Destination_Host_AVP p_destinationHost,
                                        template Charging_Rule_Remove_AVP p_chrgRuleRemove
                                        ) modifies mw_RAR_basic := {
                charging_Rule_Remove := {mw_chrgRuleRemove} 
                charging_Rule_Remove := {p_chrgRuleRemove} 
            }
			  
		  } //     end group Gxmodified_request_templates_receive
+213 −2
Original line number Diff line number Diff line
@@ -268,9 +268,220 @@ module DiameterGx_TestCases
        }//end group TP_PCRFRole_INV
        
        group TP_PCRFRole_ST {	//Session Termination	
            
            /*
            * @desc TC_PCRF_ST_01
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_ST_01() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_ST_01());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_ST_01 	
            
            /*
            * @desc TC_PCRF_ST_02
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_ST_02() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_ST_02());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_ST_02	
            
            /*
            * @desc TC_PCRF_ST_03
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_ST_03() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_ST_03());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_ST_03
            
        }//end group  TP_PCRFRole_ST
        
        group TP_PCRFRole_PCC {	//PCC rules	
            
            /*
            * @desc TC_PCRF_PCC_01
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_PCC_01() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_PCC_01());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_PCC_01
            
            /*
            * @desc TC_PCRF_PCC_02
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_PCC_02() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_PCC_02());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_PCC_02
            
            /*
            * @desc TC_PCRF_PCC_03
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_PCC_03() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_PCC_03());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_PCC_03
            
            /*
            * @desc TC_PCRF_PCC_04
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_PCC_04() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_PCC_04());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_PCC_04
            
            /*
            * @desc TC_PCRF_PCC_05
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_PCC_05() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_PCC_05());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_PCC_05
            
            /*
            * @desc TC_PCRF_PCC_06
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_PCC_06() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_PCC_06());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_PCC_06
            
            /*
            * @desc TC_PCRF_PCC_07
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_PCC_07() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcef;
                f_cf_1GxEUp(v_diameterComponent_pcef);
		
                //Start
                v_diameterComponent_pcef.start(f_TC_PCRF_PCC_07());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
		
            } // end TC_PCRF_PCC_07
        }//end group TP_PCRFRole_PCC
        
        group TP_PCRFRole_EMS {	//Emergency services