OneM2M_Testcases_CSE_Release_1.ttcn 428 KB
Newer Older
1 2 3 4 5 6 7 8
/**
 *  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
9 10
 *  @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 $
11 12 13
 *  @desc       Module containing test cases for oneM2M
 *
 */
14
module OneM2M_Testcases_CSE_Release_1 {
15 16 17 18 19 20

	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;
21
	import from LibCommon_Time all;
22
	import from OneM2M_Pics all;
23
	import from OneM2M_Functions all;
24
	import from OneM2M_PermutationFunctions all;
25 26
	import from XSD all;
	
27
	
28 29 30
	//Demos used for validation purposes
	group oneM2M_demos {
	
31
		group helpingTestCases {//These are not part of the test suite, just for verification purposes
32
			
33
			testcase TC_DELETE_RESOURCES() runs on AeSimu system CseSystem {
34 35 36
				
				timer t_ac := 5.0;
				var integer i; 
37 38
				var XSD.ID v_resourceAddress;
				var RequestPrimitive v_request;
39 40 41
				map(self:mcaPort, system:mcaPort); 
					
				for (i:=0; i<lengthof(PX_RESOURCES_TO_BE_DELETED); i:= i+1) {  
42 43 44
					
					v_resourceAddress := f_getResourceAddress() & "/" & PX_RESOURCES_TO_BE_DELETED[i]; 
						
45 46
					v_request := valueof(m_delete(v_resourceAddress, PX_SUPER_AE_ID));
					    
47 48
					mcaPort.send(m_request(v_request));
					
49 50
					t_ac.start;
					alt {
51
						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
52
							t_ac.stop;
53
							log(__SCOPE__ & ":Resource deleted");
54 55
							setverdict(pass);
						}
56
						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
57
							t_ac.stop;
58
							log(__SCOPE__ & ":Error while deleting resource");
59 60 61 62
							setverdict(fail);
						}
						[] mcaPort.receive {
							t_ac.stop;
63
							log(__SCOPE__ & ":Unexpected message received");
64 65 66
							setverdict(inconc);
						}
						[] t_ac.timeout {
67
							log(__SCOPE__ & ":No answer while deleting resource");
68 69 70 71 72 73 74 75 76
							setverdict(inconc);
						}	
					}	
				}
			
				unmap(self:mcaPort, system:mcaPort); 
				stop;
			}	
		
77
		}//end group helpingTestCases
78 79 80 81 82
	
	}//end group oneM2M_demos
	
	group CSE {
		
83 84 85 86 87 88 89 90 91
		group Generic {
			
			group Create {
				group g_CSE_GEN_CRE_001 {

					/**
					 * @desc Check that the IUT accepts the creation of a  resource using unstructured resource identifier
					 * 
					 */
92
					testcase TC_CSE_GEN_CRE_001_CSR() runs on Tester system CseSystem {
93 94
						// Local variables
						                        
95 96 97 98
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_CRE_001(e_cseRelative));
						v_ae1.done;
99
					}
100

101
					testcase TC_CSE_GEN_CRE_001_SPR() runs on Tester system CseSystem {
102 103
						// Local variables
						
104 105 106 107
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;

						v_ae1.start(f_CSE_GEN_CRE_001(e_spRelative));
						v_ae1.done;
108
					}
109
					
110
					testcase TC_CSE_GEN_CRE_001_ABS() runs on Tester system CseSystem {
111
						// Local variables
112 113 114 115
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_CRE_001(e_absolute));
						v_ae1.done;
116
					}				
117 118 119 120
				
				} // end of group g_CSE_GEN_CRE_001
				
				group g_CSE_GEN_CRE_002 {
121

122 123 124 125
					/**
					 * @desc Check that the IUT accepts the creation of a  resource using structured resource identifier
					 * 
					 */
126
					testcase TC_CSE_GEN_CRE_002_CSR() runs on Tester system CseSystem {
127 128
						// Local variables
						                        
129 130 131 132
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_CRE_002(e_cseRelative));
						v_ae1.done;
133
					}
134

135
					testcase TC_CSE_GEN_CRE_002_SPR() runs on Tester system CseSystem {
136 137
						// Local variables
						
138 139 140 141
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_CRE_002(e_spRelative));
						v_ae1.done;
142
					}
