Newer
Older
* @desc This module provides test cases
* for SIP-IMS-RfRo-DIAMETER tests.
*/
module DiameterRfRo_TestCases
{
//LibCommon
import from LibCommon_Sync all ;
import from LibCommon_VerdictControl all;
import from LibDiameter_TypesAndValues all;
//AtsIms
import from DiameterRfRo_TestConfiguration all;
import from DiameterRfRo_TestSystem all;
import from DiameterRfRo_SIP_TCFunctions all;
import from DiameterRfRo_TCFunctions all;
import from DiameterRfRo_PICS all;
import from DiameterRfRo_PIXITS all;
import from DiameterRfRo_Steps all;
import from DiameterRfRo_TestSystem all;
// 5.2.2.1. CDF Role
group TP_RF_CDF_Role {
// 5.2.2.1.2 Message Syntax
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/**
* @desc Verify that the IUT can successfully process all mandatory AVPs in an AC-Request received due to Charging Data Transfer
* <pre>
* Pics Selection: PICS_CDF_IUT
* Initial conditions:
* with {
*
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives an AC-Request
* containing a Session-ID AVP
* containing an Origin-Host AVP
* containing an Origin-Realm AVP
* containing a Destination-Realm AVP
* containing an Accounting-Record-Type AVP
* containing an Accounting-Record-Number AVP
* containing an Acct-Application-Id AVP
* indicating the value 3
* }
* then {
* the IUT sends a AC-Response
* containing a Session-ID AVP
* containing a Result-Code AVP
* indicating DIAMETER_SUCCESS
* not containing an Experimental-Result AVP
* containing an Origin-Host AVP
* containing an Origin-Realm AVP
* containing an Accounting-Record-Type AVP
* containing an Accounting-Record-Number AVP
* containing an Acct-Application-Id AVP
* indicating the value 3
* }
* }
* </pre>
*
* @version 0.0.12
* @see ETSI DTS/INT 00121-2 V0.0.12 (2015-07) TP_RF_CDF_MS_01
*/
testcase TC_RF_CDF_MS_01() runs on DiameterRfRo system TestAdapter {
// Local variables
// Test control
if (not PICS_CDF_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_CDF_IUT' required for executing the TC. ***");
stop;
}
// Test component configuration
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
} // End of testcase TC_RF_CDF_MS_01
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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
154
155
156
157
158
159
160
/**
* @desc Verify that the IUT can successfully process all mandatory AVPs in an AC-Request received due to Charging Data Transfer and responds with a valid AC-Answer message
* <pre>
* Pics Selection: PICS_CDF_IUT
* Initial conditions:
* with {
*
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives an AC-Request
* containing a Session-ID AVP
* containing an Origin-Host AVP
* containing an Origin-Realm AVP
* containing a Destination-Realm AVP
* containing an Accounting-Record-Type AVP
* containing an Accounting-Record-Number AVP
* containing an Acct-Application-Id AVP
* indicating the value 3
* }
* then {
* the IUT sends an AC-Answer
* containing a Diameter-Header
* containing a Version
* indicating value ‘1’
* containing a Command-Flags
* containing T bit
* indicating value ‘0’
* containing r bits
* indicating value ‘0000’.
* }
* }
* </pre>
*
* @version 0.0.15
* @see ETSI DTS/INT 00121-2 V0.0.15 (2015-09) TP_RF_CDF_MS_02
*/
testcase TC_RF_CDF_MS_02() runs on DiameterRfRo system TestAdapter {
// Local variables
var DiameterRfRo v_diameterRf_ctf;
// Test control
if (not PICS_CDF_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_CDF_IUT' required for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_1Rf_ctfUp(v_diameterRf_ctf);
// Start
v_diameterRf_ctf.start(f_TC_CDF_MS_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
f_cf_1Rf_ctfDown(v_diameterRf_ctf);
} // End of testcase TC_RF_CDF_MS_01
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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
} // End of group MessageSyntax
// 5.2.2.1.3 Type of Charging
group TypeOfCharging {
/**
* @desc Verify that the IUT can successfully process an AC-Request [Event] where Event Based Charging is used
* <pre>
* Pics Selection: PICS_CDF_IUT and PICS_EVENT_BASED_CHARGING
* Initial conditions:
* with {
*
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives an AC-Request
* containing an Accounting-Record-Type AVP
* indicating EVENT_RECORD
* containing an Event-Timestamp AVP
* may containing Service-Information AVP
* containing at least one Subscription-ID AVP
* indicating the identification of the user
* may contains IMS-Information AVP
* containing Node-Functionality AVP
* indicating the value 3
* may containing Service-Generic-Information AVP
* indicating the service specific parameters
* may containing Service-Context-Id AVP
* }
* then {
* the IUT sends a AC-Response
* containing a Session-ID AVP
* containing a Result-Code AVP
* indicating DIAMETER_SUCCESS
* not containing an Experimental-Result AVP
* containing an Accounting-Record-Type AVP
* indicating EVENT_RECORD
* containing an Accounting-Record-Number AVP
* }
* }
* </pre>
*
* @version 0.0.12
* @see ETSI DTS/INT 00121-2 V0.0.12 (2015-07) TP_RF_CDF_TC_01
*/
testcase TC_RF_CDF_TC_01() runs on DiameterRfRo system TestAdapter {
// Local variables
// Test control
if (not (PICS_CDF_IUT and PICS_EVENT_BASED_CHARGING)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_CDF_IUT and PICS_EVENT_BASED_CHARGING' required for executing the TC. ***");
stop;
}
// Test component configuration
// Start
v_diameterRf_ctf.start(f_TC_RF_CDF_TC_01());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
228
229
230
231
232
233
234
235
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
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
} // End of testcase TC_RF_CDF_TC_01
/**
* @desc Verify that the IUT can successfully process an AC-Request [Start] where Session Based Charging is used
* <pre>
* Pics Selection: PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING
* Initial conditions:
* with {
*
* }
* Expected behaviour:
* ensure that {
* when {
* on receipt of an AC-Request
* containing an Accounting-Record-Type AVP
* containing an Accounting-Record-Type AVP
* indicating START_RECORD
* containing an Accounting-Record-Number AVP
* containing an Event-Timestamp AVP
* containing Service-Information AVP
* indicating the service specific parameters
* }
* then {
* sends an AC-Answer
* containing a Result-Code AVP
* indicating DIAMETER_SUCCESS
* not containing an Experimental-Result AVP
* containing an Accounting-Record-Type AVP
* indicating START_RECORD
* optionally containing an Acct-Interim-Interval AVP
* indicating the desired intermediate charging interval.
* }
* }
* </pre>
*
* @version 0.0.12
* @see ETSI DTS/INT 00121-2 V0.0.12 (2015-07) TP_RF_CDF_TC_01
*/
testcase TC_RF_CDF_TC_02() runs on DiameterRfRo system TestAdapter {
// Local variables
var DiameterRfRo v_diameterRf_ctf;
// Test control
if (not (PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING)) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_CDF_IUT and PICS_SESSION_BASED_CHARGING' required for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_1Rf_ctfUp(v_diameterRf_ctf);
// Start
v_diameterRf_ctf.start(f_TC_RF_CDF_TC_02());
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
f_cf_1Rf_ctfDown(v_diameterRf_ctf);
} // End of testcase TC_RF_CDF_TC_01
//5.2.2.1.4 ErrorCases
group ErrorCases {
} // End of group ErrorCasses
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
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
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
} // End of group TP_RF_CDF_Role
// 5.2.2.2. CTF Role
group TP_RF_CTF_Role {
// 5.2.2.2.2 Message Syntax
group TP_RF_CTF_MS_Role {
/**
* @desc Verify that the IUT can send an AC-Request to indicate a Charging Data Transfer.
* <pre>
* Pics Selection: PICS_CTF_IUT
* Initial conditions:
* with {
*
* }
* Expected behaviour:
* ensure that the IUT sends an AC-Request
* containing a Session-ID AVP
* containing an Origin-Host AVP
* containing an Origin-Realm AVP
* containing a Destination-Realm AVP
* containing an Accounting-Record-Type AVP
* containing an Accounting-Record-Number AVP
* containing an Acct-Application-Id AVP
* indicating the value 3
* </pre>
*
* @version 0.0.16
* @see ETSI DTS/INT 00121-2 V0.0.16 (2015-09) TP_RF_CTF_MS_01
*/
testcase TC_RF_CTF_MS_01() runs on DiameterRfRo system TestAdapter {
// Local variables
var DiameterRfRo v_diameterRf_cdf;
var ImsComponent v_imsComponent_ue;
var ImsComponent v_imsComponent_cscf;
// Test control
if (not PICS_CTF_IUT) {
log("*** " & __SCOPE__ & ": ERROR: 'PICS_CTF_IUT' required for executing the TC. ***");
stop;
}
// Test component configuration
f_cf_1Rf_1Gm_1Mw_cdfUp(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf);
// Start
v_diameterRf_cdf.start(f_TC_CTF_MS_01());
if (PX_SIPsupport) {
// v_imsComponent_ue.start(f_TC_CTF_MS_01);
// v_imsComponent_cscf.start(f_TC_CTF_MS_01);
}
// synchronize PTC on 1 sychronization points
f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
f_cf_1Rf_1Gm_1Mw_cdfDown(v_diameterRf_cdf, v_imsComponent_ue, v_imsComponent_cscf)
} // End of testcase TC_RF_CDF_MS_01
}//end of group TP_RF_CTF_MS_Role
// 5.2.2.2.3 Type of Charging
group TP_RF_CTF_TC_Role {
}//end of group TP_RF_CTF_TC_Role
// 5.2.2.2.4 Error cases
group TP_RF_CTF_EC_Role {
}//end of group TP_RF_CTF_EC_Role {
} // End of group TP_RF_CTF_Role
} // End of group TP_RFRole
} // End of module DiameterRfRo_TestCases