Skip to content
ItsSecurity_TestControl.ttcn3 15.2 KiB
Newer Older
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Test Control file for Security Protocol 
 *
 */
module ItsSecurity_TestControl {
    
    // LibItsGeoNetworking
    import from LibItsGeoNetworking_Pics all;
    
    // ItsSecurity
    import from ItsSecurity_TestCases all;
    import from LibItsSecurity_Pics all;
    
    // Test Execution
    control {
        
garciay's avatar
garciay committed
        /**
         * @desc Sending behaviour test cases
         * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.2 Sending behaviour
         */
        if (PICS_GN_SECURITY) {
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_SND_MSG_01_01_BV());
            execute(TC_SEC_ITSS_SND_MSG_04_01_BV());
            execute(TC_SEC_ITSS_SND_MSG_04_02_BV());
            execute(TC_SEC_ITSS_SND_MSG_05_01_BV());
garciay's avatar
garciay committed
            /**
             * @desc Sending behaviour test cases for CAM profile
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.2.4 CAM profile
             */
            execute(TC_SEC_ITSS_SND_CAM_01_01_BV());
            execute(TC_SEC_ITSS_SND_CAM_02_01_BV());
            execute(TC_SEC_ITSS_SND_CAM_05_01_BV());
            execute(TC_SEC_ITSS_SND_CAM_05_02_BV());
            execute(TC_SEC_ITSS_SND_CAM_06_01_BV());
            execute(TC_SEC_ITSS_SND_CAM_07_01_TI());
            execute(TC_SEC_ITSS_SND_CAM_08_01_BV());
            execute(TC_SEC_ITSS_SND_CAM_09_01_BV());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_SND_CAM_10_01_BV());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_SND_CAM_12_01_BV());
            execute(TC_SEC_ITSS_SND_CAM_14_01_BV());
            execute(TC_SEC_ITSS_SND_CAM_16_01_BV());
garciay's avatar
garciay committed
            /**
             * @desc Sending behaviour test cases for DENM profile
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.2.5 DENM profile
             */
            execute(TC_SEC_ITSS_SND_DENM_01_01_BV());
            execute(TC_SEC_ITSS_SND_DENM_02_01_BV());
            execute(TC_SEC_ITSS_SND_DENM_03_01_BV());
            execute(TC_SEC_ITSS_SND_DENM_04_01_BV());
            if (PICS_CERTIFICATE_SELECTION) {
garciay's avatar
garciay committed
                execute(TC_SEC_ITSS_SND_DENM_05_01_BV());
                if (PICS_USE_CIRCULAR_REGION) {
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_DENM_05_02_BV());
                }
                if (PICS_USE_RECTANGULAR_REGION) {
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_DENM_05_03_BV());
                }
                if (PICS_USE_POLYGONAL_REGION) {
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_DENM_05_04_BV());
                }
                if (PICS_USE_IDENTIFIED_REGION) {
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_DENM_05_05_BV());
garciay's avatar
garciay committed
            } else {
                execute(TC_SEC_ITSS_SND_DENM_05_06_BV());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_SND_DENM_08_01_BV());
            execute(TC_SEC_ITSS_SND_DENM_10_01_BV());
            
            if (PICS_ITS_AID_OTHER_PROFILE) {
garciay's avatar
garciay committed
                execute(TC_SEC_ITSS_SND_GENMSG_01_01_BV());
                execute(TC_SEC_ITSS_SND_GENMSG_02_01_BV());
                execute(TC_SEC_ITSS_SND_GENMSG_03_01_BV());
                execute(TC_SEC_ITSS_SND_GENMSG_04_01_BV());
                if (PICS_CERTIFICATE_SELECTION) {
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_GENMSG_05_01_BV());
                    if (PICS_USE_CIRCULAR_REGION) {
garciay's avatar
garciay committed
                        execute(TC_SEC_ITSS_SND_GENMSG_05_02_BV());
                    }
                    if (PICS_USE_RECTANGULAR_REGION) {
garciay's avatar
garciay committed
                        execute(TC_SEC_ITSS_SND_GENMSG_05_03_BV());
                    }
                    if (PICS_USE_POLYGONAL_REGION) {
garciay's avatar
garciay committed
                        execute(TC_SEC_ITSS_SND_GENMSG_05_04_BV());
                    }
                    if (PICS_USE_IDENTIFIED_REGION) {
garciay's avatar
garciay committed
                        execute(TC_SEC_ITSS_SND_GENMSG_05_05_BV());
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_GENMSG_05_06_BV());
garciay's avatar
garciay committed
                execute(TC_SEC_ITSS_SND_GENMSG_06_01_BV());
garciay's avatar
garciay committed
                execute(TC_SEC_ITSS_SND_GENMSG_07_01_BV());
garciay's avatar
garciay committed
            /**
             * @desc Sending behaviour test cases for certificates profile
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.2.7 Profiles for certificates
             */
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_SND_CERT_01_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_01_02_BV());
            execute(TC_SEC_ITSS_SND_CERT_02_01_BV());
