ItsIvim_TestCases.ttcn 14.4 KB
Newer Older
/**
 *    @author   ETSI / STF517
 *    @version  $URL$
 *              $Id$
 *    @desc     IVIM Testcases 
 *    @see      ISO TS 19321
 */

module ItsIvim_TestCases {
    
    // LibIts
    import from LibItsIvim_TestSystem all;
    
    // Ats Its
    import from ItsIvim_TpFunctions all;

    // 5.2.1
    group iviMessageTransmission { 
        
        group iviMessageFormat {
            
            /**
             * @desc Check that protocolVersion is set to 1 and messageID is set to 6.
             * <pre>
             * Pics Selection: PICS_IVIM_GENERATION
             * Initial conditions: 
             *     with {
             *         the IUT being in the "initial state"
             *     }
             * Expected behaviour:
             *     ensure that {
             *         when {
             *             a IVIM is generated 
             *         }
             *         then {
             *             the IUT sends a valid IVIM
             *                 containing ITS PDU header
             *                     containing protocolVersion
             *                         indicating value 1
             *                     and containing messageID
             *                         indicating value 6
             *         }
             *     }
             * </pre>
             * 
             * @see       ETSI TS 103 191-2 TP_IS_IVI_MSGF_BV_01, ETSI TS 103 301, clause 7.3
             */
            testcase TC_IS_IVI_MSGF_BV_01() runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVI_MSGF_BV_01();
                
            } // End of TC_IS_IVI_MSGF_BV_01
            
        } // End of group iviMessageFormat
        
        group iviEventGeneration {
            
            /**
             * @desc    Check that IVI Service generates a new IVIM on reception of a valid AppIVIM_Trigger request
             * <pre>
             * PICS Selection: PICS_IVIM_GENERATION 
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *  }
             * Expected behaviour:
             *  ensure that {
             *      when { 
             *          the IUT receives an AppIVIM_Trigger request from the application layer
             *      }
             *      then {
             *          the IUT sends a valid IVIM
             *      }
             *  }
             * </pre>
             * 
             * @see     ETSI TS 103 191-2 TP_IS_IVI_EVGN_BV_01, ETSI TS 103 301, clause 7.4.1
             */
            testcase TC_IS_IVI_EVGN_BV_01() runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVI_EVGN_BV_01();
                
            } // End of TC_IS_IVI_EVGN_BV_01
            