143
					
144
					testcase TC_CSE_GEN_CRE_002_ABS() runs on Tester system CseSystem {
145 146
						// Local variables
							
147 148 149 150
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_CRE_002(e_absolute));
						v_ae1.done;
151
					}
152
				
153
				} // end of group g_CSE_GEN_CRE_002
154
				
155 156 157 158 159 160 161 162 163
			} // end of group Create
			
			group Retrieve {
				group g_CSE_GEN_RET_001 {

					/**
					 * @desc Check that the IUT accepts the retrieval of a <container>  resource using unstructured resource identifier
					 * 
					 */
164
					testcase TC_CSE_GEN_RET_001_CSR() runs on Tester system CseSystem {
165 166
						// Local variables
						                        
167 168 169 170
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_RET_001(e_cseRelative));
						v_ae1.done;
171
					}
172

173
					testcase TC_CSE_GEN_RET_001_SPR() runs on Tester system CseSystem {
174 175
						// Local variables
						
176 177 178 179
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_RET_001(e_spRelative));
						v_ae1.done;
180
					}
181
					
182
					testcase TC_CSE_GEN_RET_001_ABS() runs on Tester system CseSystem {
183
						// Local variables
184 185 186 187
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_RET_001(e_absolute));
						v_ae1.done;
188 189
					}
								
190
				
191 192 193 194 195 196 197 198
				} // end of group g_CSE_GEN_RET_001
				
				group g_CSE_GEN_RET_002 {

					/**
					 * @desc Check that the IUT accepts the retrieval of a <container>  resource using structured resource identifier
					 * 
					 */
199
					testcase TC_CSE_GEN_RET_002_CSR() runs on Tester system CseSystem {
200
						// Local variables
201 202 203 204
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_RET_002(e_cseRelative));
						v_ae1.done;
205
					}
206

207
					testcase TC_CSE_GEN_RET_002_SPR() runs on Tester system CseSystem {
208 209
						// Local variables
						
210 211 212 213
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_RET_002(e_spRelative));
						v_ae1.done;
214
					}
215
					
216
					testcase TC_CSE_GEN_RET_002_ABS() runs on Tester system CseSystem {
217 218
						// Local variables
							
219 220 221 222
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_RET_002(e_absolute));
						v_ae1.done;
223 224
					}
								
225 226 227
				} // end of group g_CSE_GEN_RET_002
				
			} // end of group Retrieve
228
			
229 230
			group Update {
				group g_CSE_GEN_UPD_001 {
231

232 233 234 235
					/**
					 * @desc Check that the IUT accepts the update of a <container>  resource using unstructured resource identifier
					 * 
					 */
236
					testcase TC_CSE_GEN_UPD_001_CSR() runs on Tester system CseSystem {
237
						// Local variables
238 239 240 241
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_UPD_001(e_cseRelative));
						v_ae1.done;
242
					}
243

244
					testcase TC_CSE_GEN_UPD_001_SPR() runs on Tester system CseSystem {
245
						// Local variables
246 247 248 249
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_UPD_001(e_spRelative));
						v_ae1.done;
250
					}
251
					
252
					testcase TC_CSE_GEN_UPD_001_ABS() runs on Tester system CseSystem {
253 254
						// Local variables
							
255 256 257 258
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_UPD_001(e_absolute));
						v_ae1.done;
259 260
					}
								
261 262 263 264 265 266 267 268
				} // end of group g_CSE_GEN_UPD_001
				
				group g_CSE_GEN_UPD_002 {

					/**
					 * @desc Check that the IUT accepts the update of a <container>  resource using structured resource identifier
					 * 
					 */
269
					testcase TC_CSE_GEN_UPD_002_CSR() runs on Tester system CseSystem {
270 271
						// Local variables
						                        
272 273 274 275
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_UPD_002(e_cseRelative));
						v_ae1.done;
276 277
					}

