OneM2M_Testcases_AE.ttcn 95.7 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 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
/**
 *  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_AE {

	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 XSD all;

	group AE {
		
		group General {
			
			group Create {
						
				group g_AE_GEN_CRE_001 {
							
					/**
					 * @desc  Check that the IUT sends the creation of a <container> resource using unstructured resource identifier
					 */
		
					testcase TC_AE_GEN_CRE_001_CSR() runs on CseSimu system AeSystem {
						
						// Test control
						if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_CRE_001(e_cseRelative);
					}
					
					testcase TC_AE_GEN_CRE_001_SPR() runs on CseSimu system AeSystem {
												
						// Test control
						if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-SP-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_CRE_001(e_spRelative);
					}
					
					testcase TC_AE_GEN_CRE_001_ABS() runs on CseSimu system AeSystem {
						
						// Test control
						if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-Absolute-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_CRE_001(e_absolute);
					}
					
					function f_AE_GEN_CRE_001(PrimitiveScope p_primitiveScope) runs on CseSimu {
						
73
						var ResponsePrimitive v_responsePrimitive;
74 75
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var UtTriggerAckPrimitive v_trigger_response;
76 77 78 79
						var integer v_parentIndex := -1;
						var integer v_resourceIndex := -1;
						var MsgIn v_request;
						var PrimitiveContent v_modifiedResource;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
80
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for container containing To set to " & f_getResourceAddress(-1, e_nonHierarchical, p_primitiveScope);
81 82 83 84 85 86 87 88 89
						
						if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}

						f_cf03Up();
						
						//Send Trigger Message
90
						v_utRequest.to_ := f_getLocalResourceAddress(-1, e_nonHierarchical, p_primitiveScope);
91
						v_utRequest.from_ := "UNINITIALIZED";
92
						f_sendUtPrimitive(v_utRequest, v_action);
93 94 95
						
						tc_ac.start;
						alt {
96
							[] mcaPortIn.receive(mw_request(mw_createContainer(-,v_utRequest.to_))) -> value v_request {
97 98
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : Container creation request received successfuly");
99 100 101 102
								v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
								v_modifiedResource := f_ae_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType);
								v_resourceIndex := f_setLocalResource(v_modifiedResource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);	
								v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, v_modifiedResource));
103
								mcaPortIn.send(m_response(v_responsePrimitive));
104
							}