            /**
             * @desc    Check that a new iviIdentificationNumber value is assigned for each newly generated IVIM
             * <pre>
             * PICS Selection: PICS_IVIM_GENERATION 
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *      and the IUT having generated several IVIM
             *  }
             * Expected behaviour:
             *  ensure that {
             *      when { 
             *          the IUT is requested to generate a new IVIM
             *      }
             *      then {
             *          the IUT sends a valid IVIM
             *              containing ivi
             *                  containing mandatory
             *                      containing iviIdentificationNumber
             *                          indicating an unused value
             *      }
             *  }
             * </pre>
             * 
             * @see     ETSI TS 103 191-2 TP_IS_IVI_EVGN_BV_02, ETSI TS 103 301, clause 7.4.1
             */
            testcase TC_IS_IVI_EVGN_BV_02() runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVI_EVGN_BV_02();
                
            } // End of TC_IS_IVI_EVGN_BV_02
            
            /**
             * @desc    Check that iviIdentificationNumber value is set to a next unused value each time an IVIM is detected
             * <pre>
             * PICS Selection: PICS_IVIM_GENERATION 
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *      and the IUT having generated several IVIM
             *      and the IUT having generated its last DENM
             *          containing ivi
             *              containing mandatory
             *                  containing iviIdentificationNumber
             *                      indicating IVI_ID_1
             *      and no active IviID being associated with iviIdentificationNumber IVI_ID_1 + 1
             *  }
             * Expected behaviour:
             *  ensure that {
             *      when { 
             *          the IUT is requested to generate a new IVIM
             *      }
             *      then {
             *          the IUT sends a valid IVIM
             *              containing ivi
             *                  containing mandatory
             *                      containing iviIdentificationNumber
             *                          indicating IVI_ID_1 + 1
             *      }
             *  }
             * </pre>
             * 
             * @see     ETSI TS 103 191-2 TP_IS_IVI_EVGN_BV_03, ETSI TS 103 301, clause 7.4.1
             */
            testcase TC_IS_IVI_EVGN_BV_03() runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVI_EVGN_BV_03();
                
            } // End of TC_IS_IVI_EVGN_BV_03
            
            /**
             * @desc    Check that a new generated IVIM contains an iviStatus set to 'new'
             * <pre>
             * PICS Selection: PICS_IVIM_GENERATION 
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *  }
             * Expected behaviour:
             *  ensure that {
             *      when { 
             *          the IUT is requested to generate a new IVIM
             *      }
             *      then {
             *          the IUT sends a valid IVIM
             *              containing ivi
             *                  containing mandatory
             *                      containing iviStatus
             *                          indicating 'new'
             *      }
             *  }
             * </pre>
             * 
             * @see     ETSI TS 103 191-2 TP_IS_IVI_EVGN_BV_04, ETSI TS 103 301, clause 7.4.2
             */
            testcase TC_IS_IVI_EVGN_BV_04() runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVI_EVGN_BV_04();
                
            } // End of TC_IS_IVI_EVGN_BV_04
        } // End of group iviEventGeneration
        
        group iviEventUpdate {
            
            /**
             * @desc    Check that an updated IVIM contains an iviStatus set to 'update'
             * <pre>
             * PICS Selection: PICS_IVIM_GENERATION 
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *      and the IUT having generated an event
             *          containing ivi
             *              containing mandatory
             *                  containing iviIdentificationNumber 
             *                      indicating IVIM_ID_1
             *                  containing iviStatus
             *                      indicating 'new'
             *  }
             * Expected behaviour:
             *  ensure that {
             *      when { 
             *          the IUT receives an AppIVIM_update request associated with IVIM_ID_1
             *      }
             *      then {
             *          the IUT sends a valid IVIM
             *              containing ivi
             *                  containing mandatory
             *                      containing iviStatus
             *                          indicating 'update'
             *      }
             *  }
             * </pre>
             * 
             * @see     ETSI TS 103 191-2 TP_IS_IVI_EVUP_BV_05, ETSI TS 103 301, clause 7.4.2
             */
            testcase TC_IS_IVI_EVUP_BV_05() runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVI_EVUP_BV_05();
                
            } // End of TC_IS_IVI_EVUP_BV_05
            
            /**
             * @desc    Check that an update can change the validity time to the IVIM - validTo information field
             * <pre>
             * PICS Selection: PICS_IVIM_GENERATION 
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *      and the IUT having generated an event
             *          containing ivi
             *              containing mandatory
             *                  not containing validTo
             *                  and containing iviStatus
             *                      indicating 'update'
             *  }
             * Expected behaviour:
             *  ensure that {
             *      when { 
             *          the IUT receives an AppIVIM_update indicating a validTo value VT_1
             *      }
             *      then {
             *          the IUT sends a valid IVIM
             *              containing ivi
             *                  containing mandatory
             *                      containing validTo
             *                          indicating VT_1
             *                      and containing iviStatus
             *                          indicating 'update'
             *      }
             *  }
             * </pre>
             * 
             * @see     ETSI TS 103 191-2 TP_IS_IVI_EVUP_BV_06, ETSI TS 103 301, clause 7.4.2
             */
            testcase TC_IS_IVI_EVUP_BV_06() runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVI_EVUP_BV_06();
                
            } // End of TC_IS_IVI_EVUP_BV_06
            
            /**
             * @desc    Check that an update can change the validity time to the IVIM - validFrom information field
             * <pre>
             * PICS Selection: PICS_IVIM_GENERATION 
             * Initial conditions:
             *  with {
             *      the IUT being in the "initial state"
             *      and the IUT having generated an event
             *          containing ivi
             *              containing mandatory
             *                  not containing validFrom
             *                  and containing iviStatus
             *                      indicating 'update'
             *  }
             * Expected behaviour:
             *  ensure that {
             *      when { 
             *          the IUT receives an AppIVIM_update indicating a validFrom value VF_1
             *      }
             *      then {
             *          the IUT sends a valid IVIM
             *              containing ivi
             *                  containing mandatory
             *                      containing validFROM
             *                          indicating VF_1
             *                      and containing iviStatus
             *                          indicating 'update'
             *      }
             *  }
             * </pre>
             * 
             * @see     ETSI TS 103 191-2 TP_IS_IVI_EVUP_BV_07, ETSI TS 103 301, clause 7.4.2
             */
            testcase TC_IS_IVI_EVUP_BV_07() runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVI_EVUP_BV_07();
                
            } // End of TC_IS_IVI_EVUP_BV_07
            
        } // End of group iviEventUpdate
        
        group iviCommunication {
            
            /**
             * @desc Check that IVIM uses BTP_B packet
             * <pre>
             * Pics Selection: PICS_IVIM_GENERATION
             * Initial conditions: 
             *   with {
             *        the IUT being in the "initial state"
             *        and the IUT sending IVIM
             *    }
             * Expected behaviour:
             *    ensure that {
             *        when { 
             *            an IVIM is generated
             *        }
             *        then {
             *            the IUT sends a valid IVIM
             *                encapsulated in a BTP-B packet
             *        }
             *    }
             * </pre>
             * 
             * @version   1.0.4
             * @see       ETSI TS 103 191-2 v0.0.1 TP_IS_IVIM_COMM_BV_02_01
             * @reference ETSI TS 103 301 V1.0.4 Clause 7.4.3.2
             */
            testcase TC_IS_IVIM_COMM_BV_02_01 () runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVIM_COMM_BV_02_01();
                
            } // End of testcase TC_IS_IVIM_COMM_BV_02_01
            
            /**
             * @desc Check that the destination port for IVIM is set to 2006
             * <pre>
             * Pics Selection: PICS_IVIM_GENERATION
             * Initial conditions: 
             *   with {
             *        the IUT being in the "initial state"
             *        and the IUT sending IVIM
             *    }
             * Expected behaviour:
             *    ensure that {
             *        when { 
             *            an IVIM is generated
             *        }
             *        then {
             *            the IUT sends a valid IVIM
             *                encapsulated in a BTP packet
             *                   containing a destination port value set to 2006
             *                   and containing a destination port info value set to 0
             *        }
             *    }
             * </pre>
             * 
             * @version   1.0.4
             * @see       ETSI TS 103 191-2 v0.0.1 TP_IS_IVIM_COMM_BV_02_02
             * @reference ETSI TS 103 301 V1.0.4 Clause 7.4.3.2
             */
            testcase TC_IS_IVIM_COMM_BV_02_02 () runs on ItsIvim system ItsIvimSystem {
                
                f_IS_IVIM_COMM_BV_02_02();
                
            } // End of testcase TC_IS_IVIM_COMM_BV_02_02
            
        } // End of group iviCommunication
        
    } // End of group iviMessageTransmission
    
    group iviMessageReception {
        
    } // End of group iviMessageReception
    
} // End of module ItsIvim_TestCases