OneM2M_Testcases_CSE_Release_2.ttcn 301 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
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
/**
 *  Copyright Notification
 *  No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
 *  The copyright and the foregoing restriction extend to reproduction in all media.
 *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
 *  All rights reserved.
 *  
 *  @author     ETSI
 *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/OneM2M_Testcases.ttcn $
 *              $Id: OneM2M_Testcases.ttcn 347 2017-08-11 08:48:20Z reinaortega $
 *  @desc       Module containing test cases for oneM2M
 *
 */
module OneM2M_Testcases_CSE_Release_2 {

	import from OneM2M_TestSystem all;
	import from OneM2M_Templates all;
	import from OneM2M_Types all;//{type XSD.ID};
	import from OneM2M_TypesAndValues all;
	import from OneM2M_Pixits all;
	import from LibCommon_Time all;
	import from OneM2M_Pics all;
	import from OneM2M_Functions all;
	import from OneM2M_PermutationFunctions all;
	import from XSD all;
	
	//Demos used for validation purposes
	group oneM2M_demos {
	
		group helpingTestCases {//These are not part of the test suite, just for verification purposes
			
			testcase TC_DELETE_RESOURCES() runs on AeSimu system CseSystem {
				
				timer t_ac := 5.0;
				var integer i; 
				var XSD.ID v_resourceAddress;
				var RequestPrimitive v_request;
				map(self:mcaPort, system:mcaPort); 
					
				for (i:=0; i<lengthof(PX_RESOURCES_TO_BE_DELETED); i:= i+1) {  
					
					v_resourceAddress := f_getResourceAddress() & "/" & PX_RESOURCES_TO_BE_DELETED[i]; 
						
					v_request := valueof(m_delete(v_resourceAddress, PX_SUPER_AE_ID));
					    
46
					mcaPort.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_request(v_request))));
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
79
80
81
82
83
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
					
					t_ac.start;
					alt {
						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
							t_ac.stop;
							log(__SCOPE__ & ":Resource deleted");
							setverdict(pass);
						}
						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
							t_ac.stop;
							log(__SCOPE__ & ":Error while deleting resource");
							setverdict(fail);
						}
						[] mcaPort.receive {
							t_ac.stop;
							log(__SCOPE__ & ":Unexpected message received");
							setverdict(inconc);
						}
						[] t_ac.timeout {
							log(__SCOPE__ & ":No answer while deleting resource");
							setverdict(inconc);
						}	
					}	
				}
			
				unmap(self:mcaPort, system:mcaPort); 
				stop;
			}	
		
		}//end group helpingTestCases
	
	}//end group oneM2M_demos
	
	group CSE {
		
		group Generic {
			
			group Create {
				
			} // end of group Create
			
			group Retrieve {
			} // end of group Retrieve
			
			group Update {
			} // end of group Update
			
			group Delete {
			} // end of group Delete
		
		} // end of group Generic
		
		group Registration {
			
			group Create{
				
				/**
				  * @desc Check that the IUT accepts an AE registration with the optional attribute OPTIONAL_ATTRIBUTE provided   
				  * 
				 */
				group g_CSE_REG_CRE_012 {
					
					testcase TC_CSE_REG_CRE_012_AE_NL() runs on Tester system CseSystem {
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
						var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
112
113
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
114
115
116
117
118
119
120
121
						v_create.primitiveContent.aE.nodeLink := "http://127.0.0.1/";
						v_ae1.start(f_CSE_REG_CRE_012(v_create));
						v_ae1.done;
					}
					
					testcase TC_CSE_REG_CRE_012_AE_OR() runs on Tester system CseSystem {
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
						var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
122
123
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
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
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
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
						v_create.primitiveContent.aE.ontologyRef := "MyOntologyRef";
						v_ae1.start(f_CSE_REG_CRE_012(v_create));
						v_ae1.done;
					}
				
				}
				
				
				
				
				/*testcase TC_CSE_REG_CRE_029() runs on CseSimu system CseSystem {
  
					var MsgIn v_response;
					
					var RequestPrimitive v_request;
					var RequestPrimitive v_createRequestPrimitive := valueof(m_createRemoteCSEBase);
					var ResourceType v_resourceType := int16;
	
					// Test control
	
					// Test component configuration
					f_cf04Up();
	
					// Test adapter configuration
	
					// Preamble
					v_request := f_getCreateRequestPrimitive(v_resourceType, v_createRequestPrimitive, -1);
	
					tc_ac.start;
					alt {
						[] mccPort.receive(mw_request(mw_createRemoteCSE(PX_CSE_ID,f_getResourceAddress(-1)))) -> value v_response {
							tc_ac.stop;
							setverdict(pass, __SCOPE__ & ": Resource type remoteCSE created successfully");
						}
						[] mccPort.receive {
							tc_ac.stop;
							setverdict(fail, __SCOPE__ & ": Error while creating resource type remoteCSE");
						}
						[] tc_ac.timeout {
							setverdict(fail, __SCOPE__ & ": No answer while creating resource type remoteCSE");
						}
					}	
	
					// Postamble
					f_cse_postamble_deleteResourcesCSE();
	
					// Tear down
					f_cf04Down();
	
				}*/
				
								/**
				 * @desc Check that the IUT rejects the create request of <CSEBase> resource.
				 * 
				 
				testcase TC_CSE_REG_CRE_027() runs on AeSimu system CseSystem {
	
					// Local variables
					var RequestPrimitive v_request;
					var integer v_cseBaseIndex := -1;
					var ResourceType v_resourceType := int2;
		   
					// Test control

					// Test component configuration
					f_cf02Up();

					// Test adapter configuration

					// Preamble
					vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));

					// Test Body
					f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit));
	
					tc_ac.start;
					alt {
						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) {
							tc_ac.stop;
							setverdict(pass, __SCOPE__ & ": AE creation successful.");
						}
						[] mcaPort.receive {
							tc_ac.stop;
							setverdict(fail, __SCOPE__ & ": Error while creating AE");
						}
						[] tc_ac.timeout {
							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
						}
					}	

					// Postamble
					f_cse_postamble_deleteResources();

					// Tear down
					f_cf02Down();

				}end TC_CSE_REG_CRE_027*/
				
				
				
				
				/**
				 * @desc Check that IUT accepts  a CSE registration request with OPTIONAL_ATTRIBUTE attribute
				 * 
				 */
				group g_CSE_REG_CRE_028 {
				
					testcase TC_CSE_REG_CRE_028_RN() runs on Tester system CseSystem {
						 //Local variables
						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
234
						
235
236
						 var RequestPrimitive v_request;
						 var template PrimitiveContent v_contentResponse;
237
238
						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
						v_cse1.done;
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
						 v_request := valueof(m_createRemoteCSEBase);
						 v_request.primitiveContent.remoteCSE.cseType := int2;	//MN_CSE
						 v_request.primitiveContent.remoteCSE.resourceName := c_defaultRemoteCSEResourceName;
	
						 v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
						 v_contentResponse.remoteCSE.cseType := int2;	//MN_CSE
					     v_contentResponse.remoteCSE.resourceName := c_defaultRemoteCSEResourceName;
	
						 v_cse1.start(f_CSE_REG_CRE_028(v_request, v_contentResponse));
						 v_cse1.done;
						
					}
					
					testcase TC_CSE_REG_CRE_028_ET() runs on Tester system CseSystem {
						 //Local variables
						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
255
						
256
257
						 var RequestPrimitive v_request;
						 var template PrimitiveContent v_contentResponse;
258
259
						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
						v_cse1.done;
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
288
289
						 v_request := valueof(m_createRemoteCSEBase);
						 v_request.primitiveContent.remoteCSE.cseType := int2;	//MN_CSE
						 v_request.primitiveContent.remoteCSE.expirationTime := "20301231T012345";
	
						 v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
						 v_contentResponse.remoteCSE.cseType := int2;	//MN_CSE
						 v_contentResponse.remoteCSE.expirationTime := "20301231T012345";
	
						 v_cse1.start(f_CSE_REG_CRE_028(v_request, v_contentResponse));
						 v_cse1.done;
		
					}
					
				}//end g_CSE_REG_CRE_028
			
			}	//end group Create
			
			group Retrieve{
				
				
				/**
				 * @desc Check that the IUT accepts a retrieval request of <AE> resource with optional ATTRIBUTE
				 * 
				 */
				 
				group g_CSE_REG_RET_004 {
					
					testcase TC_CSE_REG_RET_004_NL() runs on Tester system CseSystem {
						//Local variables
						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
290
						
291
292
						 var template RequestPrimitive v_createRequest := m_createAe(PX_APP_ID);
						 var template PrimitiveContent v_contentResponse;
293
294
						 v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
295
296
297
298
299
300
301
302
303
304
305
306
						 v_createRequest.primitiveContent.aE.nodeLink := "http://127.0.0.1/";

						 v_contentResponse.aE := mw_contentAeBase;
						 v_contentResponse.aE.nodeLink := ?;

						 v_ae1.start(f_CSE_REG_RET_004(v_createRequest,v_contentResponse));
						 v_ae1.done;
					}
					
					testcase TC_CSE_REG_RET_004_CSZ() runs on Tester system CseSystem {
						//Local variables
						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
307
						
308
309
						 var template RequestPrimitive v_createRequest := m_createAe(PX_APP_ID);
						 var template PrimitiveContent v_contentResponse;
310
311
						 v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
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
						 v_createRequest.primitiveContent.aE.contentSerialization := {applicationxml};

						 v_contentResponse.aE := mw_contentAeBase;
						 v_contentResponse.aE.contentSerialization := ?; 

						 v_ae1.start(f_CSE_REG_RET_004(v_createRequest,v_contentResponse));
						 v_ae1.done;
					}
	
				} //end g_CSE_REG_RET_004
				
			}//end group Retrieve
			
			group Update{
			
				
				/**
				 * @desc Check that the IUT accepts an update request of <remoteCSE> resource with OPTIONAL_ATTRIBUTE.
				 * 
				 */
				 
				group g_CSE_REG_UPD_002 {
					
					testcase TC_CSE_REG_UPD_002_ET() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;	
						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
339
340
						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
						v_cse1.done;
341
342
343
344
345
346
347
348
349
350
351
352
    						
						v_updateRequest.primitiveContent.remoteCSE.expirationTime := "20301231T012345";
	
						v_cse1.start(f_CSE_REG_UPD_002(v_updateRequest));
						v_cse1.done;
						
					}
					
					testcase TC_CSE_REG_UPD_002_RR() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;	
						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
353
354
						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
						v_cse1.done;
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
382
383
384
385
386
387
388
389
390
391

						v_updateRequest.primitiveContent.remoteCSE.requestReachability := true;

						v_cse1.start(f_CSE_REG_UPD_002(v_updateRequest));
						v_cse1.done;

					}
							
				} //end g_CSE_REG_UPD_002
			    
			    
			}// end group Update
			
			group Delete{
			
				
				
			
			}// end group Delete
	  	  	
		}//end Registration
		
		group Data_Management_and_Repository {
						
			group Create {
				
				group g_CSE_DMR_CRE_001 {
					
					/**
					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource on the TARGET_RESOURCE_ADDRESS of type PARENT_RESOURCE_TYPE with resource name not provided
					 * 
					 */
					testcase TC_CSE_DMR_CRE_001_SCH_CB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createScheduleBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
392
393
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
394
395
396
397
398
399
400
401
402
						
						v_createRequest.primitiveContent.schedule.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int18, v_createRequest, -));//Schedule
						v_ae1.done;
						
						 
																	
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
403
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
404
405
406
407
408
409
410
411
412
413
							}
						}
						
					}
					
					testcase TC_CSE_DMR_CRE_001_SCH_AE() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createScheduleBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