105
							[] mcaPortIn.receive(mw_request(?)) {
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
								tc_ac.stop;
								setverdict(fail, __SCOPE__, " : Error while creating container");
								stop;
							}
							[] tc_ac.timeout {
								setverdict(fail, __SCOPE__, " : No answer while creating resource");
								stop;
							}
						}
						
						// Postamble
						f_cf03Down();
					}
				}//end group g_AE_GEN_CRE_002//end group g_AE_GEN_CRE_002
					
				group g_AE_GEN_CRE_002 {
							
					/**
					 * @desc  Check that the IUT sends the creation of a <container> resource using structured resource identifier
					 */

					testcase TC_AE_GEN_CRE_002_CSR() runs on CseSimu system AeSystem {
						
						if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_CRE_002(e_cseRelative);
					}

					testcase TC_AE_GEN_CRE_002_SPR() runs on CseSimu system AeSystem {
						
						if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Structured-SP-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_CRE_002(e_spRelative);
					}

					testcase TC_AE_GEN_CRE_002_ABS() runs on CseSimu system AeSystem {
						
						if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) {
							setverdict(inconc, __SCOPE__, ": Structured-Absolute-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_CRE_002(e_absolute);
					}

					function f_AE_GEN_CRE_002(PrimitiveScope p_primitiveScope) runs on CseSimu {
	
159
						var ResponsePrimitive v_responsePrimitive;
160 161
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var UtTriggerAckPrimitive v_trigger_response;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
162
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for container containing To set to " & f_getResourceAddress(-1, e_hierarchical, p_primitiveScope);
163
						
164 165 166 167 168 169 170 171 172 173 174 175
						
						//Test Control
						if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
							setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
	
						f_cf03Up();
	
						//Send Trigger Message
						v_utRequest.to_ := f_getResourceAddress(-1, e_hierarchical, p_primitiveScope);
						v_utRequest.from_ := "UNINITIALIZED";
176
						f_sendUtPrimitive(v_utRequest,v_action);
177 178 179 180
							
	
						tc_ac.start;
						alt {
181
							[] mcaPortIn.receive(mw_request(mw_createContainer(-,v_utRequest.to_))) {
182 183 184
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : Container creation request received successfuly");
		
185
								v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
186
								mcaPortIn.send(m_response(v_responsePrimitive));
187
							}
188
							[] mcaPortIn.receive(mw_request(?)) {
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 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
								tc_ac.stop;
								setverdict(fail, __SCOPE__, " : Error while creating container");
								stop;
							}
							[] tc_ac.timeout {
								setverdict(fail, __SCOPE__, " : No answer while creating resource");
								stop;
							}
						}
	
						// Postamble
						f_cf03Down();
					}
				
				} //end group g_AE_GEN_CRE_002
				
			} //end group Create
			
			group Update {
						
				group g_AE_GEN_UPD_001 {
							
					/**
					 * @desc  Check that the IUT sends the update of a <container>  resource using unstructured resource identifier
					 */
		
					testcase TC_AE_GEN_UPD_001_CSR() runs on CseSimu system AeSystem {
						
						// Test control
						if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_UPD_001(e_cseRelative);
					}
					
					testcase TC_AE_GEN_UPD_001_SPR() runs on CseSimu system AeSystem {
						
					//Test control
					if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) {
						setverdict(inconc, __SCOPE__, ": Unstructured-SP-Relative-Resource-ID format support is required to run this test case");
						stop;
					}
						
						f_AE_GEN_UPD_001(e_spRelative);
					}
					
					testcase TC_AE_GEN_UPD_001_ABS() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-Absolute-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_UPD_001(e_absolute);
					}
					
					function f_AE_GEN_UPD_001(PrimitiveScope p_primitiveScope) runs on CseSimu {
						
250
						var ResponsePrimitive v_responsePrimitive;
251 252 253
						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
						var UtTriggerAckPrimitive v_trigger_response;
						var integer v_auxInteger;
254
						var PrimitiveContent v_localResource;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
255
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for container containing To set to " & f_getResourceAddress(-1, e_nonHierarchical, p_primitiveScope);
256
						
257 258 259 260 261 262 263 264 265
						
						if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_cf03Up();
						
						//Send Trigger Message
266 267 268
						v_localResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), -1, int3);
						v_auxInteger := f_setLocalResource(v_localResource, int3);
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope);
269
						v_utRequest.from_ := "UNINITIALIZED";
270
						f_sendUtPrimitive(v_utRequest,v_action);
271 272 273
						
						tc_ac.start;
						alt {
274
							[] mcaPortIn.receive(mw_request(mw_updateContainer(omit,v_utRequest.to_))) {
275 276 277
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : Container update request received successfuly");
							
278
								v_responsePrimitive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit));
279
								mcaPortIn.send(m_response(v_responsePrimitive));
280
							}
281
							[] mcaPortIn.receive(mw_request(?)) {
282 283 284 285 286 287 288 289 290 291 292 293 294 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
								tc_ac.stop;
								setverdict(fail, __SCOPE__, " : Error while updating container");
								stop;
							}
							[] tc_ac.timeout {
								setverdict(fail, __SCOPE__, " : No answer while updating resource");
								stop;
							}
						}
						
						// Postamble
						f_cf03Down();
					}
				}//end group g_AE_GEN_UPD_001
					
				group g_AE_GEN_UPD_002 {
							
					/**
					 * @desc  Check that the IUT sends the update of a <container>  resource using structured resource identifier
					 */

					testcase TC_AE_GEN_UPD_002_CSR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_UPD_002(e_cseRelative);
					}

					testcase TC_AE_GEN_UPD_002_SPR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Structured-SP-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_UPD_002(e_spRelative);
					}

					testcase TC_AE_GEN_UPD_002_ABS() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) {
							setverdict(inconc, __SCOPE__, ": Structured-Absolute-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_UPD_002(e_absolute);
					}

					function f_AE_GEN_UPD_002(PrimitiveScope p_primitiveScope) runs on CseSimu {
	
338
						var ResponsePrimitive v_responsePrimitive;
339 340 341
						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
						var UtTriggerAckPrimitive v_trigger_response;
						var integer v_auxInteger;
342
						var PrimitiveContent v_localResource;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
343
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for container containing To set to " & f_getResourceAddress(-1, e_hierarchical, p_primitiveScope);
344 345 346 347 348 349 350 351 352
						
						if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
							setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
	
						f_cf03Up();
	
						//Send Trigger Message
353 354
						v_localResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), -1, int3);
						v_auxInteger := f_setLocalResource(v_localResource, int3);
