Newer
Older
/**
* @author ETSI / STF517
* @version $URL$
* $Id$
* @desc Testcases for IVI Service
* @reference ETSI TS 103 301 v1.1.1
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
*/
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>
*
* @reference ETSI TS 103 301 v1.1.1, 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>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.1
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
*/
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>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.1
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
*/
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>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.1
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
*/
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>
*
* @reference ETSI TS 103 301 v1.1.1, 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
/**
* @desc Check that the timeStamp is set to the current time when generating a new IVM
* <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 timeStamp
* indicating CLT
* and containing iviStatus
* indicating 'new'
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.2
*/
testcase TC_IS_IVI_EVGN_BV_05() runs on ItsIvim system ItsIvimSystem {
f_IS_IVI_EVGN_BV_05();
} // End of TC_IS_IVI_EVGN_BV_05
} // End of group iviEventGeneration
group iviEventUpdate {
/**
* @desc Check that an updated IVIM contains an iviStatus set to 'update'
* <pre>
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
* 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>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.2
*/
testcase TC_IS_IVI_EVUP_BV_01() runs on ItsIvim system ItsIvimSystem {
/**
* @desc Check that an update can change the validity time to the IVIM - validTo information field
* <pre>
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
* 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>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.2
*/
testcase TC_IS_IVI_EVUP_BV_02() runs on ItsIvim system ItsIvimSystem {
/**
* @desc Check that an update can change the validity time to the IVIM - validFrom information field
* <pre>
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
* 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>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.2
*/
testcase TC_IS_IVI_EVUP_BV_03() runs on ItsIvim system ItsIvimSystem {
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
/**
* @desc Check that the timeStamp is set to the current time when generating an update with some change of information content
* <pre>
* PICS Selection: PICS_IVIM_UPDATE
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated an event
* containing ivi
* containing mandatory
* containing timeStamp
* and containing iviStatus
* indicating 'new'
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives an AppIVIM_update
* }
* then {
* the IUT sends a valid IVIM
* containing ivi
* containing mandatory
* containing timeStamp
* indicating CLT
* and containing iviStatus
* indicating 'update'
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.2
testcase TC_IS_IVI_EVUP_BV_04() runs on ItsIvim system ItsIvimSystem {
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
/**
* @desc Check that the iviIdentificationNumber remains unchanged IVIM is updated
* <pre>
* PICS Selection: PICS_IVIM_UPDATE
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated an event
* containing ivi
* containing mandatory
* containing iviIdentificationNumber
* inicating IVIM_ID_1
* and 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 iviIdentificationNumber
* indicating IVIM_ID_1
* and containing iviStatus
* indicating 'update'
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1, clause 7.4.2
testcase TC_IS_IVI_EVUP_BV_05() runs on ItsIvim system ItsIvimSystem {
} // End of group iviEventUpdate
/**
* @desc Check that the IUT terminates IVM genration on validity duration expery
* <pre>
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated several IVIM
* containing ivi
* containing mandatory
* containing iviIdentificationNumber
* indicating IVIM_ID_1
* and containing validTo
* indicating CLT + 10 seconds
* and containing iviStatus
* indicating 'new'
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT is alerted of expiration of the time associated with validTo
* }
* then {
* the IUT stops ending IVIM associated with IVIM_ID_1
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.2
testcase TC_IS_IVI_EVTR_BV_01 () runs on ItsIvim system ItsIvimSystem {
/**
* @desc Check that the IUT terminates IVM genration on termination request
* <pre>
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated several IVIM
* containing ivi
* containing mandatory
* containing iviIdentificationNumber
* indicating IVIM_ID_1
* and not containing validTo
* and containing iviStatus
* indicating 'new'
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives an AppIVIM_termination request associated with IVIM_ID_1
* }
* then {
* the IUT stops ending IVIM associated with IVIM_ID_1
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.2
testcase TC_IS_IVI_EVTR_BV_02 () runs on ItsIvim system ItsIvimSystem {
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
/**
* @desc Check that the IUT activates repetition on reception of a valid AppIVIM_Update request
* <pre>
* Pics Selection: PICS_IVIM_UPDATE
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated several IVIM
* containing ivi
* containing mandatory
* containing iviIdentificationNumber
* indicating IVIM_ID_1
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives an AppIVIM_Update indicating 'repetition interval' RI_1
* }
* then {
* the IUT sends IVIM with respect to the 'repetition interval' RI_1
* containing ivi
* containing mandatory
* containing iviIdentificationNumber
* indicating IVIM_ID_1
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.2
testcase TC_IS_IVI_EVRP_BV_01 () runs on ItsIvim system ItsIvimSystem {
/**
* @desc Check that the IUT activates repetition on reception of a valid AppIVIM_Update request
* <pre>
* Pics Selection: PICS_IVIM_UPDATE
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated several IVIM
* containing ivi
* containing mandatory
* containing iviIdentificationNumber
* indicating IVIM_ID_1
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives an AppIVIM_Update indicating 'repetition interval' 0
* }
* then {
* the IUT stops sending IVIM associated with IVIM_ID_1
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.2
testcase TC_IS_IVI_EVRP_BV_02 () runs on ItsIvim system ItsIvimSystem {
group iviGenerationFrequency {
/**
* @desc Check that IVIMs are not generated more frequently than T_GenIvimMin
* <pre>
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated several IVIM
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT sends a IVIM
* }
* then {
* the IUT does not send any IVIM before expiry of T_GenIvimMin
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.2
testcase TC_IS_IVI_GFQ_TI_01 () runs on ItsIvim system ItsIvimSystem {
/**
* @desc Check that IVIMs are not generated less frequently than T_GenIvimMax
* <pre>
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated several IVIM
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT sends a IVIM
* }
* then {
* the IUT sends another IVIM before expiry of T_GenIvimMax
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.2
testcase TC_IS_IVI_GFQ_TI_02 () runs on ItsIvim system ItsIvimSystem {
} // End of group iviGenerationFrequency
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>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.3.2
*/
testcase TC_IS_IVI_COMM_BV_01_01 () runs on ItsIvim system ItsIvimSystem {
/**
* @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>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.3.2
*/
testcase TC_IS_IVI_COMM_BV_01_02 () runs on ItsIvim system ItsIvimSystem {
/**
* @desc Check that TLM service encapsulates IVIM in a UNC with the HeaderType field set to the value of 2
* <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 {
* a IVIM is generated
* }
* then {
* the IUT sends a valid IVIM
* encapsulated in a UNC packet
* containing a correctly formatted Common Header
* containing HeaderType field
* indicating the value '2'
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.3.2
testcase TC_IS_IVI_COMM_BV_02 () runs on ItsIvim system ItsIvimSystem {
} // End of group iviCommunication
} // End of group iviMessageTransmission
group iviMessageReception {
/**
* @desc Check that content of received IVIM is transmitted to
* applications and other facilities.
* <pre>
* Pics Selection: PICS_IVIM_RECEPTION
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having receive a valid IVIM
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives a valid IVIM
* }
* then {
* the IUT forwards the IVIM content to upper layers
* and the IUT forwards the IVIM content to other facilities
* }
* }
* </pre>
*
* @reference ETSI TS 103 301 v1.1.1 Clause 7.4.3.2
*/
testcase TC_IS_IVI_MSGF_BV_02() runs on ItsIvim system ItsIvimSystem {
f_IS_IVI_MSGF_BV_02();
} // End of group iviMessageReception
} // End of module ItsIvim_TestCases