278
					testcase TC_CSE_GEN_UPD_002_SPR() runs on Tester system CseSystem {
279 280
						// Local variables
						
281 282 283 284
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_UPD_002(e_spRelative));
						v_ae1.done;
285
					}
286
					
287
					testcase TC_CSE_GEN_UPD_002_ABS() runs on Tester system CseSystem {
288
						// Local variables
289
							
290 291 292 293
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_UPD_002(e_absolute));
						v_ae1.done;
294
					}
295 296 297 298
								
				} // end of group g_CSE_GEN_UPD_002
				
			} // end of group Update
299
			
300 301
			group Delete {
				group g_CSE_GEN_DEL_001 {
302

303 304 305 306
					/**
					 * @desc Check that the IUT accepts the deletion of a <container>  resource using unstructured resource identifier
					 *  
					 */
307
					testcase TC_CSE_GEN_DEL_001_CSR() runs on Tester system CseSystem {
308 309
						// Local variables
						                        
310 311 312 313
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_DEL_001(e_cseRelative));
						v_ae1.done;
314 315
					}

316
					testcase TC_CSE_GEN_DEL_001_SPR() runs on Tester system CseSystem {
317 318
						// Local variables
						
319 320 321 322
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_DEL_001(e_spRelative));
						v_ae1.done;
323
					}
324
					
325
					testcase TC_CSE_GEN_DEL_001_ABS() runs on Tester system CseSystem {
326 327
						// Local variables
							
328 329 330 331
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_DEL_001(e_absolute));
						v_ae1.done;
332 333 334 335 336 337 338 339 340 341
					}
								
				} // end of group g_CSE_GEN_DEL_001
				
				group g_CSE_GEN_DEL_002 {

					/**
					 * @desc Check that the IUT accepts the deletion of a <container>  resource using structured resource identifier
					 * 
					 */
342
					testcase TC_CSE_GEN_DEL_002_CSR() runs on Tester system CseSystem {
343 344
						// Local variables
						                        
345 346 347 348
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_DEL_002(e_cseRelative));
						v_ae1.done;
349 350
					}

351
					testcase TC_CSE_GEN_DEL_002_SPR() runs on Tester system CseSystem {
352
						// Local variables
353
						
354 355 356 357
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_DEL_002(e_spRelative));
						v_ae1.done;
358
					}
359
					
360
					testcase TC_CSE_GEN_DEL_002_ABS() runs on Tester system CseSystem {
361 362
						// Local variables
							
363 364 365 366
						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
                        
						v_ae1.start(f_CSE_GEN_DEL_002(e_absolute));
						v_ae1.done;
367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
					}
								
				} // end of group g_CSE_GEN_DEL_002
				
			} // end of group Delete
		
		} // end of group Generic
		
		group Registration {
			
			group Create{
				
				/**
				 * @desc Check that the IUT accepts an AE registration (allowed App-ID, C-AE-ID-STEM not provided by AE)  
				 * 
				 */
383
				testcase TC_CSE_REG_CRE_001() runs on AeSimu system CseSystem {
384
		  	  	
385
					var MsgIn v_response;
386
					var RequestPrimitive v_request;
387 388 389
					var integer v_cseBaseIndex := -1;
					var ResourceType v_resourceType := int2;
	                
390 391 392 393 394 395
					//Test control
					if(not(PICS_IN_CSE)) {
						setverdict(inconc, __SCOPE__ & ": IUT shall be IN-CSE to run this test case");
						stop;
					}
	                
396 397
					// Test component configuration
					f_cf01Up();
398 399
	                
					//Preamble
400

401
					//Test Body
402
					v_request := valueof(m_createAe(PX_APP_ID, omit, "S-AE-ID-STEM"));	
403
					
404
					v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, -1);
405
					
406
					mcaPort.send(m_request(v_request));
407
					
408 409
					tc_ac.start;
					alt {
410
						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
411
							tc_ac.stop;
412 413 414
							f_checkAttributesToBeSaved(int2, v_request, v_response.primitive.responsePrimitive);
							vc_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int2);
							
415
							setverdict(pass, __SCOPE__ & ": AE successfully created.");
416
						}
417
						[] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int2001))) -> value v_response{
418
							tc_ac.stop;
419
							setverdict(fail, __SCOPE__ & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)));