355
						v_utRequest.from_ := "UNINITIALIZED";
356
						f_sendUtPrimitive(v_utRequest,v_action);
357 358 359
								
						tc_ac.start;
						alt {
360
							[] mcaPortIn.receive(mw_request(mw_updateContainer(omit,v_utRequest.to_))) {
361 362 363
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : Container update request received successfuly");
							
364
								v_responsePrimitive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit));
365
								mcaPortIn.send(m_response(v_responsePrimitive));
366
							}
367
							[] mcaPortIn.receive(mw_request(?)) {
368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 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 423 424 425 426 427 428
								tc_ac.stop;
								setverdict(fail, __SCOPE__, " : Error while updating container");
								stop;
							}
							[] tc_ac.timeout {
								setverdict(fail, __SCOPE__, " : No answer while updating resource");
								stop;
							}
						}
	
						// Postamble
						f_cf03Down();
					}
				
				} //end group g_AE_GEN_UPD_002
				
			} //end group Update
			
			group Retrieve {
						
				group g_AE_GEN_RET_001 {
				
					/**
					 * @desc  Check that the IUT sends the retrieval of a <container>  resource using unstructured resource identifier
					 */

					testcase TC_AE_GEN_RET_001_CSR() runs on CseSimu system AeSystem {
						
						// Test control
						if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_RET_001(e_cseRelative);
					}
		
					testcase TC_AE_GEN_RET_001_SPR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-SP-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_RET_001(e_spRelative);
					}
		
					testcase TC_AE_GEN_RET_001_ABS() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-Absolute-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_RET_001(e_absolute);
					}
		
					function f_AE_GEN_RET_001(PrimitiveScope p_primitiveScope) runs on CseSimu {
			
429
						var ResponsePrimitive v_responsePrimitive;
430 431 432 433
						var template UtTriggerPrimitive v_utRequestTemplate;
                        var UtTriggerPrimitive v_utRequest;
						var UtTriggerAckPrimitive v_trigger_response;
						var integer v_auxInteger;
434
						var PrimitiveContent v_localResource;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
435
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for container containing To set to " & f_getResourceAddress(-1, e_nonHierarchical, p_primitiveScope);
436 437 438 439 440 441 442 443 444
						
						if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
			
						f_cf03Up();
			
						//Send Trigger Message
445 446
						v_localResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), -1, int3);
						v_auxInteger := f_setLocalResource(v_localResource, int3);
447
						v_utRequestTemplate := m_utRetrieveResource(f_getResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope),"UNINITIALIZED");
448
						f_sendUtPrimitive(v_utRequestTemplate,v_action);
449 450 451 452
                        v_utRequest := valueof(v_utRequestTemplate);
			
						tc_ac.start;
						alt {
453
							[] mcaPortIn.receive(mw_request(mw_retrieveResource(v_utRequest.to_))) {
454 455 456
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : Container retrieve request received successfuly");
				
457
								v_responsePrimitive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit));
458
								mcaPortIn.send(m_response(v_responsePrimitive));
459
							}