garciay's avatar
garciay committed
            if (PICS_CERTIFICATE_SELECTION) {
                if (PICS_USE_RECTANGULAR_REGION) {
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_CERT_04_01_BV());
                    execute(TC_SEC_ITSS_SND_CERT_04_02_BV());
garciay's avatar
garciay committed
                }
                if (PICS_USE_POLYGONAL_REGION) {
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_CERT_05_01_BV());
                    execute(TC_SEC_ITSS_SND_CERT_05_02_BV());
garciay's avatar
garciay committed
                }
                if (PICS_USE_IDENTIFIED_REGION) {
garciay's avatar
garciay committed
                    execute(TC_SEC_ITSS_SND_CERT_06_01_BV());
                    execute(TC_SEC_ITSS_SND_CERT_06_02_BV());
garciay's avatar
garciay committed
                }
            }
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_SND_CERT_07_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_07_02_BV());
            execute(TC_SEC_ITSS_SND_CERT_08_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_09_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_09_02_BV());
            execute(TC_SEC_ITSS_SND_CERT_10_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_10_02_BV());
            execute(TC_SEC_ITSS_SND_CERT_11_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_11_02_BV());
            execute(TC_SEC_ITSS_SND_CERT_12_01_BV());
garciay's avatar
garciay committed
            
            /**
             * @desc Sending behaviour test cases for AA certificate profil
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.2.7.7 AA certificate profile
             */
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_SND_CERT_AA_01_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AA_02_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AA_03_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AA_05_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AA_08_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AA_10_01_BV());
garciay's avatar
garciay committed
            /**
             * @desc Sending behaviour test cases for AT certificate profil
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.2.7.8 AT certificate profile
             */
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_SND_CERT_AT_01_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AT_02_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AT_03_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AT_04_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AT_05_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AT_07_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AT_08_01_BV());
            execute(TC_SEC_ITSS_SND_CERT_AT_10_01_BV());
