AtsGtpv2C_TestControl.ttcn 5.51 KB
Newer Older
garciay's avatar
garciay committed
/**
 * @author      ETSI/STF498
 * @version     $Url$
 *              $Id$
 * @desc        Testcontrol module for INT GTPv2-C protocol
 */
module AtsGtpv2C_TestControl { 
    
    // ATS GTPv2-C
    import from AtsGtpv2C_TestCases all;
    
    // LibGtpv2C
    import from LibGtpv2C_Pics all;
    
    // Test Execution
    control {
        
        /* IUT is MME */
        if (PICS_S11_IUT_IS_MME) {
            /* Path management */
            if (PICS_ECHO_REQUEST and PICS_ECHO_REPLY) {
                execute(TC_S11_MME_PM_01());
                execute(TC_S11_MME_PM_02());
            }
            if (PICS_VERSION_NOT_SUPPORTED) {
                execute(TC_S11_MME_PM_03());
            }
            /* Tunnel management */
            if (PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST) {
                execute(TC_S11_MME_TM_01());
                execute(TC_S11_MME_TM_02());
            }
            if (PICS_MME_BEARER_RESOURCE_COMMAND) {
                execute(TC_S11_MME_TM_03());
                execute(TC_S11_MME_TM_04());
            }
            if (PICS_MME_DELETE_SESSION_REQUEST) {
                execute(TC_S11_MME_TM_05());
            }
            if (PICS_MME_DELETE_BEARER_RESPONSE) {
                execute(TC_S11_MME_TM_05());
            }
            if (PICS_MME_DELETE_BEARER_RESPONSE) {
                execute(TC_S11_MME_TM_06());
            }
            if (PICS_MME_DOWNLINK_DATA_NOTIFICATION_ACKNOWLEDGE) {
                execute(TC_S11_MME_TM_07());
            }
            if (PICS_MME_DOWNLINK_DATA_FAILURE_INDICATION) {
                execute(TC_S11_MME_TM_08());
            }
            if (PICS_MME_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_REQUEST) {
                execute(TC_S11_MME_TM_09());
            }
            if (PICS_MME_MODIFY_BEARER_COMMAND) {
                execute(TC_S11_MME_TM_10());
garciay's avatar
garciay committed
                execute(TC_S11_MME_TM_11());
garciay's avatar
garciay committed
            }
garciay's avatar
garciay committed
            if (PICS_MME_UPDATE_BEARER_RESPONSE) {
                execute(TC_S11_MME_TM_12());
            }
            
            if (PICS_MME_DELETE_BEARER_COMMAND) {
                execute(TC_S11_MME_TM_13());
                execute(TC_S11_MME_TM_14());
            }
            
            if (PICS_MME_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_REQUEST) {
                execute(TC_S11_MME_TM_15());
            }
            
            if (PICS_MME_RELEASE_ACCESS_BEARERS_REQUEST) {
                execute(TC_S11_MME_TM_16());
            }
            
            execute(TC_S11_MME_TM_17());
            
            if (PICS_MME_SUSPEND_NOTIFICATION) {
                execute(TC_S11_MME_CSF_SRVCC_01());
            }
            
            if (PICS_MME_TRACE_SESSION_ACTIVATION and PICS_SUPPORT_MME_EMULATION) {
                execute(TC_S11_MME_TMM_01());
                execute(TC_S11_MME_TMM_02());
            }
            
garciay's avatar
garciay committed
        }
        
        /* IUT is S-GW */
        if (PICS_S11_IUT_IS_SGW) {
            /* Path management */
            if (PICS_ECHO_REQUEST and PICS_ECHO_REPLY) {
                execute(TC_S11_SGW_PM_01());
                execute(TC_S11_SGW_PM_02());
                execute(TC_S11_SGW_PM_03());
            }
            if (PICS_VERSION_NOT_SUPPORTED) {
                execute(TC_S11_SGW_PM_03());
            }
            /* Tunnel management */
            if (PICS_SGW_CREATE_SESSION_RESPONSE and PICS_SGW_CREATE_BEARER_REQUEST and PICS_SGW_MODIFY_BEARER_RESPONSE) {
                execute(TC_S11_SGW_TM_01());
                execute(TC_S11_SGW_TM_02());
                execute(TC_S11_SGW_TM_03());
            }
            if (PICS_SGW_BEARER_RESOURCE_FAILURE_INDICATION) {
                execute(TC_S11_SGW_TM_04());
            }
            if (PICS_SGW_DELETE_SESSION_RESPONSE) {
                execute(TC_S11_SGW_TM_05());
            }
            if (PICS_SGW_DELETE_BEARER_REQUEST) {
                execute(TC_S11_SGW_TM_06());
            }
            if (PICS_SGW_DOWNLINK_DATA_NOTIFICATION) {
                execute(TC_S11_SGW_TM_07());
                execute(TC_S11_SGW_TM_08());
            }
            if (PICS_SGW_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE) {
                execute(TC_S11_SGW_TM_09());
            }
            if (PICS_SGW_UPDATE_BEARER_REQUEST) {
                execute(TC_S11_SGW_TM_10());
garciay's avatar
garciay committed
                execute(TC_S11_SGW_TM_11());
            }
            if (PICS_SGW_UPDATE_BEARER_REQUEST) {
                execute(TC_S11_SGW_TM_12());
            }
            
            if (PICS_SGW_DELETE_BEARER_REQUEST) {
                execute(TC_S11_SGW_TM_13());
            }
            if (PICS_SGW_DELETE_BEARER_FAILURE_INDICATION) {
                execute(TC_S11_SGW_TM_14());
            }
            
            if (PICS_SGW_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE) {
                execute(TC_S11_SGW_TM_15());
            }
            
            if (PICS_SGW_RELEASE_ACCESS_BEARERS_RESPONSE) {
                execute(TC_S11_SGW_TM_16());
            }
            
            execute(TC_S11_SGW_TM_17());
            
            if (PICS_SGW_SUSPEND_ACKNOWLEDGE) {
                execute(TC_S11_SGW_CSF_SRVCC_01());
garciay's avatar
garciay committed
            }
garciay's avatar
garciay committed
            
            execute(TC_S11_SGW_TMM_01());
            execute(TC_S11_SGW_TMM_02());
            
garciay's avatar
garciay committed
        }
        
    } // End of 'control' statement
    
} // End of module AtsGtpv2C_TestControl