Commit 6bb04460 authored by rennoch's avatar rennoch
Browse files

Gx/PCRF test: IPS04/05

parent 762da4bf
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -125,6 +125,30 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCRF_IPS_04            


            /*
            *  @desc	This is the test case function TC_PCRF_IPS_05
            *  @param	
            */
            function f_TC_PCRF_IPS_05()
            runs on DiameterComponent {
		
                f_preamble_PCEF();
		
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
		
                f_send_CCR(m_CCR_InitialRequest_ANGWaddress(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))} ));
        
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
		
                f_awaiting_CCA(mw_CCA_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm, ?));
            
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
		
                f_postamble_PCEF();

            } // end function f_TC_PCRF_IPS_05
            
        }//end group TP_PCRFRole_IPS
        group TP_PCRFRole_MSI {	//Modification of Session Information

+16 −2
Original line number Diff line number Diff line
@@ -195,19 +195,33 @@ module DiameterGx_PIXITS
        */
        modulepar Bearer_Usage PX_BEARER_USAGE_DATA := IMS_SIGNALLING_E;
        
        /** @desc	charstring, 
        /** @desc	 
                     
       The ANCA (Access-Network-Charging-Address) in IPv4Addr format
    
        */
        modulepar IPv4Addr PX_ANCA_ipv4 := {1,2,3,4};
        /** @desc	charstring, 
        /** @desc	
                     
       The ANCA (Access-Network-Charging-Address) in type IPv6Addr format
    
        */
        modulepar IPv6Addr PX_ANCA_ipv6 := {1,2,3,4,5,6,7,8};

        /** @desc	 
                     
       The SGW/AGW in IPv4Addr format (3GPP-EPS and 3GPP2 accesses)
    
        */
        modulepar IPv4Addr PX_SGW_AGW_ipv4 := {1,2,3,4};
        /** @desc	
                     
       The SGW/AGW in type IPv6Addr format (3GPP-EPS and 3GPP2 accesses)
    
        */
        modulepar IPv6Addr PX_SGW_AGW_ipv6 := {1,2,3,4,5,6,7,8};

        
        /** @desc	octetstring, 
         * avp_Data within Access_Network_Charging_Identifier_Value_AVP is of octetstring type
        */
+17 −2
Original line number Diff line number Diff line
@@ -342,13 +342,13 @@ module DiameterGx_Templates {
            
            template Framed_IP_Address_AVP m_framedIpAddress(template (value) octetstring p_avpData) :=
            { 
                aVP_Header := m_aVP_HeaderVid(c_vendIdFramed_IP_Address_AVP, lengthof(p_avpData), omit),
                aVP_Header := m_aVP_HeaderVid(c_vendIdFramed_IP_Address_AVP, 4+lengthof(p_avpData), omit),
                aVP_Data := p_avpData
            }
    		
            template Framed_IPv6_Prefix_AVP m_framedIp6Address(template (value) octetstring p_avpData) :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdFramed_IPv6_Prefix_AVP, lengthof(p_avpData), omit),
                aVP_Header := m_aVP_HeaderVid(c_vendIdFramed_IPv6_Prefix_AVP, 4+lengthof(p_avpData), omit),
                aVP_Data := p_avpData
            }    
                
@@ -870,6 +870,12 @@ module DiameterGx_Templates {
                pre_emption_Vulnerability := omit
            }
            
            template AN_GW_Address_AVP m_anGwAddress(template (value) Address p_avpData) :=
            { 
                aVP_Header := m_aVP_HeaderVid(c_vendIdAN_GW_Address_AVP, 4+f_IPAdressLength(), omit),
                aVP_Data := p_avpData
            }                                         
            
     	  }//end group sendingTemplatesForAVPs
     	  group awaitingTemplatesForAVPs{
    
@@ -1397,6 +1403,15 @@ module DiameterGx_Templates {
				default_EPS_Bearer_QoS := p_defaultEpsBearerQoS
 			}

 			
 			template CCR_MSG m_CCR_InitialRequest_ANGWaddress(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 CCR_MSG.aN_GW_Address p_anGwAddress) modifies m_CCR_basic := {
				aN_GW_Address := p_anGwAddress
 			}
            
            template CCR_MSG m_CCR_UpdateRequest(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
+21 −0
Original line number Diff line number Diff line
@@ -104,6 +104,27 @@ module DiameterGx_TestCases
                f_cf_1GxEDown(v_diameterComponent_pcef);
            } // end TC_PCRF_IPS_04            

            
            /*
            * @desc TC_PCRF_IPS_05
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_PCRF_IPS_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_IPS_05());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1GxEDown(v_diameterComponent_pcef);
            } // end TC_PCRF_IPS_05   
            
        }//end group TP_PCRFRole_IPS
        
        group TP_PCRFRole_MSI {	//Modification of Session Information	
+3 −1
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ module DiameterGx_TestExecutions
       execute(TC_PCRF_IPS_01()); 
       execute(TC_PCRF_IPS_02()); 
       execute(TC_PCRF_IPS_03());
       execute(TC_PCRF_IPS_04()); 
       execute(TC_PCRF_IPS_05()); 
       execute(TC_PCRF_MSI_01());
       execute(TC_PCRF_MSI_02()); 
       execute(TC_PCRF_MSI_03());