460
							[] mcaPortIn.receive(mw_request(?)) {
461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516
								tc_ac.stop;
								setverdict(fail, __SCOPE__, " : Error while retrieving container");
								stop;
							}
							[] tc_ac.timeout {
								setverdict(fail, __SCOPE__, " : No answer while retrieving resource");
								stop;
							}
						}
			
						// Postamble
						f_cf03Down();
					}
				}//end group g_AE_GEN_RET_001
		
				group g_AE_GEN_RET_002 {
				
					/**
					 * @desc  Check that the IUT sends the retrieval of a <container>  resource using structured resource identifier
					 */

					testcase TC_AE_GEN_RET_002_CSR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_RET_002(e_cseRelative);
					}

					testcase TC_AE_GEN_RET_002_SPR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Structured-SP-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_UPD_002(e_spRelative);
					}

					testcase TC_AE_GEN_RET_002_ABS() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) {
							setverdict(inconc, __SCOPE__, ": Structured-Absolute-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_RET_002(e_absolute);
					}

					function f_AE_GEN_RET_002(PrimitiveScope p_primitiveScope) runs on CseSimu {

517
						var ResponsePrimitive v_responsePrimitive;
518 519 520 521
						var template UtTriggerPrimitive v_utRequestTemplate;
                        var UtTriggerPrimitive v_utRequest;
						var UtTriggerAckPrimitive v_trigger_response;
						var integer v_auxInteger;
522
						var PrimitiveContent v_localResource;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
523
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for container containing To set to " & f_getResourceAddress(-1, e_hierarchical, p_primitiveScope);
524 525 526 527 528 529 530 531 532
						
						if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
							setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}

						f_cf03Up();

						//Send Trigger Message
533 534
						v_localResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), -1, int3);
						v_auxInteger := f_setLocalResource(v_localResource, int3);
535 536
						v_utRequestTemplate := m_utRetrieveResource(f_getResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope),"UNINITIALIZED");
                        v_utRequest := valueof(v_utRequestTemplate);
537
						f_sendUtPrimitive(v_utRequest,v_action);
538 539 540

						tc_ac.start;
						alt {
541
							[] mcaPortIn.receive(mw_request(mw_retrieveResource(v_utRequest.to_))) {
542 543 544
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : Container retrieve request received successfuly");
				
545
								v_responsePrimitive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit));
546
								mcaPortIn.send(m_response(v_responsePrimitive));
547
							}
548
							[] mcaPortIn.receive(mw_request(?)) {
549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609
								tc_ac.stop;
								setverdict(fail, __SCOPE__, " : Error while retrieving container");
								stop;
							}
							[] tc_ac.timeout {
								setverdict(fail, __SCOPE__, " : No answer while retrieving resource");
								stop;
							}
						}

						// Postamble
						f_cf03Down();
					}
	
				} //end group g_AE_GEN_RET_002
	
			} //end group Retrieve
						
			group Delete {
						
				group g_AE_GEN_DEL_001 {
				
					/**
					 * @desc  Check that the IUT sends the deletion of a <container>  resource using unstructured resource identifier
					 */

					testcase TC_AE_GEN_DEL_001_CSR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_DEL_001(e_cseRelative);
					}
		
					testcase TC_AE_GEN_DEL_001_SPR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-SP-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_DEL_001(e_spRelative);
					}
		
					testcase TC_AE_GEN_DEL_001_ABS() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-Absolute-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_DEL_001(e_absolute);
					}
		
					function f_AE_GEN_DEL_001(PrimitiveScope p_primitiveScope) runs on CseSimu {
			
610
						var ResponsePrimitive v_responsePrimitive;
611 612 613
						var template UtTriggerPrimitive v_utRequest := m_utDeleteRequest;
						var UtTriggerAckPrimitive v_trigger_response;
						var integer v_auxInteger;
614
						var PrimitiveContent v_localResource;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
615
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid DELETE Request for container containing To set to " & f_getResourceAddress(-1, e_nonHierarchical, p_primitiveScope);
616 617 618 619 620 621 622 623 624

						if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
							setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
			
						f_cf03Up();
			
						//Send Trigger Message
625 626
						v_localResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), -1, int3);
						v_auxInteger := f_setLocalResource(v_localResource, int3);
627 628
						v_utRequest.to_ := f_getResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope);
						v_utRequest.from_ := "UNINITIALIZED";
629
						f_sendUtPrimitive(v_utRequest,v_action);