420 421
						}
						[] tc_ac.timeout {
422
							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
423 424
						}
					}	
425
									
426
					// Postamble
427 428 429 430
					f_cse_postamble_deleteResources();
					
					// Tear down
					f_cf01Down();
431 432
						
				}
433 434 435 436 437
		  	  	
				/**
				 * @desc Check that the IUT sends a registration CREATE Request with the value of the attribute ATTRIBUTE_NAME  of the AE resource
				 * 
				 */
438
				testcase TC_CSE_REG_CRE_002() runs on AeSimu system CseSystem {
439
		  	  	
440
					var MsgIn v_response;
441
					var RequestPrimitive v_request;
442 443
					var integer v_cseBaseIndex := -1;
					var ResourceType v_resourceType := int2;
444 445
					
					//Test control
446
	                
447 448
					// Test component configuration
					f_cf01Up();
449 450
		  	  	
					//Preambule
451
					
452 453 454
					//Test Body
					v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM"));				
	    									
455
					v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, -1);
456
	
457 458 459
					mcaPort.send(m_request(v_request));
					tc_ac.start;
					alt {
460
						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response{
461
							tc_ac.stop;
462 463 464
							
							f_checkAttributesToBeSaved(int2, v_request, v_response.primitive.responsePrimitive);
							vc_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int2);
465
							setverdict(pass, __SCOPE__ & ": AE successfully created.");
466
						}
467
						[] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int2001))) -> value v_response{
468
							tc_ac.stop;
469
							setverdict(fail, __SCOPE__ & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)));
470 471
						}
						[] tc_ac.timeout {
472
							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
473 474
						}
					}	
475
									
476
					// Postamble
477 478 479 480
					f_cse_postamble_deleteResources();
					
					// Tear down
					f_cf01Down();
481
						
482
				}
483 484

				/**
485 486 487 488 489 490 491 492
				 * @desc Check that the IUT accepts a create request of <AE> resource with attributes multiplicity equals to 1 and provided preprovisioned SP_relative_AE_ID. 
				 */
				
				testcase TC_CSE_REG_CRE_003() runs on CseSimu system CseSystem{
					
					var integer v_remoteCseIndex := -1;
					
					//Test Configuration
493
					//f_cf02Up();
494 495 496
					
					//Preamble
					v_remoteCseIndex := f_cse_registrationRemoteCse();
497
					vc_ae1 := AeSimu.create("AE1") alive;
498
					vc_ae1.start(f_cse_preamble_registerAe());
499 500
					
				
501
				}
502 503 504 505 506
		  	  	
				/**
				 * @desc Check that the IUT rejects an AE registration (allowed App-ID, not allowed C-AE-ID-STEM provided by AE) 
				 * 
				 */
507
				testcase TC_CSE_REG_CRE_004() runs on AeSimu system CseSystem {
508
		  	  	
509
					var MsgIn v_response;
510
					var RequestPrimitive v_request;
511 512
					var integer v_cseBaseIndex := -1;
					var ResourceType v_resourceType := int2;
513 514
					
					//Test control
515
	                
516
					// Test component configuration
517
					f_cf01Up();
518 519
		  	  	
					//Preambule
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
520
					//vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
521
					//TODO: create serviceSubscribedProfile, Node, and serviceSubscribedAppRule
522
					//v_cseBaseIndex := f_cse_preamble_createServiceSubscribedProfile({"C*"}); //c_CRUDNDi);
523
					
524
					//Test Body	
525
					//v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM"));				
526
	    											
527
					v_request := f_getCreateRequestPrimitive(int2, m_createAe(PX_APP_ID, omit, PX_NOT_ALLOWED_C_AE_IDS[0]), -1);
528
			
529
					mcaPort.send(m_request(v_request));
530 531
					tc_ac.start;
					alt {
532
						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) {
533
							tc_ac.stop;
534
							setverdict(pass, __SCOPE__ & ": AE creation rejected.");
535
						}
536
						[] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4005))) -> value v_response{
537
							tc_ac.stop;
538
							setverdict(fail, __SCOPE__ & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)));