garciay's avatar
garciay committed
        }
            
        /**
         * @desc Receiver behaviour test cases
         * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.3 Receiver behaviour
         */
        if (PICS_GN_SECURITY) {
            /**
             * @desc Sending behaviour test cases for CAM profile
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.3.2 CAM Profile
             */
            execute(TC_SEC_ITSS_RCV_CAM_01_01_BV());
            execute(TC_SEC_ITSS_RCV_CAM_01_02_BV());
            execute(TC_SEC_ITSS_RCV_CAM_01_03_BV());
            execute(TC_SEC_ITSS_RCV_CAM_02_01_BO());
            execute(TC_SEC_ITSS_RCV_CAM_02_02_BO());
            execute(TC_SEC_ITSS_RCV_CAM_04_01_BO());
            execute(TC_SEC_ITSS_RCV_CAM_04_02_BO());
            execute(TC_SEC_ITSS_RCV_CAM_04_03_BO());
            execute(TC_SEC_ITSS_RCV_CAM_04_04_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_04_05_BO());
            execute(TC_SEC_ITSS_RCV_CAM_04_06_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_04_07_BO());
            execute(TC_SEC_ITSS_RCV_CAM_04_08_BO());
            execute(TC_SEC_ITSS_RCV_CAM_04_09_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_04_10_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_04_11_BO());
            execute(TC_SEC_ITSS_RCV_CAM_04_12_BV());
            execute(TC_SEC_ITSS_RCV_CAM_04_13_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_05_01_BO());
            execute(TC_SEC_ITSS_RCV_CAM_05_02_BO());
            execute(TC_SEC_ITSS_RCV_CAM_05_03_BO());
            execute(TC_SEC_ITSS_RCV_CAM_05_04_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_06_01_BO());
            execute(TC_SEC_ITSS_RCV_CAM_06_02_BO());
            if (PICS_ITS_C2C_MODE) {
                execute(TC_SEC_ITSS_RCV_CAM_06_03_BO());
                execute(TC_SEC_ITSS_RCV_CAM_06_04_BO());
            }
            execute(TC_SEC_ITSS_RCV_CAM_07_01_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_07_02_BO());
            execute(TC_SEC_ITSS_RCV_CAM_09_02_BO());
            execute(TC_SEC_ITSS_RCV_CAM_09_03_BO());
            execute(TC_SEC_ITSS_RCV_CAM_09_04_BO());
            execute(TC_SEC_ITSS_RCV_CAM_09_05_BO());
            execute(TC_SEC_ITSS_RCV_CAM_09_06_BO());
            execute(TC_SEC_ITSS_RCV_CAM_10_01_BO());
            execute(TC_SEC_ITSS_RCV_CAM_10_02_BO());
            execute(TC_SEC_ITSS_RCV_CAM_11_01_BO());
            execute(TC_SEC_ITSS_RCV_CAM_11_02_BO());
            execute(TC_SEC_ITSS_RCV_CAM_12_01_BO());
            execute(TC_SEC_ITSS_RCV_CAM_12_02_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_12_03_BO());
            execute(TC_SEC_ITSS_RCV_CAM_12_04_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CAM_13_01_BO());
            execute(TC_SEC_ITSS_RCV_CAM_13_02_BO());
            execute(TC_SEC_ITSS_RCV_CAM_13_03_BO());
            execute(TC_SEC_ITSS_RCV_CAM_13_04_BO());
            execute(TC_SEC_ITSS_RCV_CAM_13_05_BO());
            execute(TC_SEC_ITSS_RCV_CAM_13_06_BO());
garciay's avatar
garciay committed
            /**
             * @desc Sending behaviour test cases for DENM profile
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.3.3 DENM Profile
             */
            execute(TC_SEC_ITSS_RCV_DENM_01_01_BV());
            if (PICS_USE_CIRCULAR_REGION) {
                execute(TC_SEC_ITSS_RCV_DENM_01_02_BV());
            }
            if (PICS_USE_RECTANGULAR_REGION) {
                execute(TC_SEC_ITSS_RCV_DENM_01_03_BV());
            }
            if (PICS_USE_POLYGONAL_REGION) {
                execute(TC_SEC_ITSS_RCV_DENM_01_04_BV());
            }
            if (PICS_USE_IDENTIFIED_REGION) {
                execute(TC_SEC_ITSS_RCV_DENM_01_05_BV());
            }
            execute(TC_SEC_ITSS_RCV_DENM_02_01_BO());
            execute(TC_SEC_ITSS_RCV_DENM_02_02_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_DENM_04_01_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_02_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_03_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_04_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_05_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_06_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_06a_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_07_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_08_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_09_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_10_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_11_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_12_BO());
            execute(TC_SEC_ITSS_RCV_DENM_04_13_BO());
            execute(TC_SEC_ITSS_RCV_DENM_05_01_BO());
            execute(TC_SEC_ITSS_RCV_DENM_05_02_BO());
            execute(TC_SEC_ITSS_RCV_DENM_05_03_BO());
            execute(TC_SEC_ITSS_RCV_DENM_06_01_BO());
            execute(TC_SEC_ITSS_RCV_DENM_06_02_BO());
            if (PICS_ITS_C2C_MODE) {
                execute(TC_SEC_ITSS_RCV_DENM_06_03_BO());
                execute(TC_SEC_ITSS_RCV_DENM_06_04_BO());
            }
            execute(TC_SEC_ITSS_RCV_DENM_07_01_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_DENM_07_02_BO());
            execute(TC_SEC_ITSS_RCV_DENM_08_01_BO());
            execute(TC_SEC_ITSS_RCV_DENM_08_02_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_DENM_08_03_BO());
            execute(TC_SEC_ITSS_RCV_DENM_08_04_BO());
            
garciay's avatar
garciay committed
            /**
             * @desc Receiving behaviour test cases for Other profile
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.3.4 Generic Signed Message Profile
             */
garciay's avatar
garciay committed
            if (PICS_GN_GBC_SRC) {
                execute(TC_SEC_ITSS_RCV_GENMSG_01_01_BV());
                execute(TC_SEC_ITSS_RCV_GENMSG_01_02_BV());
                execute(TC_SEC_ITSS_RCV_GENMSG_01_03_BV());
                execute(TC_SEC_ITSS_RCV_GENMSG_01_04_BV());
                execute(TC_SEC_ITSS_RCV_GENMSG_01_05_BV());
                execute(TC_SEC_ITSS_RCV_GENMSG_02_01_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_02_02_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_04_01_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_04_02_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_04_03_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_04_04_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_04_05_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_04_06_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_04_07_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_04_08_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_05_03_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_06_01_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_06_02_BO());
garciay's avatar
garciay committed
                if (PICS_ITS_C2C_MODE) {
                    execute(TC_SEC_ITSS_RCV_GENMSG_06_03_BO());
                    execute(TC_SEC_ITSS_RCV_GENMSG_06_04_BO());
                }
                execute(TC_SEC_ITSS_RCV_GENMSG_07_01_BO());
garciay's avatar
garciay committed
                execute(TC_SEC_ITSS_RCV_GENMSG_08_01_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_08_02_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_08_03_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_08_04_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_09_02_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_09_03_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_09_04_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_10_01_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_10_02_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_11_01_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_12_01_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_12_02_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_12_03_BO());
                execute(TC_SEC_ITSS_RCV_GENMSG_12_04_BO());
            }
garciay's avatar
garciay committed
            /**
             * @desc Receiving behaviour test cases for certificates profile
             * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.3.5 Profiles for certificates
             */
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CERT_01_01_BO());
            execute(TC_SEC_ITSS_RCV_CERT_01_02_BO());
            execute(TC_SEC_ITSS_RCV_CERT_01_03_BO());
            execute(TC_SEC_ITSS_RCV_CERT_01_04_BO());
            execute(TC_SEC_ITSS_RCV_CERT_02_01_BO());
            execute(TC_SEC_ITSS_RCV_CERT_02_02_BO());
            execute(TC_SEC_ITSS_RCV_CERT_02_03_BO());
            execute(TC_SEC_ITSS_RCV_CERT_02_04_BO());
            execute(TC_SEC_ITSS_RCV_CERT_03_01_BO());
            execute(TC_SEC_ITSS_RCV_CERT_03_02_BO());
            execute(TC_SEC_ITSS_RCV_CERT_04_01_BO());
garciay's avatar
garciay committed
            execute(TC_SEC_ITSS_RCV_CERT_05_01_BO());
            execute(TC_SEC_ITSS_RCV_CERT_05_02_BO());
        
    } // End of 'control' statement
    
} // End of module ItsSecurity_TestControl