630 631 632
			
						tc_ac.start;
						alt {
633
							[] mcaPortIn.receive(mw_request(mw_deleteRequest(v_utRequest.to_))) {
634 635 636
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : Container update request received successfuly");
				
637
								v_responsePrimitive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit));
638
								mcaPortIn.send(m_response(v_responsePrimitive));
639
							}
640
							[] mcaPortIn.receive(mw_request(?)) {
641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696
								tc_ac.stop;
								setverdict(fail, __SCOPE__, " : Error while updating container");
								stop;
							}
							[] tc_ac.timeout {
								setverdict(fail, __SCOPE__, " : No answer while updating resource");
								stop;
							}
						}
			
						// Postamble
						f_cf03Down();
					}
				}//end group g_AE_GEN_DEL_001
		
				group g_AE_GEN_DEL_002 {
				
					/**
					 * @desc  Check that the IUT sends the deletion of a <container>  resource using structured resource identifier
					 */

					testcase TC_AE_GEN_DEL_002_CSR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_DEL_002(e_cseRelative);
					}

					testcase TC_AE_GEN_DEL_002_SPR() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) {
							setverdict(inconc, __SCOPE__, ": Structured-SP-Relative-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_DEL_002(e_spRelative);
					}

					testcase TC_AE_GEN_DEL_002_ABS() runs on CseSimu system AeSystem {
						
						//Test control
						if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) {
							setverdict(inconc, __SCOPE__, ": Structured-Absolute-Resource-ID format support is required to run this test case");
							stop;
						}
						
						f_AE_GEN_DEL_002(e_absolute);
					}

					function f_AE_GEN_DEL_002(PrimitiveScope p_primitiveScope) runs on CseSimu {

697
						var ResponsePrimitive v_responsePrimitive;
698 699 700
						var template UtTriggerPrimitive v_utRequest := m_utDeleteRequest;
						var UtTriggerAckPrimitive v_trigger_response;
						var integer v_auxInteger;
701
						var PrimitiveContent v_localResource;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
702
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid DELETE Request for container containing To set to " & f_getResourceAddress(-1, e_hierarchical, p_primitiveScope);
703 704 705 706 707 708 709 710 711
						
						if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
							setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case");
							stop;
						}

						f_cf03Up();

						//Send Trigger Message
712 713
						v_localResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), -1, int3);
						v_auxInteger := f_setLocalResource(v_localResource, int3);
714
						v_utRequest.to_ := f_getResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope);
715
						v_utRequest.from_ := "UNINITIALIZED";
716
						f_sendUtPrimitive(v_utRequest,v_action);
717 718 719 720
				

						tc_ac.start;
						alt {
721
							[] mcaPortIn.receive(mw_request(mw_deleteRequest(v_utRequest.to_))) {
722 723 724
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : Container update request received successfuly");
				
725
								v_responsePrimitive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit));
726
								mcaPortIn.send(m_response(v_responsePrimitive));
727
							}
