DiameterRfRo_Steps.ttcn 6.62 KB
Newer Older
pintar's avatar
pintar committed
/**
 *  @author     STF 490
 *  @version    $Id: DiameterRfRo_Steps.ttcn3 74 2015-02-05 17:15:11Z pintar $
 *  @desc       This module provides ATS specific steps used by the test cases
 *              for IMS-DIAMETER RfRo tests.
 */
 module DiameterRfRo_Steps {

    //LibCommon
    import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all;
    import from LibCommon_BasicTypesAndValues {type UInt8;};//LibCommon
    import from LibCommon_Sync all ;
    import from LibCommon_VerdictControl all ;

    //LibDiameter
    import from LibDiameter_Types_S9_AVPs all;
    import from LibDiameter_Types_Base_AVPs all;
    import from LibDiameter_TypesAndValues all;
    import from LibDiameter_Templates all;
    import from LibDiameter_Steps  all;
    import from LibDiameter_PIXITS all;
    import from LibDiameter_Interface all;
    
    //DiameterS9
    import from DiameterRfRo_PIXITS all;
    import from DiameterRfRo_Templates all;
    import from DiameterRfRo_SIP_Templates all;
    import from DiameterRfRo_TestConfiguration all;
    import from DiameterRfRo_TestSystem all;

    group GlobalSteps {

        /*
        *  @desc    This is a test step that init global variables
        *  @param   
        */
        function f_DiameterRf_init()
        runs on DiameterComponent {

            //Defaults
            vc_default_diameter := activate (a_diameter_default());

            //Base LibDiameter init function if there will be any base initialisation
            f_Diameter_Init_Component();

            vc_ETS_address := PX_DIAMETER_RF_ETS_IPADDR;
            vc_ETS_port    := PX_DIAMETER_RF_ETS_PORT;
            vc_SUT_address := PX_DIAMETER_RF_SUT_IPADDR;
            vc_SUT_port    := PX_DIAMETER_RF_SUT_PORT;

            vc_sessionId := m_sessionId(PX_SessionID);

            vc_originHost := m_originHost(PX_OriginHost);
            vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)

            vc_originHost_IUT := m_originHost(PX_DestinationHost);
            vc_originRealm_IUT := m_originRealm(PX_DestinationRealm); // realm of the originator (TS)

            vc_destinationHost := m_destinationHost(PX_DestinationHost);
            vc_destinationRealm := m_destinationRealm(PX_DestinationRealm);

            vc_destinationHost_IUT := m_destinationHost(PX_OriginHost);
            vc_destinationRealm_IUT := m_destinationRealm(PX_OriginRealm);

            vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_RF_ETS_IPADDR));

            vc_send_hopid:=hex2int('00000100'H);
            vc_send_endid:=hex2int('01000000'H);

        } // end function f_DiameterS9_init

        /*
        *  @desc    This is a test step that init global variables
        *  @param   
        */
        function f_DiameterRo_init()
        runs on DiameterComponent {

            //Defaults
            vc_default_diameter := activate (a_diameter_default());

            //Base LibDiameter init function if there will be any base initialisation
            f_Diameter_Init_Component();

            vc_ETS_address := PX_DIAMETER_RO_ETS_IPADDR;
            vc_ETS_port    := PX_DIAMETER_RO_ETS_PORT;
            vc_SUT_address := PX_DIAMETER_RO_SUT_IPADDR;
            vc_SUT_port    := PX_DIAMETER_RO_SUT_PORT;

            vc_sessionId := m_sessionId(PX_SessionID);

            vc_originHost := m_originHost(PX_OriginHost);
            vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)

            vc_originHost_IUT := m_originHost(PX_DestinationHost);
            vc_originRealm_IUT := m_originRealm(PX_DestinationRealm); // realm of the originator (TS)

            vc_destinationHost := m_destinationHost(PX_DestinationHost);
            vc_destinationRealm := m_destinationRealm(PX_DestinationRealm);

            vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_RO_ETS_IPADDR));

            vc_send_hopid:=hex2int('00000100'H);
            vc_send_endid:=hex2int('01000000'H);

        } // end function f_DiameterRo_init
        
        //TODO check for 2nd Ro or Rf configuration!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    } // end group GlobalSteps

    group Preambles{

        function f_preamble_Rf_CDF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleClient();
            }
            
            f_DiameterRf_init();
            f_preambleDiameterBaseClient(c_applIdCommonMsg);//TODO change to Rf/Ro
        }

        function f_preamble_Rf_CTF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleServer();
            }
            
            f_DiameterRf_init();
            f_preambleDiameterBaseServer(c_applIdCommonMsg);//TODO change to Rf/Ro
        }

        function f_preamble_Ro_OCF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleClient();
            }
            
            f_DiameterRo_init();
            f_preambleDiameterBaseClient(c_applIdCommonMsg);//TODO change to Rf/Ro
        }

        function f_preamble_Ro_CTF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleServer();
            }
            
            f_DiameterRf_init();
            f_preambleDiameterBaseServer(c_applIdCommonMsg);//TODO change to Rf/Ro
        }

    }// end group Preambles

    group Postambles {

        function f_postamble_CTF() runs on DiameterComponent
        {

            f_postambleDiameterBase();

            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }

            // Deactivate defaults
            deactivate;
        }

        function f_postamble_CDF() runs on DiameterComponent
        {

            f_postambleDiameterBase();

            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }

            // Deactivate defaults
            deactivate;
        }

        function f_postamble_OCF() runs on DiameterComponent
        {

            f_postambleDiameterBase();

            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }

            // Deactivate defaults
            deactivate;
        }

    }// end group Postambles

    group AVPOperations {
    }//end group AVPOperations

    group CheckFunctions {


    } //end group CheckFunctions

} // end module DiameterGx_Steps