414
415
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
416
417
418
419
420
421
422
423
424
						
						v_createRequest.primitiveContent.schedule.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int18, v_createRequest, m_createAeAux(omit,omit)));//Schedule
						v_ae1.done;
						
						 
											
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
425
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
426
427
428
429
430
431
432
433
434
435
							}
						}
						
					}
				
					testcase TC_CSE_DMR_CRE_001_SCH_SUB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createScheduleBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
436
437
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
438
439
440
441
442
443
444
445
446
						
						v_createRequest.primitiveContent.schedule.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int18, v_createRequest, m_createSubscriptionBase));//Schedule
						v_ae1.done;
						
						 
																		
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
447
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
448
449
450
451
452
453
454
455
456
457
							}
						}
					
					}
					
					testcase TC_CSE_DMR_CRE_001_PCH_AE() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
458
459
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
460
461
462
463
464
465
466
467
468
469
470
						
						
						v_createRequest.primitiveContent.pollingChannel.resourceName := omit;

						v_ae1.start(f_CSE_DMR_CRE_001(int15, v_createRequest, m_createAeAux(omit,omit)));//PollingChannel
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){
471
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
472
473
474
475
476
477
478
479
480
481
							}
						}
						
					}
					
					testcase TC_CSE_DMR_CRE_001_SUB_SCH() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