539 540
						}
						[] tc_ac.timeout {
541
							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
542
						}
543
					}
544
									
545
					// Postamble
546
					f_cse_postamble_deleteResources();
547
						
548
					// Tear down
549
					f_cf01Down();
550 551
						
				}
552 553 554 555 556
		  	  	
				/**
				 * @desc Check that the IUT accepts an AE registration (allowed App-ID, S-AE-ID-STEM not provided by AE) 
				 * 
				 */
557
				testcase TC_CSE_REG_CRE_005() runs on InCseSimu system CseSystem {
558
		  	  	
559
					var RequestPrimitive v_request;
560 561
					var integer v_cseBaseIndex := -1;
					var ResourceType v_resourceType := int2;
562 563
					
					//Test control
564
	                
565
					// Test component configuration
566
					f_cf02UpCseSimuMaster();
567 568
		  	  	
					//Preambule
569
					//v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi);
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
570
					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
571 572
		
					//Test Body
573
					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit)));				
574
	    									
575
					//v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex);
576
		  	  		
577 578 579
					//mcaPort.send(m_request(v_request));
					tc_ac.start;
					alt{
580
						[]mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))){
581 582 583
							tc_ac.stop;
							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
						}
584
						[]mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))){
585 586 587
							tc_ac.stop;
							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
						}
588
						[] mccPortIn.receive {
589 590 591 592 593 594 595
							tc_ac.stop;
							setverdict(fail, __SCOPE__ & ": Error while creating AE");
						}
						[] tc_ac.timeout {
							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
						}
					}
596
					
597 598
					/*vc_cse1.start(f_cse_receiveCreateRequest(mw_createAEAnnc(-, -, -)));
					vc_cse1.done;*/
599
													
600
					// Postamble
601
					f_cse_postamble_deleteResourcesCSE();
602 603
					
					// Tear down
604
					f_cf02DownCseSimuMaster();
605 606
						
				}
607

608 609 610 611
				/**
				 * @desc Check that the IUT accepts an AE re-registration (allowed M2M-SP-assigned AE-ID, S-AE-ID-STEM provided by AE), transfer request to the IN-CSE 
				 * 
				 */
612
				testcase TC_CSE_REG_CRE_008() runs on InCseSimu system CseSystem {
613
		  	  	
614
					var RequestPrimitive v_request;
615 616
					var integer v_cseBaseIndex := -1;
					var ResourceType v_resourceType := int2;
617 618 619 620 621 622
					
					//Test control
					if(not(PICS_MN_CSE)) {
						setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE to run this test case");
						stop;
					}
623
	                
624
					// Test component configuration
625
					f_cf02UpCseSimuMaster();
626 627
		  	  	
					//Preambule
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
628
					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
629
					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S")));
630
					
631 632
					vc_ae1.done;
					
633 634 635 636
					//TODO:
					//v_request := valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex)));
					//mcaPort.send(m_request(v_request));
					
637
					//Test Body
638
					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S")));
639
											
640
					tc_ac.start;
641
	
642
					alt {
643 644 645 646 647
						[] mccPort.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))) {
							tc_ac.stop;
							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
						}
						[] mccPort.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))) {
648
							tc_ac.stop;
649
							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
650
						}
651
						[] mccPort.receive {
652
							tc_ac.stop;
653
							setverdict(fail, __SCOPE__ & ": Error while creating AE");
654 655
						}
						[] tc_ac.timeout {
656
							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
657 658
						}
					}	
659
									
660
					// Postamble
661
					f_cse_postamble_deleteResourcesCSE();
662 663
					
					// Tear down
