DiameterRfRo_Steps.ttcn 7.73 KB
Newer Older
pintar's avatar
pintar committed
/**
 *  @author     STF 490
pintar's avatar
pintar committed
 *  @version    $Id$
pintar's avatar
pintar committed
 *  @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());
pintar's avatar
pintar committed
            //Base LibDiameter init function if there will be any base initialisation
            f_Diameter_Init_Component();
pintar's avatar
pintar committed
            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;
pintar's avatar
pintar committed
            vc_sessionId := m_sessionId(PX_SessionID);
pintar's avatar
pintar committed
            vc_originHost := m_originHost(PX_OriginHost);
            vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)
pintar's avatar
pintar committed
            vc_originHost_IUT := m_originHost(PX_DestinationHost);
            vc_originRealm_IUT := m_originRealm(PX_DestinationRealm); // realm of the originator (TS)
pintar's avatar
pintar committed
            vc_destinationHost := m_destinationHost(PX_DestinationHost);
            vc_destinationRealm := m_destinationRealm(PX_DestinationRealm);
pintar's avatar
pintar committed
            vc_destinationHost_IUT := m_destinationHost(PX_OriginHost);
            vc_destinationRealm_IUT := m_destinationRealm(PX_OriginRealm);
pintar's avatar
pintar committed
            vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_RF_ETS_IPADDR));
pintar's avatar
pintar committed
            vc_send_hopid:=hex2int('00000100'H);
            vc_send_endid:=hex2int('01000000'H);
            
        } // End of function f_DiameterS9_init
        
pintar's avatar
pintar committed
        /*
        *  @desc    This is a test step that init global variables
        *  @param   
        */
        function f_DiameterRo_init()
        runs on DiameterComponent {
pintar's avatar
pintar committed
            //Defaults
            vc_default_diameter := activate (a_diameter_default());
pintar's avatar
pintar committed
            //Base LibDiameter init function if there will be any base initialisation
            f_Diameter_Init_Component();
pintar's avatar
pintar committed
            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;
pintar's avatar
pintar committed
            vc_sessionId := m_sessionId(PX_SessionID);
pintar's avatar
pintar committed
            vc_originHost := m_originHost(PX_OriginHost);
            vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)
pintar's avatar
pintar committed
            vc_originHost_IUT := m_originHost(PX_DestinationHost);
            vc_originRealm_IUT := m_originRealm(PX_DestinationRealm); // realm of the originator (TS)
pintar's avatar
pintar committed
            vc_destinationHost := m_destinationHost(PX_DestinationHost);
            vc_destinationRealm := m_destinationRealm(PX_DestinationRealm);
pintar's avatar
pintar committed
            vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_RO_ETS_IPADDR));
pintar's avatar
pintar committed
            vc_send_hopid:=hex2int('00000100'H);
            vc_send_endid:=hex2int('01000000'H);
        } // End of function f_DiameterRo_init
pintar's avatar
pintar committed
        
        //TODO check for 2nd Ro or Rf configuration!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    } // Endgroup GlobalSteps
pintar's avatar
pintar committed

    group Preambles{
pintar's avatar
pintar committed
        function f_preamble_Rf_CDF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleClient();
            }
            
            f_DiameterRf_init();
pintar's avatar
pintar committed
            f_preambleDiameterBaseClient(c_applIdRfRo);
pintar's avatar
pintar committed
        }
pintar's avatar
pintar committed
        function f_preamble_Rf_CTF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleServer();
            }
            
            f_DiameterRf_init();
pintar's avatar
pintar committed
            f_preambleDiameterBaseServer(c_applIdRfRo);
pintar's avatar
pintar committed
        }
pintar's avatar
pintar committed
        function f_preamble_Ro_OCF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleClient();
            }
            
            f_DiameterRo_init();
pintar's avatar
pintar committed
            f_preambleDiameterBaseClient(c_applIdRfRo);
pintar's avatar
pintar committed
        }
pintar's avatar
pintar committed
        function f_preamble_Ro_CTF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleServer();
            }
            
pintar's avatar
pintar committed
            f_DiameterRo_init();
            f_preambleDiameterBaseServer(c_applIdRfRo);
pintar's avatar
pintar committed
        }
        
    } // End of group Preambles
pintar's avatar
pintar committed

    group Postambles {
pintar's avatar
pintar committed
        function f_postamble_Rf_CDF() runs on DiameterComponent
        {
            f_postambleDiameterBase();
            
            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }
            
            // Deactivate defaults
            deactivate;
        }
        
        function f_postamble_Rf_CTF() runs on DiameterComponent
pintar's avatar
pintar committed
        {
pintar's avatar
pintar committed
            f_postambleDiameterBase();
pintar's avatar
pintar committed
            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }
pintar's avatar
pintar committed
            // Deactivate defaults
            deactivate;
        }
pintar's avatar
pintar committed
        function f_postamble_Ro_OCF() runs on DiameterComponent
pintar's avatar
pintar committed
        {
            f_postambleDiameterBase();
pintar's avatar
pintar committed
            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }
pintar's avatar
pintar committed
            // Deactivate defaults
            deactivate;
        }
pintar's avatar
pintar committed
        function f_postamble_Ro_CTF() runs on DiameterComponent
pintar's avatar
pintar committed
        {
pintar's avatar
pintar committed
            
pintar's avatar
pintar committed
            f_postambleDiameterBase();
pintar's avatar
pintar committed
            if(PX_DIAM_LLP_ENABLED)
            {
                f_postambleDisconnect();
            }
pintar's avatar
pintar committed
            // Deactivate defaults
            deactivate;
        }
        
    } // End of group Postambles
pintar's avatar
pintar committed

    group AVPOperations {
        
    } // End of group AVPOperations
pintar's avatar
pintar committed

    group CheckFunctions {
        
    } // End of group CheckFunctions
    group SendMessage {
        
        /**
         * @desc Function used to trigger a AC-Request message
         * @param p_acrMSG AC-Request message to send
         * @verdict Unchanged
         */
        function f_triggerAcRequest(in template (value) ACR_MSG p_acrMSG) 
        runs on DiameterComponent {
            DIAMP.send(
                DIAMETER_MSG : { aCR_MSG := p_acrMSG } 
            );
        } // End of function f_triggerAcRequest
        
    } // End of group SendMessage 
    
} // End of module DiameterGx_Steps