482
483
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
484
485
486
487
488
489
490
491
492
						
						v_createRequest.primitiveContent.subscription.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createScheduleBase));//Subscription
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
493
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
494
495
496
497
498
499
500
501
502
							}
						}		
					}
					
					testcase TC_CSE_DMR_CRE_001_SUB_GRP() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
503
504
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
505
506
507
508
509
510
511
512
513
						
						v_createRequest.primitiveContent.subscription.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createGroupBase));//Subscription
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
514
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
515
516
517
518
519
520
521
522
523
							}
						}		
					}
					
					testcase TC_CSE_DMR_CRE_001_NOD_CB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createNodeBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
524
525
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
526
527
528
529
530
531
532
533
534
535
						 
						v_createRequest.primitiveContent.node.resourceName := omit;

						v_ae1.start(f_CSE_DMR_CRE_001(int14, v_createRequest, -));//Node
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){
536
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
537
538
539
540
541
542
543
544
545
546
							}
						}
						
					}
					
					testcase TC_CSE_DMR_CRE_001_MGC_CB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createMgmtCmdBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
547
548
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
549
550
551
552
553
554
555
556
557
						
						v_createRequest.primitiveContent.mgmtCmd.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int12, v_createRequest, -));//Management Command
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.mgmtCmd.resourceName)){
558
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
559
560
561
562
563
564
565
566
567
568
							}
						}
						
					}
					
					testcase TC_CSE_DMR_CRE_001_LCP_CB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createLocationPolicyBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