728
							[] mcaPortIn.receive(mw_request(?)) {
729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761
								tc_ac.stop;
								setverdict(fail, __SCOPE__, " : Error while updating container");
								stop;
							}
							[] tc_ac.timeout {
								setverdict(fail, __SCOPE__, " : No answer while updating resource");
								stop;
							}
						}

						// Postamble
						f_cf03Down();
					}
	
				} //end group g_AE_GEN_DEL_002
	
			} //end group Delete
			
		}//end group General

		group Registration {
			
			group Create {
						
				/**
				 * @desc  Check that the IUT sends an AE initial registration request with no AE-ID-STEM provided when it is started
				 */

				testcase TC_AE_REG_CRE_001() runs on CseSimu system AeSystem {

					//primitives for utPort
					var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");

762
					//primitives for mcaPortIn
763
					var MsgIn v_request;
764
					var ResponsePrimitive v_responsePrimitive;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
765
					var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request";
766 767 768 769

					f_cf03Up();
				
					//Send Trigger Message
770
					f_sendUtPrimitive(v_utRequest, v_action);
771 772 773 774

					//Test behavior
					tc_ac.start;
					alt{
775
						[] mcaPortIn.receive(mw_request(mw_createAe)) -> value v_request {
776 777
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : AE registration request is accepted!!");
778 779
							//v_responsePrimitive := valueof(m_responsePrimitiveTemp(int2000, omit));
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
780 781
							
							//send back responsePrimitive
782
							mcaPortIn.send(m_response(v_responsePrimitive));
783
						}
784
						[] mcaPortIn.receive(mw_request(mw_createAe(*,?,m_contentCreateAe_Invalid))) -> value v_request {
785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : AE registration request is rejected due to not including mandatory attributes!!");
						}
						[] tc_ac.timeout{
							setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!");
						}
	
					}
	
					// Postamble
					f_cf03Down();
				}
				
				/**
				 * @desc  Check that the IUT sends a registration CREATE Request with the value of the attribute ATTRIBUTE_NAME  of the AE resource
				 */
				
				group g_AE_REG_CRE_002 {
				
					testcase TC_AE_REG_CRE_002_RN() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
807
                        var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
808
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute ResourceName";
809 810
						v_utRequest.primitiveContent.aE.resourceName := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.resourceName := ?;
811
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
812 813 814 815 816
					}
	
					testcase TC_AE_REG_CRE_002_ET() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
817
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
818
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute ExpirationTime";
819 820
						v_utRequest.primitiveContent.aE.expirationTime := "20301231T012345";
						v_createAe.primitiveContent.aE.expirationTime := ?;
821
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
822 823 824 825 826
					}
	
					testcase TC_AE_REG_CRE_002_LBL() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
827
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
828
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute Labels";
829 830
						v_utRequest.primitiveContent.aE.labels := {"UNINITIALIZED"};
						v_createAe.primitiveContent.aE.labels := ?;
831
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
832 833 834 835 836
					}
	
					testcase TC_AE_REG_CRE_002_APN() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
837
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
838
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute AppName";
839 840
						v_utRequest.primitiveContent.aE.appName := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.appName := ?;
841
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
842 843 844 845 846
					}
	
					testcase TC_AE_REG_CRE_002_API() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
847
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
848
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute AppID";
849 850
						v_utRequest.primitiveContent.aE.app_ID := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.app_ID := ?;
851
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
852 853 854 855 856
					}
	
					testcase TC_AE_REG_CRE_002_POA() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
857
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
858
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute PointOfAccess";
859 860
						v_utRequest.primitiveContent.aE.pointOfAccess := {"UNINITIALIZED"};
						v_createAe.primitiveContent.aE.pointOfAccess := ?;
861
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
862 863 864 865 866
					}
	
					testcase TC_AE_REG_CRE_002_OR() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
867
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
868
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute OntologyRef";
869 870
						v_utRequest.primitiveContent.aE.ontologyRef := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.ontologyRef := ?;
871
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
872 873 874 875 876
					}
	
					testcase TC_AE_REG_CRE_002_NL() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
877
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
878
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute NodeLink";
879 880
						v_utRequest.primitiveContent.aE.nodeLink := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.nodeLink := ?;
881
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
882 883 884 885 886
					}
	
					testcase TC_AE_REG_CRE_002_RR() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
887
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
888
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute RequestReachability";
889 890
						v_utRequest.primitiveContent.aE.requestReachability := true;
						v_createAe.primitiveContent.aE.requestReachability := ?;
891
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
892 893 894 895 896
					}
	
					testcase TC_AE_REG_CRE_002_CSZ() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
897
						var template RequestPrimitive v_createAe := mw_createAe;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
898
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute ContentSerialization";
899 900
						v_utRequest.primitiveContent.aE.contentSerialization := {applicationxml};
						v_createAe.primitiveContent.aE.contentSerialization := ?;
901
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
902 903
					}
	