664
					f_cf02DownCseSimuMaster();
665 666
						
				}
667 668 669 670 671
		  	  	
				/**
				 * @desc Check that the IUT accepts an AE re-registration (allowed M2M-SP-assigned AE-ID, S-AE-ID-STEM provided by AE), communication between MN-CSE and IN-CSE
				 *  
				 */
672
				testcase TC_CSE_REG_CRE_009() runs on MnCseSimu system CseSystem {
673
		  	  	
674
					var MsgIn v_response;
675
					var RequestPrimitive v_request;
676 677
					var integer v_aeAnncIndex := -1;
					var ResourceType v_resourceType := int2;
678 679 680 681 682 683
					
					//Test control
					if(not(PICS_IN_CSE)) {
						setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE to run this test case");
						stop;
					}
684
	                
685
					// Test component configuration
686
					f_cf04Up();
687 688
		  	  	
					//Preambule
689 690 691
					
					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
									
692
					v_aeAnncIndex := f_cse_announceResource(int2, m_createAEAnnc(-, "/" & "SAE1", PX_APP_ID, PX_CSE1_ID & "/" & "SAE1"));
693
					
694
					//Test Body
695
					v_request := valueof(m_updateAEAnnc(-, -, -, PX_APP_ID, -));	//TODO to double check all parameters			
696
	    									
697
					v_request := f_getUpdateRequestPrimitive(f_getAnnouncedResourceType(int2),v_aeAnncIndex, v_request);//TODO 
698
					v_request.from_ := f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S"; 
699 700
					v_request.primitiveContent.aEAnnc.app_ID := PX_APP_ID;
					v_request.primitiveContent.aEAnnc.labels := {"Credential-ID:None"};
701 702
		  	  		
					mccPort.send(m_request(v_request));
703
					tc_ac.start;
704
	
705
					alt {
706
						[] mccPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response {
707
							tc_ac.stop;
708 709
							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
							//continue to test the content
710
						}
711
						[] mccPort.receive {
712
							tc_ac.stop;
713
							setverdict(fail, __SCOPE__ & ": Error while creating AE");
714 715
						}
						[] tc_ac.timeout {
716
							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
717 718
						}
					}	
719 720 721
									
					//v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);	
									
722
					// Postamble
723
					f_cse_postamble_deleteResourcesCSE();
724 725
					
					// Tear down
726
					f_cf04Down();
727
						
728
				}
729 730


731 732 733 734
				/**
				 * @desc Check that the IUT accepts an AE re-registration (allowed M2M-SP-assigned AE-ID, S-AE-ID-STEM provided by AE), transfer response to the AE
				 * 
				 */
735
				testcase TC_CSE_REG_CRE_010() runs on AeSimu system CseSystem {
736 737
		  	  	
					var MsgIn v_response;
738
					var RequestPrimitive v_request;
739
					var integer v_aeIndex := -1;
740 741 742 743 744 745
					
					//Test control
					if(not(PICS_MN_CSE)) {
						setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE to run this test case");
						stop;
					}
746 747 748 749 750
	                
					// Test component configuration
					f_cf02Up();
		  	  	
					//Preambule
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
751
					vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));
752
					vc_cse1.done;
753
					
754 755
					v_aeIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S-AE-ID-STEM"));
					
756 757
					vc_cse1.start(f_cse_resourceAnnouncementHandler());
					vc_cse1.done;
758
					
759
					//TODO Deregister
760 761 762
					//f_cse_deleteResource(v_aeIndex);
					v_request := valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex)));
					mcaPort.send(m_request(v_request));
763
					
764
					//Test Body
765 766
					f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, f_getResourceId(vc_resourcesList[v_aeIndex].resource)));
					
767 768
					vc_cse1.start(f_cse_resourceAnnouncementHandler(PX_CSE_ID, f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative)));
					vc_cse1.done;
769
					
770 771 772 773 774 775
					tc_ac.start;
	
					alt {
						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
							tc_ac.stop;
							//continue to test the content
776 777 778 779 780 781