569
570
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
571
572
573
574
575
576
577
578
579
						
						v_createRequest.primitiveContent.locationPolicy.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int10, v_createRequest, -));//Location Policy
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.locationPolicy.resourceName)){
580
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
581
582
583
584
585
586
587
588
589
590
							}
						}
						
					}
					
					testcase TC_CSE_DMR_CRE_001_STCG_CB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createStatsConfigBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
591
592
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
593
594
595
596
597
598
599
600
601
						
						v_createRequest.primitiveContent.statsConfig.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int22, v_createRequest, -));//Stats Config
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){
602
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
603
604
605
606
607
608
609
610
611
							}
						}
					}
					
					testcase TC_CSE_DMR_CRE_001_STCL_CB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createStatsCollectBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
612
613
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
614
615
616
617
618
619
620
621
622
623
						 
						v_createRequest.primitiveContent.statsCollect.resourceName := omit;
						
						v_ae1.start(f_CSE_DMR_CRE_001(int21, v_createRequest, -));//Stats Collect
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){
624
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
625
626
627
628
629
630
631
632
633
634
							}
						}
						
					}
					
					testcase TC_CSE_DMR_CRE_001_MSSP_CB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createM2mServiceSubscriptionProfileBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
635
636
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
637
638
639
640
641
642
643
644
645
						
						v_createRequest.primitiveContent.m2mServiceSubscriptionProfile.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int11, v_createRequest, -));//Subscription Profile
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){
646
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
647
648
649
650
651
652
653
654
655
656
							}
						}
						
					}
					
					testcase TC_CSE_DMR_CRE_001_ASAR_CB() runs on Tester system CseSystem {
						// Local variables
						var template RequestPrimitive v_createRequest := m_createServiceSubscribedAppRuleBase;
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
657
658
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
659
660
661
662
663
664
665
666
667
						 
						v_createRequest.primitiveContent.serviceSubscribedAppRule.resourceName := omit;
						v_ae1.start(f_CSE_DMR_CRE_001(int19, v_createRequest, -));//Service Subscribed App
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){
668
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
							}
						}
						
					}
					
				} // end g_CSE_DMR_CRE_001
								
				group g_CSE_DMR_CRE_002 {
					
					/**
					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with a non-existing resource name provided by AE
					 * 
					 */
					testcase TC_CSE_DMR_CRE_002_SCH() runs on Tester system CseSystem {
						// Local variables
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
686
687
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
688
689
690
691
692
693
694
695
			
						v_ae1.start(f_CSE_DMR_CRE_002(int18, m_createScheduleBase));//Schedule
						v_ae1.done;
						
						 
																		
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
696
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
697
698
							} else {
								if(v_responsePrimitive.primitiveContent.schedule.resourceName != c_defaultScheduleResourceName){
699
									setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not correct");
700
701
702
703
704
705
706
707
								}
							}
						}
					}
					testcase TC_CSE_DMR_CRE_002_PCH() runs on Tester system CseSystem {
						// Local variables
						var ResponsePrimitive v_responsePrimitive;
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
708
709
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
710
711
712
713
714
715
716
717
			
						v_ae1.start(f_CSE_DMR_CRE_002(int15, m_createPollingChannelBase));//Pollingchannel
						v_ae1.done;
						
						 
												
						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
							if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){
718
								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
719
720
							} else {
								if(v_responsePrimitive.primitiveContent.pollingChannel.resourceName != c_defaultPollingChannelResourceName){
721
									setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not correct");
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
								}
							}
						}
					}
					
				}// end group g_CSE_DMR_CRE_002
				
				group g_CSE_DMR_CRE_003 {
					
					/**
					 * @desc Check that the IUT rejects the creation of a RESOURCE_TYPE resource with an existing resource name provided by AE
					 * 
					 */
					testcase TC_CSE_DMR_CRE_003_SCH() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
738
739
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
740
741
742
743
744
745
746
747

						v_ae1.start(f_CSE_DMR_CRE_003(int18, m_createScheduleBase));//Schedule
						v_ae1.done;
					}
					testcase TC_CSE_DMR_CRE_003_PCH() runs on Tester system CseSystem {
						// Local variables
                        
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
748
749
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766

						v_ae1.start(f_CSE_DMR_CRE_003(int15, m_createPollingChannelBase));//Pollingchannel
						v_ae1.done;
					}
					
				}// end group g_CSE_DMR_CRE_003
				
				group g_CSE_DMR_CRE_004 {
					
					/**
					 * @desc Check that the IUT rejects the creation of a RESOURCE_TYPE resource when AE has no privileges
					 * 
					 */
					testcase TC_CSE_DMR_CRE_004_SCH() runs on Tester system CseSystem {
						// Local variables
						
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
767
768
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
769
770
771
772
773
774
775
776

						v_ae1.start(f_CSE_DMR_CRE_004(int18, m_createScheduleBase));//Schedule
						v_ae1.done;
					}
					testcase TC_CSE_DMR_CRE_004_PCH() runs on Tester system CseSystem {
						// Local variables
                        
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
777
778
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794

						v_ae1.start(f_CSE_DMR_CRE_004(int15, m_createPollingChannelBase));//Pollingchannel
						v_ae1.done;
					}
					
				}// end group g_CSE_DMR_CRE_004
				
				group g_CSE_DMR_CRE_012 {
					
					/**
					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute OPTIONAL_ATTRIBUTE provided
					 * 
					 */
					testcase TC_CSE_DMR_CRE_012_CNT_ET() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
795
						
796
797
						var template RequestPrimitive v_createRequest := m_createContainerBase;
						const AttributeList c_optionalAttribute := {"expirationTime"};
798
799
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
800
801
802
803
804
805
806
807
808
809
						v_createRequest.primitiveContent.container.expirationTime := "20301231T012345";
						
						v_ae1.start(f_CSE_DMR_CRE_012(int3, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						  
					}
					
					testcase TC_CSE_DMR_CRE_012_CIN_ET() runs on Tester system CseSystem {//TODO
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
810
						
811
812
						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
						const AttributeList c_optionalAttribute := {"expirationTime"};
813
814
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
815
816
817
818
819
820
821
822
823
						v_createRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345";
						
						v_ae1.start(f_CSE_DMR_CRE_012(int4, v_createRequest, c_optionalAttribute));			
						v_ae1.done;
					}
					
					testcase TC_CSE_DMR_CRE_012_CIN_OR() runs on Tester system CseSystem {//TODO
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
824
					
825
826
						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
						const AttributeList c_optionalAttribute := {"ontologyRef"};
827
828
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
829
830
831
832
833
834
835
836
837
838
						v_createRequest.primitiveContent.contentInstance.ontologyRef := "MyOntologyRef";
						
						v_ae1.start(f_CSE_DMR_CRE_012(int4, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						
					}
					
					testcase TC_CSE_DMR_CRE_012_ACP_ET() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
839
						
840
841
						var template RequestPrimitive v_createRequest := m_createAcpBase;
						const AttributeList c_optionalAttribute := {"expirationTime"};
842
843
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
844
845
846
847
848
849
850
851
852
853
						v_createRequest.primitiveContent.accessControlPolicy.expirationTime := "20301231T012345";
						
						v_ae1.start(f_CSE_DMR_CRE_012(int1, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_ET() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
854
						
855
856
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"expirationTime"};
857
858
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
859
860
861
862
863
864
865
866
867
868
						v_createRequest.primitiveContent.subscription.expirationTime := "20301231T012345";
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						  
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_ENC() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
869
						
870
871
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"eventNotificationCriteria"};
872
873
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
874
875
876
877
878
879
880
881
882
883
						v_createRequest.primitiveContent.subscription.eventNotificationCriteria := valueof(m_eventNotificationCriteria({int1}, -));
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_EXC() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
884
						
885
886
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"expirationCounter"};
887
888
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
889
890
891
892
893
894
895
896
897
898
						v_createRequest.primitiveContent.subscription.expirationCounter := 1;
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_GPI() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
899
						
900
901
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"groupID"};
902
903
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
904
905
906
907
908
909
910
911
912
913
						v_createRequest.primitiveContent.subscription.groupID := "MyGroupID";
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_NFU() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
914
						
915
916
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"notificationForwardingURI"};
917
918
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
919
920
921
922
923
924
925
926
927
928
						v_createRequest.primitiveContent.subscription.notificationForwardingURI := "MyForwardingURI";
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_BN() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
929
						
930
931
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"batchNotify"};
932
933
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
934
935
936
937
938
939
940
941
942
						v_createRequest.primitiveContent.subscription.batchNotify := {0, "PT1S"};
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_RL() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
943
						
