Commit 3f50d770 authored by rennoch's avatar rennoch
Browse files

initial declarations for GTP-U

parent d1335513
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
@@ -19,6 +19,11 @@ module DiameterGx_Gx_TCFunctions {
	import from DiameterGx_PIXITS all;
	import from DiameterGx_Templates all;
	import from DiameterGx_Steps all;
    // GPRS tunneling protocol 
    import from LibGtp_TypesAndValues all;
    import from LibGtp_Templates all;
    import from LibGtp_Steps all;
    import from LibGtp_Interface all;

	group TP_PCRFRole{        
	    group TP_PCRFRole_IPS {	//Initial Provisioning Session
@@ -178,4 +183,47 @@ module DiameterGx_Gx_TCFunctions {

    } //end group TP_PCEFRole
    
    group GTP_Role {

            /*
            *  @desc	This is the test case function for GTP component 1 to trigger the PCEF
            *  @param	
            */
            function f_TC_GTP_01()
            runs on GtpComponent {
                
                activate(a_echoResponse());

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                
                GTP.send (m_gtp_v1_dummy);
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
    
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // end function f_TC_GTP_01
            
        /*
        *  @desc	This is the test case function for GTP component 2 to serve the triggered PCEF
        *  @param	
        */
        function f_TC_GTP_02()
        runs on GtpComponent {
                            
            activate(a_echoResponse());

            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

            GTP.receive (m_gtp_v1_dummy);

            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
    
            f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

        } // end function f_TC_GTP_02
            
   }    
    
	
} // end module DiameterGx_Gx_TCFunctions
+31 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ module DiameterGx_TestCases
    import from DiameterGx_Rx_TCFunctions all;
    import from DiameterGx_Gx_TCFunctions all;
    import from DiameterGx_PICS all;
    // GPRS tunneling protocol 
    import from LibGtp_TypesAndValues all;
    

    group TP_PCEFRole {
@@ -43,6 +45,35 @@ module DiameterGx_TestCases
                f_cf_1GxRDown(v_diameterComponent_pcrf);
		
            } // end TC_PCEF_IPS_01
            
	
            /*
            * @desc TC_PCEF_IPS_01_
            * @param p_cSeq_s Transaction Id
            * 
            *  Testconfiguration with GTP components
            */
            testcase TC_PCEF_IPS_01_() 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var DiameterComponent v_diameterComponent_pcrf;
                var GtpComponent v_gtpComponent_1;
                var GtpComponent v_gtpComponent_2;
                f_cf_1Gx2GtpRUp(v_diameterComponent_pcrf,v_gtpComponent_1,v_gtpComponent_2);
		
                //Start
                v_diameterComponent_pcrf.start(f_TC_PCEF_IPS_01());
                v_gtpComponent_1.start(f_TC_GTP_01());
                v_gtpComponent_1.start(f_TC_GTP_02());
                
                // synchronize PTC on 3 sychronization points
                f_serverSync3Clients({c_prDone, c_tbDone, c_poDone});
		
                f_cf_1Gx2GtpRDown(v_diameterComponent_pcrf,v_gtpComponent_1,v_gtpComponent_2);
		
            } // end TC_PCEF_IPS_01_

        }//end group TP_PCEFRole_IPS
        
        group TP_PCEFRole_MSI {	//Modification of Session Information
+53 −1
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ module DiameterGx_TestConfiguration
	//AtsIms
	import from DiameterGx_TestSystem all;
	import from DiameterGx_PIXITS all;
    // GPRS tunneling protocol 
    import from LibGtp_TypesAndValues all;
	
	group cfUp {
	
@@ -72,6 +74,34 @@ module DiameterGx_TestConfiguration
            f_setVerdict(v_ret);
        }//end f_cf_1GxRUp
        
        /**
         * 
         * @desc Creates test configuration of CF_1Gx - PCEF is SUT
         * @param p_diameterComponent_pcrf	pcrf component, 2 GTP components
         */
        function f_cf_1Gx2GtpRUp(out DiameterComponent p_diameterComponent_pcrf, 
        						 out GtpComponent p_gtpComponent1, out GtpComponent p_gtpComponent2)
        runs on ServerSyncComp 
        {
            //Variables
            var FncRetCode v_ret := e_success;

            //Create
            p_diameterComponent_pcrf := DiameterComponent.create ;
            p_gtpComponent1 := GtpComponent.create ;
            p_gtpComponent2 := GtpComponent.create ;
            
            //Connect
            connect(p_diameterComponent_pcrf:syncPort, self:syncPort) ;
            //Map 
            map(p_diameterComponent_pcrf:DIAMP, system:PCRF);// Diameter Init test Configuration
            if (PX_DIAM_LLP_ENABLED){
                map(p_diameterComponent_pcrf:LLPP, system:LLIMS);// Lower Layer Primitive Init test Configuration
            }
            
            f_setVerdict(v_ret);
        }//end f_cf_1GxRUp

	}//end group cfUp
	
	group cfDown {
@@ -112,7 +142,29 @@ module DiameterGx_TestConfiguration
            if (PX_DIAM_LLP_ENABLED){
            	unmap(p_diameterComponent_pcrf:LLPP, system:LLIMS);
            }
        }//end f_cf_1GxEDown
        }//end f_cf_1GxRDown
        
        /**
        * 
        * @desc Deletes configuration of CF_1GxR - PCEF is SUT
        * @param p_diameterComponent_ims diameter component, two GTP-C components
        */
        function f_cf_1Gx2GtpRDown(in DiameterComponent p_diameterComponent_pcrf, 
        						   in GtpComponent p_gtpComponent1, in GtpComponent p_gtpComponent2)
        runs on ServerSyncComp 
        {
            f_serverWaitForAllClientsToStop();

            //Disconnect
            disconnect(p_diameterComponent_pcrf:syncPort, self:syncPort);
            disconnect(p_gtpComponent1:syncPort, self:syncPort);
            disconnect(p_gtpComponent2:syncPort, self:syncPort);
            //Unmap
            unmap(p_diameterComponent_pcrf:DIAMP, system:PCRF);
            if (PX_DIAM_LLP_ENABLED){
                unmap(p_diameterComponent_pcrf:LLPP, system:LLIMS);
            }
        }//end f_cf_1Gx2GtpRDown

	} //end group cfDown
	
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ module DiameterGx_TestSystem
    import from LibDiameter_Interface all;
	//AtsIms
	import from DiameterGx_PIXITS all;
	// GPRS tunneling protocol 
	import from LibGtp_TypesAndValues all;
	
	group CMTypes {
		type charstring CM_Message;
@@ -32,6 +34,7 @@ module DiameterGx_TestSystem
    		type component TestAdapter {
    			port LowerLayerPPort LLPCRF, LLIMS; 
                port DiameterPort PCRF, PCEF; 
                port GtpPort GTP;
    		}
		} // end Group TestSystemInterfaces
	  }// end group TestComponents