904
				   function f_AE_REG_CRE_002(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_response, in charstring p_action) runs on CseSimu {
905
	
906
						//primitives for mcaPortIn
907
					   var MsgIn v_request;
908
						var ResponsePrimitive v_responsePrimitive;
909 910 911 912
	
					   f_cf03Up();
	
					   //Send Trigger Message
913
					   f_sendUtPrimitive(p_utRequest,p_action);
914 915 916 917
	
					   //Test behavior
					   tc_ac.start;
					   alt{
918
							[] mcaPortIn.receive(mw_request(p_response)) -> value v_request {
919 920
							   tc_ac.stop;
							   setverdict(pass, __SCOPE__, " : AE registration request is accepted!!");
921 922
								//v_responsePrimitive := valueof(m_responsePrimitiveTemp(int2000, omit));
								v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
923 924
	
							   //send back responsePrimitive
925
								mcaPortIn.send(m_response(v_responsePrimitive));
926
						   }
927
							[] mcaPortIn.receive(mw_request(mw_createAe(*,?,m_contentCreateAe_Invalid))) -> value v_request {
928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955
							   tc_ac.stop;
							   setverdict(fail, __SCOPE__, " : AE registration request is rejected due to not including the optional attribute!");
						   }
						   [] tc_ac.timeout{
							   setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!");
						   }
	
					   }
	
					   // Postamble
					   f_cf03Down();
			   		}
				
				}//End of subgroup AE_REG_CRE_002
				
			
			} // End of subgroup Create
			
			group Delete {
			
			/**
				 * @desc Check that the IUT sends AE deregistration request to CSE
				 */
	
				testcase TC_AE_REG_DEL_001() runs on CseSimu system AeSystem {
	
					//variables
					var MsgIn v_request;
956
					var ResponsePrimitive v_responsePrimitive;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
957
					var charstring v_action :=  __SCOPE__ & ": Please, send a valid AE DELETE Registration Request";
958 959 960 961 962 963
					
					//primitives for utPort
					var template UtTriggerPrimitive v_utRequest := mw_deleteRequest;
	
					f_cf03Up();
	
964
					f_sendUtPrimitive(v_utRequest,v_action);
965 966 967 968
	
					//Test behavior
					tc_ac.start;
					alt{
969
						[] mcaPortIn.receive(mw_request(mw_deleteRequest)) -> value v_request {
970 971 972
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : AE deregistration request is accepted!");
	
973 974
							//v_responsePrimitive := valueof(m_responsePrimitiveTemp(int2000, omit));
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
975 976
	
							//send back responsePrimitive
977
							mcaPortIn.send(m_response(v_responsePrimitive));
978
						}
979
						[] mcaPortIn.receive {
980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : Error while AE deregistration");
						}
						[] tc_ac.timeout{
							setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!");
						}
	
					}
					// Postamble
					f_cf03Down();
				}
			
			}// End Delete subgroup

		}//end Registration subgroup

		group Data_Management_and_Repository {
			
			group Create {
			
				/**
				 * @desc Check that the IUT sends a Container creation request when it is triggered
				 */
			
				testcase TC_AE_DMR_CRE_001() runs on CseSimu system AeSystem {
	
					//variables
					var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
					var MsgIn v_request;
1009
					var ResponsePrimitive v_responsePrimitive;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
1010
					var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for container";
1011 1012 1013
					
					f_cf03Up();
	
1014
					//send triggering primitive to SUT
1015
					f_sendUtPrimitive(v_utRequest,v_action);
1016 1017 1018 1019
					
					//Test behavior
					tc_ac.start;
					alt{
1020
						[] mcaPortIn.receive(mw_request(mw_createContainer)) -> value v_request {
1021 1022 1023 1024
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : Container creation request is accepted!");
	
							//set responseStatusCode back to SUT
1025
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
1026 1027
							
							//send back responsePrimitive
1028
							mcaPortIn.send(m_response(v_responsePrimitive));
1029
						}
1030
						[] mcaPortIn.receive {
1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : Container creation request is rejected due to not including mandatory attributes!!");
						}
						[] tc_ac.timeout{
							setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!");
						}
					}
	
					// Postamble
					f_cf03Down();
				}
				
				/**
				 * @desc Check that the IUT sends a ContentInstance creation request when it is triggered
				 */
				
				testcase TC_AE_DMR_CRE_002() runs on CseSimu system AeSystem {
	
					var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance;
					var MsgIn v_request;
1051
					var ResponsePrimitive v_responsePrimitive;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
1052
					var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance";
1053 1054 1055 1056
	
					//Test component configuration
					f_cf03Up();
	
1057
					//send triggering primitive to SUT
1058
					f_sendUtPrimitive(v_utRequest,v_action);
1059 1060 1061 1062 1063 1064
	
					//Test behavior
					tc_ac.start;
					alt{
	
						//receive MsgIn requestPrimitive
1065
						[] mcaPortIn.receive(mw_request(mw_createContentInstance)) -> value v_request {
1066 1067 1068 1069
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : ContentInstance creation request is accepted!!");
							
							//set responseStatusCode back to SUT
1070
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
1071 1072
	
							//send back responsePrimitive
1073
							mcaPortIn.send(m_response(v_responsePrimitive));
1074 1075
						}
	
1076
						[] mcaPortIn.receive {
1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : ContentInstance creation request is rejected due to not including mandatory attributes!!");
						}
	
						[] tc_ac.timeout{
							setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!");
						}
					}
					
					// Postamble
					f_cf03Down();
				}
				
				/**
1091
				 * @desc Check that the IUT sends a ContentInstance creation request with optional attribute ATTRIBUTE_NAME
1092 1093 1094 1095 1096 1097 1098
				 */
				 
				 group g_AE_DMR_CRE_003 {
				 
					testcase TC_AE_DMR_CRE_003_CNF() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance;
						var template RequestPrimitive v_request := mw_createContentInstance;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
1099
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute ContentInfo";
1100 1101
						v_utRequest.primitiveContent.contentInstance.contentInfo := "UNINITIALIZED";
						v_request.primitiveContent.contentInstance.contentInfo := ?;
1102
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
1103 1104 1105 1106 1107
					}
					
					testcase TC_AE_DMR_CRE_003_RN() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance;
						var template RequestPrimitive v_request := mw_createContentInstance;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
1108
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute ResourceName";
1109 1110
						v_utRequest.primitiveContent.contentInstance.resourceName := "UNINITIALIZED";
						v_request.primitiveContent.contentInstance.resourceName := ?;
1111
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
1112 1113 1114 1115 1116
					}
					
					testcase TC_AE_DMR_CRE_003_ET() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance;
						var template RequestPrimitive v_request := mw_createContentInstance;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
1117
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute ExpirationTime";
1118 1119
						v_utRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345";
						v_request.primitiveContent.contentInstance.expirationTime := ?;
1120
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
1121 1122 1123 1124 1125
					}
					
					testcase TC_AE_DMR_CRE_003_LBL() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance;
						var template RequestPrimitive v_request := mw_createContentInstance;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