944
945
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"rateLimit"};
946
947
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
948
949
950
951
952
953
954
955
956
957
						v_createRequest.primitiveContent.subscription.rateLimit := {0, omit};
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_PSN() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
958
						
959
960
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"preSubscriptionNotify"};
961
962
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
963
964
965
966
967
968
969
970
971
972
						v_createRequest.primitiveContent.subscription.preSubscriptionNotify := 1;
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_PN() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
973
						
974
975
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"pendingNotification"};
976
977
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
978
979
980
981
982
983
984
985
986
						v_createRequest.primitiveContent.subscription.pendingNotification := int1;
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));			
						v_ae1.done;
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_NSP() runs on Tester system CseSystem {
						// Local variables
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
987
						
988
989
						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
						const AttributeList c_optionalAttribute := {"notificationStoragePriority"};
990
991
						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
						v_ae1.done;
992
993
994
995
996
997
998
999
1000
						v_createRequest.primitiveContent.subscription.notificationStoragePriority := 1;
						
						v_ae1.start(f_CSE_DMR_CRE_012(int23, v_createRequest, c_optionalAttribute));
						v_ae1.done;
						  
					}
					
					testcase TC_CSE_DMR_CRE_012_SUB_LN() runs on Tester system CseSystem {
						// Local variables
For faster browsing, not all history is shown. View entire blame