Rev

Rev 67 | Blame | Compare with Previous | Last modification | View Log | Download | SVN

/**
 *    @author     STF 466
 *  @version    $Id: DiameterS9_TestConfiguration.ttcn 74 2015-02-05 17:15:11Z pintar $
 *    @desc        This module provides test component configurations
 *              for DIAMETER tests.
 */


module DiameterS9_TestConfiguration
{
    //LibCommon
    import from LibCommon_Sync all;
    import from LibCommon_VerdictControl {type FncRetCode;
                                          function f_setVerdict;}
    import from LibCommon_BasicTypesAndValues { type UInt };

    //LibDiameter
    import from LibDiameter_Interface all;
    import from LibDiameter_PIXITS {modulepar PX_DIAM_LLP_ENABLED;};
    //AtsIms
    import from DiameterS9_TestSystem all;
    import from DiameterS9_PIXITS {modulepar PX_Gxsupport,PX_Gxxsupport;};

    /*
    ** @desc f_NrofComps returns the number of test components
    ** based on the PIXIT value PX_Rxsupportt
    */

    function f_NrofComps() return UInt
        {    if (PX_Gxsupport or PX_Gxxsupport)
            { return 2 }
            else
            { return 1 }
        };
    // end f_NrofComps

    group cfUp {

        /**
         *
         * @desc Creates test configuration of cf_1S9_vpcrf - H-PCRF is SUT
         * @param p_diameterComponent_vpcrf    v-pcrf component
         */

        function f_cf_1S9_vpcrfUp(out DiameterComponent p_diameterComponent_vpcrf)
        runs on DiameterS9 system TestAdapter
        {
            //Variables
            var FncRetCode v_ret := e_success;

            //Create
            p_diameterComponent_vpcrf := DiameterComponent.create ;

            // Connect mtc sync port
            connect(self:syncPort, self:syncPort);
            // Connect client sync port
            connect(p_diameterComponent_vpcrf:syncPort, self:syncPort) ;
            //Map
            map(p_diameterComponent_vpcrf:DIAMP, system:V_PCRF_S9);// Diameter Init test Configuration
           
            activate(a_mtc_shutdown());
           
            f_setVerdict(v_ret);
        }//end f_cf_1S9_vpcrfUp

        /**
         *
         * @desc Creates test configuration of CF_1S9_ - V-PCRF is SUT
         * @param p_diameterComponent_hpcrf    h-pcrf component
         */

        function f_cf_1S9_hpcrfUp(out DiameterComponent p_diameterComponent_hpcrf)
        runs on DiameterS9 system TestAdapter
        {
            //Variables
            var FncRetCode v_ret := e_success;

            //Create
            p_diameterComponent_hpcrf := DiameterComponent.create ;

            // Connect mtc sync port
            connect(self:syncPort, self:syncPort);
            // Connect client sync port
            connect(p_diameterComponent_hpcrf:syncPort, self:syncPort) ;
            //Map
            map(p_diameterComponent_hpcrf:DIAMP, system:H_PCRF_S9);// Diameter Init test Configuration
           
            activate(a_mtc_shutdown());
           
            f_setVerdict(v_ret);
        }//end f_cf_1S9_hpcrfUp

        /**
         *
         * @desc Creates test configuration of CF_1S9_1Gx - V-PCRF is SUT
         * @param p_diameterComponent_hpcrf    h-pcef component
         * @param p_diameterComponent_pcef    pcef component
         */

        function f_cf_1S9_1Gx_hpcrfUp(out DiameterComponent p_diameterComponent_hpcrf, out DiameterComponent p_diameterComponent_pcef)
        runs on DiameterS9 system TestAdapter
        {
            //Variables
            var FncRetCode v_ret := e_success;

            //Create
            p_diameterComponent_hpcrf := DiameterComponent.create ;
            if (PX_Gxsupport) {
                p_diameterComponent_pcef := DiameterComponent.create ;
            }
            // Connect mtc sync port
            connect(self:syncPort, self:syncPort);
            // Connect client sync port
            connect(p_diameterComponent_hpcrf:syncPort, self:syncPort) ;
            if (PX_Gxsupport) {
                connect(p_diameterComponent_pcef:syncPort, self:syncPort) ;
            }
            //Map
            map(p_diameterComponent_hpcrf:DIAMP, system:H_PCRF_S9);// Diameter Init test Configuration
            if (PX_Gxsupport) {
                map(p_diameterComponent_pcef:DIAMP, system:PCEF_Gx);// Diameter Init test Configuration
            }
           
            activate(a_mtc_shutdown());
           
            f_setVerdict(v_ret);
        }//end f_cf_1S9_1Gx_hpcrfUp

        /**
         *
         * @desc Creates test configuration of CF_1S9_1Gxx - V-PCRF is SUT
         * @param p_diameterComponent_hpcrf h-pcrf component
         * @param p_diameterComponent_bberf bberf component
         */

        function f_cf_1S9_1Gxx_hpcrfUp(out DiameterComponent p_diameterComponent_hpcrf, out DiameterComponent p_diameterComponent_bberf)
        runs on DiameterS9 system TestAdapter
        {
            //Variables
            var FncRetCode v_ret := e_success;

            //Create
            p_diameterComponent_hpcrf := DiameterComponent.create ;
            if (PX_Gxxsupport) {
                p_diameterComponent_bberf := DiameterComponent.create ;
            }
            // Connect mtc sync port
            connect(self:syncPort, self:syncPort);
            // Connect client sync port
            connect(p_diameterComponent_hpcrf:syncPort, self:syncPort) ;
            if (PX_Gxxsupport) {
                connect(p_diameterComponent_bberf:syncPort, self:syncPort) ;
            }
            //Map
            map(p_diameterComponent_hpcrf:DIAMP, system:H_PCRF_S9);// Diameter Init test Configuration
            if (PX_Gxxsupport) {
                map(p_diameterComponent_bberf:DIAMP, system:BBERF_Gxx1);// Diameter Init test Configuration
            }

            activate(a_mtc_shutdown());
           
            f_setVerdict(v_ret);
        }//end f_cf_1S9_1Gxx_hpcrfUp

        /**
         *
         * @desc Creates test configuration of CF_1S9_2Gxx - V-PCRF is SUT
         * @param p_diameterComponent_hpcrf h-pcrf component
         * @param p_diameterComponent_bberf1 bberf1 represents old bberf component
         * @param p_diameterComponent_bberf2 bberf2 represents new bberf component
         */

        function f_cf_1S9_2Gxx_hpcrfUp(out DiameterComponent p_diameterComponent_hpcrf, out DiameterComponent p_diameterComponent_bberf1, out DiameterComponent p_diameterComponent_bberf2)
        runs on DiameterS9 system TestAdapter
        {
            //Variables
            var FncRetCode v_ret := e_success;

            //Create
            p_diameterComponent_hpcrf := DiameterComponent.create ;
            if (PX_Gxxsupport) {
                p_diameterComponent_bberf1 := DiameterComponent.create ;
                p_diameterComponent_bberf2 := DiameterComponent.create ;
            }
            // Connect mtc sync port
            connect(self:syncPort, self:syncPort);
            // Connect client sync port
            connect(p_diameterComponent_hpcrf:syncPort, self:syncPort) ;
            if (PX_Gxxsupport) {
                connect(p_diameterComponent_bberf1:syncPort, self:syncPort) ;
                connect(p_diameterComponent_bberf2:syncPort, self:syncPort) ;
            }
            //Map
            map(p_diameterComponent_hpcrf:DIAMP, system:H_PCRF_S9);// Diameter Init test Configuration
            if (PX_Gxxsupport) {
                map(p_diameterComponent_bberf1:DIAMP, system:BBERF_Gxx1);// Diameter Init test Configuration
                map(p_diameterComponent_bberf2:DIAMP, system:BBERF_Gxx2);// Diameter Init test Configuration
            }

            activate(a_mtc_shutdown());
           
            f_setVerdict(v_ret);
        }//end f_cf_1S9_2Gxx_hpcrfUp

    }//end group cfUp