1126
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute Labels";
1127 1128
						v_utRequest.primitiveContent.contentInstance.labels := {"UNINITIALIZED"};
						v_request.primitiveContent.contentInstance.labels := ?;
1129
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
1130 1131 1132 1133 1134
					}
					
					testcase TC_AE_DMR_CRE_003_CR() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance;
						var template RequestPrimitive v_request := mw_createContentInstance;
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
1135
						var charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute Creator";
1136 1137
						v_utRequest.primitiveContent.contentInstance.creator := "UNINITIALIZED";
						v_request.primitiveContent.contentInstance.creator := ?;
1138
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
1139 1140
					}
	
1141
					function f_AE_DMR_CRE_003(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request, in charstring p_action) runs on CseSimu {
1142
	
1143
						var ResponsePrimitive v_responsePrimitive;
1144 1145 1146 1147
	
						//Test component configuration
						f_cf03Up();
	
1148
						//send triggering primitive to SUT
1149
						f_sendUtPrimitive(p_utRequest,p_action);
1150 1151 1152 1153 1154 1155
	
						//Test behavior
						tc_ac.start;
						alt{
	
							//receive MsgIn requestPrimitive
1156
							[] mcaPortIn.receive(mw_request(p_request)) {
1157 1158 1159 1160
								tc_ac.stop;
								setverdict(pass, __SCOPE__, " : ContentInstance creation request is accepted!!");
	
								//set responseStatusCode back to SUT
1161
								v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
1162 1163
	
								//send back responsePrimitive
1164
								mcaPortIn.send(m_response(v_responsePrimitive));
1165 1166
							}
	
1167
							[] mcaPortIn.receive {
1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188