    group cfDown {

        /**
        *
        * @desc Deletes configuration of cf_1S9_vpcrf - H-PCRF is SUT
        * @param p_diameterComponent_vpcrf diameter component
        */

        function f_cf_1S9_vpcrfDown(in DiameterComponent p_diameterComponent_vpcrf)
        runs on DiameterS9 system TestAdapter
        {
            deactivate;
           
            //Disconnect
            disconnect(p_diameterComponent_vpcrf:syncPort, self:syncPort);
            //Unmap
            unmap(p_diameterComponent_vpcrf:DIAMP, system:V_PCRF_S9);
           
        }//end f_cf_1S9_vpcrfDown

        /**
        *
        * @desc Deletes configuration of CF_1S9_ - V-PCRF is SUT
        * @param p_diameterComponent_hpcrf diameter component
        */

        function f_cf_1S9_hpcrfDown(in DiameterComponent p_diameterComponent_hpcrf)
        runs on DiameterS9 system TestAdapter
        {
            deactivate;
           
            //Disconnect
            disconnect(p_diameterComponent_hpcrf:syncPort, self:syncPort);

            //Unmap
            unmap(p_diameterComponent_hpcrf:DIAMP, system:H_PCRF_S9);

        }//end f_cf_1S9_hpcrfDown

        /**
        *
        * @desc Deletes configuration of CF_1S9_1GxE - V-PCRF is SUT
        * @param p_diameterComponent_hpcrf diameter component
        * @param p_diameterComponent_pcef diameter component
        */

        function f_cf_1S9_1Gx_hpcrfDown(in DiameterComponent p_diameterComponent_hpcrf, in DiameterComponent p_diameterComponent_pcef)
        runs on DiameterS9 system TestAdapter
        {
            deactivate;
           
            //Disconnect
            disconnect(p_diameterComponent_hpcrf:syncPort, self:syncPort);
            if (PX_Gxsupport) {
                disconnect(p_diameterComponent_pcef:syncPort, self:syncPort);
            }
            //Unmap
            unmap(p_diameterComponent_hpcrf:DIAMP, system:H_PCRF_S9);
            if (PX_Gxsupport) {
                unmap(p_diameterComponent_pcef:DIAMP, system:PCEF_Gx);
            }
           
        }//end f_cf_1S9_1Gx_hpcrfDown

        /**
        *
        * @desc Deletes configuration of CF_1S9_1GxxE - V-PCRF is SUT
        * @param p_diameterComponent_hpcrf diameter component
        * @param p_diameterComponent_bberf diameter component
        */

        function f_cf_1S9_1Gxx_hpcrfDown(in DiameterComponent p_diameterComponent_hpcrf, in DiameterComponent p_diameterComponent_bberf)
        runs on DiameterS9 system TestAdapter
        {
            deactivate;
           
            //Disconnect
            disconnect(p_diameterComponent_hpcrf:syncPort, self:syncPort);
            if (PX_Gxxsupport) {
                disconnect(p_diameterComponent_bberf:syncPort, self:syncPort);
            }
            //Unmap
            unmap(p_diameterComponent_hpcrf:DIAMP, system:H_PCRF_S9);
            if (PX_Gxxsupport) {
                unmap(p_diameterComponent_bberf:DIAMP, system:BBERF_Gxx1);
            }
           
        }//end f_cf_1S9_1Gxx_hpcrfDown

        /**
        *
        * @desc Deletes configuration of CF_1S9_2GxxE - V-PCRF is SUT
        * @param p_diameterComponent_hpcrf diameter component
        * @param p_diameterComponent_bberf diameter component
        */

        function f_cf_1S9_2Gxx_hpcrfDown(in DiameterComponent p_diameterComponent_hpcrf, in DiameterComponent p_diameterComponent_bberf1, in DiameterComponent p_diameterComponent_bberf2)
        runs on DiameterS9 system TestAdapter
        {
            deactivate;
           
            //Disconnect
            disconnect(p_diameterComponent_hpcrf:syncPort, self:syncPort);
            if (PX_Gxxsupport) {
                disconnect(p_diameterComponent_bberf1:syncPort, self:syncPort);
                disconnect(p_diameterComponent_bberf2:syncPort, self:syncPort);
            }
            //Unmap
            unmap(p_diameterComponent_hpcrf:DIAMP, system:H_PCRF_S9);
            if (PX_Gxxsupport) {
                unmap(p_diameterComponent_bberf1:DIAMP, system:BBERF_Gxx1);
                unmap(p_diameterComponent_bberf2:DIAMP, system:BBERF_Gxx2);
            }
           
        }//end f_cf_1S9_2Gxx_hpcrfDown

    } //end group cfDown

    group shutDownAltsteps {
       
        altstep a_mtc_shutdown()
        runs on SelfSyncComp {
          []  syncSendPort.receive(m_syncServerStop){
              tc_sync.stop ;
              log("**** a_mtc_shutdown: MTC component received STOP signal **** ");
            }
        }
   
    } // end group shutDownAltsteps
   
} // end module DiameterS9_TestConfiguration