OneM2M_Testcases_AE_Release_1.ttcn 71.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
/**
 *  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
 *
 */
14
module OneM2M_Testcases_AE_Release_1 {
15 16 17 18 19 20 21 22 23

	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;
24
	import from OneM2M_PermutationFunctions all;
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
	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);
					}
					
72
				}//end group g_AE_GEN_CRE_002
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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 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 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267
						
				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);
					}

				} //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);
					}
					
				}//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);
					}

				} //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);
					}
		
				}//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;
						}
						
268
						f_AE_GEN_RET_002(e_spRelative);
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 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
					}

					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);
					}

				} //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);
					}
		
				}//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);
					}

				} //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");

387
					//primitives for mcaPortIn
388
					var MsgIn v_request;
389
					var ResponsePrimitive v_responsePrimitive;
390
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request";
391 392 393 394

					f_cf03Up();
				
					//Send Trigger Message
395
					f_sendUtPrimitive(v_utRequest, v_action);
396 397 398 399

					//Test behavior
					tc_ac.start;
					alt{
400
						[] mcaPortIn.receive(mw_request(mw_createAe)) -> value v_request {
401 402
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : AE registration request is accepted!!");
403 404
							//v_responsePrimitive := valueof(m_responsePrimitiveTemp(int2000, omit));
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
405 406
							
							//send back responsePrimitive
407
							mcaPortIn.send(m_response(v_responsePrimitive));
408
						}
409
						[] mcaPortIn.receive(mw_request(mw_createAe(*,?,m_contentCreateAe_Invalid))) -> value v_request {
410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431
							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");
432
						var template RequestPrimitive v_createAe := mw_createAe;
433
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute ResourceName";
434 435
						v_utRequest.primitiveContent.aE.resourceName := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.resourceName := ?;
436
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
437 438 439 440 441
					}
	
					testcase TC_AE_REG_CRE_002_ET() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
442
						var template RequestPrimitive v_createAe := mw_createAe;
443
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute ExpirationTime";
444 445
						v_utRequest.primitiveContent.aE.expirationTime := "20301231T012345";
						v_createAe.primitiveContent.aE.expirationTime := ?;
446
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
447 448 449 450 451
					}
	
					testcase TC_AE_REG_CRE_002_LBL() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
452
						var template RequestPrimitive v_createAe := mw_createAe;
453
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute Labels";
454 455
						v_utRequest.primitiveContent.aE.labels := {"UNINITIALIZED"};
						v_createAe.primitiveContent.aE.labels := ?;
456
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
457 458 459 460 461
					}
	
					testcase TC_AE_REG_CRE_002_APN() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
462
						var template RequestPrimitive v_createAe := mw_createAe;
463
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute AppName";
464 465
						v_utRequest.primitiveContent.aE.appName := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.appName := ?;
466
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
467 468 469 470 471
					}
	
					testcase TC_AE_REG_CRE_002_API() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
472
						var template RequestPrimitive v_createAe := mw_createAe;
473
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute AppID";
474 475
						v_utRequest.primitiveContent.aE.app_ID := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.app_ID := ?;
476
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
477 478 479 480 481
					}
	
					testcase TC_AE_REG_CRE_002_POA() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
482
						var template RequestPrimitive v_createAe := mw_createAe;
483
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute PointOfAccess";
484 485
						v_utRequest.primitiveContent.aE.pointOfAccess := {"UNINITIALIZED"};
						v_createAe.primitiveContent.aE.pointOfAccess := ?;
486
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
487 488 489 490 491
					}
	
					testcase TC_AE_REG_CRE_002_OR() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
492
						var template RequestPrimitive v_createAe := mw_createAe;
493
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute OntologyRef";
494 495
						v_utRequest.primitiveContent.aE.ontologyRef := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.ontologyRef := ?;
496
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
497 498 499 500 501
					}
	
					testcase TC_AE_REG_CRE_002_NL() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
502
						var template RequestPrimitive v_createAe := mw_createAe;
503
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute NodeLink";
504 505
						v_utRequest.primitiveContent.aE.nodeLink := "UNINITIALIZED";
						v_createAe.primitiveContent.aE.nodeLink := ?;
506
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
507 508 509 510 511
					}
	
					testcase TC_AE_REG_CRE_002_RR() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
512
						var template RequestPrimitive v_createAe := mw_createAe;
513
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute RequestReachability";
514 515
						v_utRequest.primitiveContent.aE.requestReachability := true;
						v_createAe.primitiveContent.aE.requestReachability := ?;
516
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
517 518 519 520 521
					}
	
					testcase TC_AE_REG_CRE_002_CSZ() runs on CseSimu system AeSystem {
						//primitives for utPort
						var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
522
						var template RequestPrimitive v_createAe := mw_createAe;
523
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute ContentSerialization";
524 525
						v_utRequest.primitiveContent.aE.contentSerialization := {applicationxml};
						v_createAe.primitiveContent.aE.contentSerialization := ?;
526
						f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action);
527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542
					}
	
				}//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;
543
					var ResponsePrimitive v_responsePrimitive;
544
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE DELETE Registration Request";
545 546
					
					//primitives for utPort
547
					var template UtTriggerPrimitive v_utRequest := mw_delete;
548 549 550
	
					f_cf03Up();
	
551
					f_sendUtPrimitive(v_utRequest,v_action);
552 553 554 555
	
					//Test behavior
					tc_ac.start;
					alt{
556
						[] mcaPortIn.receive(mw_request(mw_delete)) -> value v_request {
557 558 559
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : AE deregistration request is accepted!");
	
560 561
							//v_responsePrimitive := valueof(m_responsePrimitiveTemp(int2000, omit));
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
562 563
	
							//send back responsePrimitive
564
							mcaPortIn.send(m_response(v_responsePrimitive));
565
						}
566
						[] mcaPortIn.receive {
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
							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;
596
					var ResponsePrimitive v_responsePrimitive;
597
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for container";
598 599 600
					
					f_cf03Up();
	
601
					//send triggering primitive to SUT
602
					f_sendUtPrimitive(v_utRequest,v_action);
603 604 605 606
					
					//Test behavior
					tc_ac.start;
					alt{
607
						[] mcaPortIn.receive(mw_request(mw_createContainer)) -> value v_request {
608 609 610 611
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : Container creation request is accepted!");
	
							//set responseStatusCode back to SUT
612
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
613 614
							
							//send back responsePrimitive
615
							mcaPortIn.send(m_response(v_responsePrimitive));
616
						}
617
						[] mcaPortIn.receive {
618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637
							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;
638
					var ResponsePrimitive v_responsePrimitive;
639
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance";
640 641 642 643
	
					//Test component configuration
					f_cf03Up();
	
644
					//send triggering primitive to SUT
645
					f_sendUtPrimitive(v_utRequest,v_action);
646 647 648 649 650 651
	
					//Test behavior
					tc_ac.start;
					alt{
	
						//receive MsgIn requestPrimitive
652
						[] mcaPortIn.receive(mw_request(mw_createContentInstance)) -> value v_request {
653 654 655 656
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : ContentInstance creation request is accepted!!");
							
							//set responseStatusCode back to SUT
657
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
658 659
	
							//send back responsePrimitive
660
							mcaPortIn.send(m_response(v_responsePrimitive));
661 662
						}
	
663
						[] mcaPortIn.receive {
664 665 666 667 668 669 670 671 672 673 674 675 676 677
							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();
				}
				
				/**
678
				 * @desc Check that the IUT sends a ContentInstance creation request with optional attribute ATTRIBUTE_NAME
679 680 681 682 683 684 685
				 */
				 
				 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;
686
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute ContentInfo";
687 688
						v_utRequest.primitiveContent.contentInstance.contentInfo := "UNINITIALIZED";
						v_request.primitiveContent.contentInstance.contentInfo := ?;
689
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
690 691 692 693 694
					}
					
					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;
695
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute ResourceName";
696 697
						v_utRequest.primitiveContent.contentInstance.resourceName := "UNINITIALIZED";
						v_request.primitiveContent.contentInstance.resourceName := ?;
698
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
699 700 701 702 703
					}
					
					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;
704
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute ExpirationTime";
705 706
						v_utRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345";
						v_request.primitiveContent.contentInstance.expirationTime := ?;
707
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
708 709 710 711 712
					}
					
					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;
713
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute Labels";
714 715
						v_utRequest.primitiveContent.contentInstance.labels := {"UNINITIALIZED"};
						v_request.primitiveContent.contentInstance.labels := ?;
716
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
717 718 719 720 721
					}
					
					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;
722
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance containing attribute Creator";
723 724
						v_utRequest.primitiveContent.contentInstance.creator := "UNINITIALIZED";
						v_request.primitiveContent.contentInstance.creator := ?;
725
						f_AE_DMR_CRE_003(v_utRequest,v_request,v_action);
726 727 728 729 730 731 732 733 734 735 736 737 738 739 740
					}
	
				 }//End of subgroup AE_DMR_CRE_003
				 
				 
				 				
				/**
				 * @desc Check that the IUT sends a Container creation request with optional attribute ATTRIBUTE_NAME when it is triggered
				 */
				 
				 group g_AE_DMR_CRE_004 {
				 
					testcase TC_AE_DMR_CRE_004_ACPI() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
741
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute AccessControlPolicyIDs";
742 743
						v_utRequest.primitiveContent.container.accessControlPolicyIDs := {"UNINITIALIZED"};
						v_request.primitiveContent.container.accessControlPolicyIDs := ?;
744
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
745 746 747 748 749
					}
				 	
					testcase TC_AE_DMR_CRE_004_MNI() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
750
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute MaxNrOfInstances";
751 752
						v_utRequest.primitiveContent.container.maxNrOfInstances := 1;
						v_request.primitiveContent.container.maxNrOfInstances := ?;
753
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
754 755 756 757 758
					}
				 	
					testcase TC_AE_DMR_CRE_004_MBS() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
759
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute MaxByteSize";
760 761
						v_utRequest.primitiveContent.container.maxByteSize := 1;
						v_request.primitiveContent.container.maxByteSize := ?;
762
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
763 764 765 766 767
					}
				 	
					testcase TC_AE_DMR_CRE_004_MIA() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
768
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute MaxInstanceAge";
769 770
						v_utRequest.primitiveContent.container.maxInstanceAge := 1;
						v_request.primitiveContent.container.maxInstanceAge := ?;
771
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
772 773 774 775 776
					}
				 	
					testcase TC_AE_DMR_CRE_004_OR() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
777
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute OntologyRef";
778 779
						v_utRequest.primitiveContent.container.ontologyRef := "UNINITIALIZED";
						v_request.primitiveContent.container.ontologyRef := ?;
780
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
781 782 783 784 785
					}
					
					testcase TC_AE_DMR_CRE_004_RN() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
786
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute ResourceName";
787 788
						v_utRequest.primitiveContent.container.resourceName := "UNINITIALIZED";
						v_request.primitiveContent.container.resourceName := ?;
789
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
790 791 792 793 794
					}
					
					testcase TC_AE_DMR_CRE_004_ET() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
795
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute ExpirationTime";
796 797
						v_utRequest.primitiveContent.container.expirationTime := "20301231T012345";
						v_request.primitiveContent.container.expirationTime := ?;
798
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
799 800 801 802 803
					}
					
					testcase TC_AE_DMR_CRE_004_LBL() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
804
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute Labels";
805 806
						v_utRequest.primitiveContent.container.labels := {"UNINITIALIZED"};
						v_request.primitiveContent.container.labels := ?;
807
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
808 809 810 811 812
					}
					
					testcase TC_AE_DMR_CRE_004_CR() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
						var template RequestPrimitive v_request := mw_createContainer;
813
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for Container containing attribute Creator";
814 815
						v_utRequest.primitiveContent.container.creator := "UNINITIALIZED";
						v_request.primitiveContent.container.creator := ?;
816
						f_AE_DMR_CRE_004(v_utRequest,v_request,v_action);
817 818 819 820 821 822 823 824 825 826 827 828 829 830
					}
	
				 }//End of subgroup AE_DMR_CRE_004
				 
			}//End of subgroup Create
			
			group Update {
				
				group g_AE_DMR_UPD_001 {
					
					/**
					 * @desc Check that the IUT sends an UPDATE Request with the value of the attribute ATTRIBUTE_NAME of the AE resource 
					 */
	
831
					testcase TC_AE_DMR_UPD_001_ET() runs on CseSimu system AeSystem {						
832
						
833
						var template RequestPrimitive v_expectedUpdateRequestAe;
834
						var universal charstring v_action := "Please, send a valid UPDATE Request for AE updating attribute expirationTime";
835 836 837 838
						var template UtTriggerPrimitive v_utRequest := m_updateAeBase;
						
						v_utRequest.primitiveContent.aE.expirationTime := "20301231T012345";
						
839 840 841 842
						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
						v_expectedUpdateRequestAe.primitiveContent.aE.expirationTime := ?;
												
						f_AE_DMR_UPD_001(v_utRequest, v_action, v_expectedUpdateRequestAe);
843 844 845
					}
					
					testcase TC_AE_DMR_UPD_001_LBL() runs on CseSimu system AeSystem {						
846
						var template RequestPrimitive v_expectedUpdateRequestAe;
847
						var template UtTriggerPrimitive v_utRequest := m_updateAeBase;
848
						var universal charstring v_action := "Please, send a valid UPDATE Request for AE updating attribute labels";
849 850 851
						
						v_utRequest.primitiveContent.aE.labels := {"UNINITIALIZED"};
						
852 853 854 855 856
						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
						v_expectedUpdateRequestAe.primitiveContent.aE.labels := ?;
					   
						
						f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe);
857 858
					}
	
859
					testcase TC_AE_DMR_UPD_001_APN() runs on CseSimu system AeSystem {
860
						
861
						var template RequestPrimitive v_expectedUpdateRequestAe;
862
						var template UtTriggerPrimitive v_utRequest := m_updateAeBase;
863
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for AE updating attribute appName";
864 865
						
						v_utRequest.primitiveContent.aE.appName := "UNINITIALIZED";
866 867 868

						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
						v_expectedUpdateRequestAe.primitiveContent.aE.appName := ?;
869
						
870
						f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe);
871 872
					}
	
873
					testcase TC_AE_DMR_UPD_001_POA() runs on CseSimu system AeSystem {
874
						
875
						var template RequestPrimitive v_expectedUpdateRequestAe;
876
						var template UtTriggerPrimitive v_utRequest := m_updateAeBase;
877
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for AE updating attribute pointOfAccess";
878 879
						
						v_utRequest.primitiveContent.aE.pointOfAccess := {"http://127.0.0.1:1400/monitor"};
880 881 882

						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
						v_expectedUpdateRequestAe.primitiveContent.aE.pointOfAccess := ?;
883
						
884
						f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe);
885 886
					}
	
887
					testcase TC_AE_DMR_UPD_001_OR() runs on CseSimu system AeSystem {
888
						
889
						var template RequestPrimitive v_expectedUpdateRequestAe;
890
						var template UtTriggerPrimitive v_utRequest := m_updateAeBase;
891
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for AE updating attribute ontologyRef";
892 893
						
						v_utRequest.primitiveContent.aE.ontologyRef := "MyOntologyRef";
894 895 896

						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
						v_expectedUpdateRequestAe.primitiveContent.aE.ontologyRef := ?;
897
						
898
						f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe);
899 900
					}
	
901
					testcase TC_AE_DMR_UPD_001_NL() runs on CseSimu system AeSystem {
902
						
903
						var template RequestPrimitive v_expectedUpdateRequestAe;
904
						var template UtTriggerPrimitive v_utRequest := m_updateAeBase;
905
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for AE updating attribute nodeLink";
906 907
						
						v_utRequest.primitiveContent.aE.nodeLink := "/CSE_ID/S-AE-ID-STEM";
908 909 910

						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
						v_expectedUpdateRequestAe.primitiveContent.aE.nodeLink := ?;
911
						
912
						f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe);
913 914
					}
	
915
					testcase TC_AE_DMR_UPD_001_RR() runs on CseSimu system AeSystem {
916
						var template RequestPrimitive v_expectedUpdateRequestAe;
917
						var template UtTriggerPrimitive v_utRequest := m_updateAeBase;
918
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for AE updating attribute requestReachability";
919 920
						
						v_utRequest.primitiveContent.aE.requestReachability := true;
921 922 923

						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
						v_expectedUpdateRequestAe.primitiveContent.aE.requestReachability := ?;
924
						
925
						f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe);
926 927
					}
	
928
					testcase TC_AE_DMR_UPD_001_CSZ() runs on CseSimu system AeSystem {
929
						var template RequestPrimitive v_expectedUpdateRequestAe;
930
						var template UtTriggerPrimitive v_utRequestTestBody := m_updateAeBase;
931
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for AE updating attribute contentSerialization";
932 933
						
						v_utRequestTestBody.primitiveContent.aE.contentSerialization := {applicationxml};
934 935 936

						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
						v_expectedUpdateRequestAe.primitiveContent.aE.contentSerialization := ?;
937
						
938
						f_AE_DMR_UPD_001(v_utRequestTestBody,v_action, v_expectedUpdateRequestAe);
939 940
					}
	
941
				}//End of subgroup AE_DMR_UPD_001
942
				
943
				group g_AE_DMR_UPD_002 {
944 945
					
					/**
946
					 * @desc Check that the IUT sends an UPDATE Request with the value of the attribute ATTRIBUTE_NAME of the <container> resource
947 948
					 */
					
949
					testcase TC_AE_DMR_UPD_002_ET() runs on CseSimu system AeSystem {
950
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
951 952 953
						
						var template RequestPrimitive v_request := mw_updateContainer;
						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
954
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for Container updating attribute expirationTime";
955
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
956 957
						v_utRequest.primitiveContent.container.expirationTime := "20301231T012345";
						v_request.primitiveContent.container.expirationTime := ?;
958
						f_AE_DMR_UPD_002(v_utRequest,v_request,v_action);
959 960
					}
					
961
					testcase TC_AE_DMR_UPD_002_LBL() runs on CseSimu system AeSystem {
962
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
963 964 965
						
						var template RequestPrimitive v_request := mw_updateContainer;
						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
966
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for Container updating attribute labels";
967
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
968 969
						v_utRequest.primitiveContent.container.labels := {"UNINITIALIZED"};
						v_request.primitiveContent.container.labels := ?;
970
						f_AE_DMR_UPD_002(v_utRequest,v_request,v_action);
971 972
					}
					
973
					testcase TC_AE_DMR_UPD_002_MNI() runs on CseSimu system AeSystem {
974
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
975 976 977
						
						var template RequestPrimitive v_request := mw_updateContainer;
						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
978
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for Container updating attribute maxNrOfInstances";
979
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
980 981
						v_utRequest.primitiveContent.container.maxNrOfInstances := 1;
						v_request.primitiveContent.container.maxNrOfInstances := ?;
982
						f_AE_DMR_UPD_002(v_utRequest,v_request,v_action);
983 984
					}
					
985
					testcase TC_AE_DMR_UPD_002_MBS() runs on CseSimu system AeSystem {
986
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
987 988 989
						
						var template RequestPrimitive v_request := mw_updateContainer;
						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
990
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for Container updating attribute maxByteSize";
991
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
992 993
						v_utRequest.primitiveContent.container.maxByteSize := 1;
						v_request.primitiveContent.container.maxByteSize := ?;
994
						f_AE_DMR_UPD_002(v_utRequest,v_request,v_action);
995 996
					}
					
997
					testcase TC_AE_DMR_UPD_002_MIA() runs on CseSimu system AeSystem {
998
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
999 1000
						var template RequestPrimitive v_request := mw_updateContainer;
						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
1001
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for Container updating attribute maxInstanceAge";
1002
                        
1003
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1004 1005
						v_utRequest.primitiveContent.container.maxInstanceAge := 1;
						v_request.primitiveContent.container.maxInstanceAge := ?;
1006
						f_AE_DMR_UPD_002(v_utRequest,v_request,v_action);
1007 1008
					}

1009
				}//End of subgroup AE_DMR_UPD_002
1010 1011 1012 1013 1014 1015 1016 1017
			
			}//End of subgroup Update

			group Retrieve {
				
				group g_AE_DMR_RET_001{
							
					/**
1018
					 * @desc Check that the IUT sends a RETRIEVE Request on the TARGET_RESOURCE_ADDRESS to CSE
1019 1020 1021
					 */
	
					testcase TC_AE_DMR_RET_001_CB() runs on CseSimu system AeSystem {
1022
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentCSEBase(m_contentCreateCSEBase)), int5);
1023
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for CSEBase";
1024
						f_AE_DMR_RET_001(int5, f_getLocalResourceAddress(v_auxInteger),v_action);
1025 1026 1027
					}
				 	
					testcase TC_AE_DMR_RET_001_AE() runs on CseSimu system AeSystem {
1028
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
1029
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for AE";
1030
						f_AE_DMR_RET_001(int2, f_getLocalResourceAddress(v_auxInteger),v_action);
1031 1032
					}
	
1033
					testcase TC_AE_DMR_RET_001_CNT() runs on CseSimu system AeSystem {
1034
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer())), int3);
1035
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for Container";
1036
						f_AE_DMR_RET_001(int3, f_getLocalResourceAddress(v_auxInteger),v_action);
1037 1038 1039 1040 1041 1042 1043 1044 1045 1046
					}
	
				}//End of TC_AE_DMR_RET_001
				
				/**
				 * @desc Check that the IUT sends a RETRIEVE Request of oldest virtual resource.
				 */
	
				testcase TC_AE_DMR_RET_002() runs on CseSimu system AeSystem {
	
1047 1048
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3);
					var XSD.AnyURI v_address := f_getLocalResourceAddress(v_auxInteger);
1049 1050 1051 1052
	
					//variables
					var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (v_address & "/" & c_resourceShortNameOldest, "UNINITIALIZED");
					var MsgIn v_request;
1053
					var ResponsePrimitive v_responsePrimitive;
1054
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for retrieving the 'oldest' attribute from Container";
1055 1056 1057 1058
	
					//Test component configuration
					f_cf03Up();
	
1059
					//send triggering primitive to SUT
1060
					f_sendUtPrimitive(v_utRequest,v_action);
1061 1062 1063 1064
	
					//Test behavior
					tc_ac.start;
					alt{
1065
						[] mcaPortIn.receive(mw_request(mw_retrieve(v_address & "/" & c_resourceShortNameOldest))) -> value v_request {
1066 1067 1068 1069
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : retrieve attribute oldest request is accepted!");
	
							//set responseStatusCode back to SUT
1070
							v_responsePrimitive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit));
1071 1072
	
							//send back responsePrimitive
1073
							mcaPortIn.send(m_response(v_responsePrimitive));
1074 1075
							tc_ac.stop;
						}
1076
						[] mcaPortIn.receive {
1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : error while retrieving attribute !");
						}
						[] 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 RETRIEVE Request of latest virtual resource.
				 */
	
				testcase TC_AE_DMR_RET_003() runs on CseSimu system AeSystem {
	
1095 1096
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3);
					var XSD.AnyURI v_address := f_getLocalResourceAddress(v_auxInteger);
1097 1098 1099 1100
	
					//variables
					var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (v_address & "/" & c_resourceShortNameLatest, "UNINITIALIZED");
					var MsgIn v_request;
1101
					var ResponsePrimitive v_responsePrimitive;
1102
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for retrieving the 'latest' attribute from Container";
1103 1104 1105 1106
	
					//Test component configuration
					f_cf03Up();
	
1107
					//send triggering primitive to SUT
1108
					f_sendUtPrimitive(v_utRequest,v_action);
1109 1110 1111 1112
	
					//Test behavior
					tc_ac.start;
					alt{
1113
						[] mcaPortIn.receive(mw_request(mw_retrieve(v_address & "/" & c_resourceShortNameLatest))) -> value v_request {
1114 1115 1116 1117
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : retrieve attribute latest request is accepted!!");
	
							//set responseStatusCode back to SUT
1118
							v_responsePrimitive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit));
1119 1120
	
							//send back responsePrimitive
1121
							mcaPortIn.send(m_response(v_responsePrimitive));
1122 1123
							tc_ac.stop;
						}
1124
						[] mcaPortIn.receive {
1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : error while retrieving attribute !");
						}
						[] 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 <container> resource RETRIEVE Request to CSE
				 */
				
				testcase TC_AE_DMR_RET_004() runs on CseSimu system AeSystem {
					
1143 1144
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3);
					var XSD.AnyURI v_address := f_getLocalResourceAddress(v_auxInteger);
1145 1146 1147 1148
		
					//variables
					var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (v_address, "UNINITIALIZED");
					var MsgIn v_request;
1149
					var ResponsePrimitive v_responsePrimitive;
1150
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for retrieving the Container";
1151 1152 1153 1154

					//Test component configuration
					f_cf03Up();

1155
					//send triggering primitive to SUT
1156
					v_utRequest.resourceType := int3;
1157
					f_sendUtPrimitive(v_utRequest,v_action);
1158 1159 1160 1161
	
					//Test behavior
					tc_ac.start;
					alt{
1162
						[] mcaPortIn.receive(mw_request(mw_retrieve(v_address))) -> value v_request {
1163
							tc_ac.stop;
1164
							setverdict(pass, __SCOPE__, " : retrieve resource type request is accepted!!");
1165 1166
			
							//set responseStatusCode back to SUT
1167
							v_responsePrimitive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit));
1168 1169

							//send back responsePrimitive
1170
							mcaPortIn.send(m_response(v_responsePrimitive));
1171 1172
							tc_ac.stop;
						}
1173
						[] mcaPortIn.receive {
1174
							tc_ac.stop;
1175
							setverdict(fail, __SCOPE__, " : error while retrieving resource !");
1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191
						}
						[] 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> resource RETRIEVE Request to CSE
				 */

				testcase TC_AE_DMR_RET_005 () runs on CseSimu system AeSystem {
	
1192 1193
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContentInstance(m_contentCreateContentInstance)), int4);
					var XSD.AnyURI v_address := f_getLocalResourceAddress(v_auxInteger);
1194 1195 1196 1197

					//variables
					var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (v_address, "UNINITIALIZED");
					var MsgIn v_request;
1198
					var ResponsePrimitive v_responsePrimitive;
1199
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for retrieving the contentInstance";
1200 1201 1202 1203

					//Test component configuration
					f_cf03Up();

1204
					//send triggering primitive to SUT
1205
					v_utRequest.resourceType := int4;
1206
					f_sendUtPrimitive(v_utRequest,v_action);
1207 1208 1209 1210

					//Test behavior
					tc_ac.start;
					alt{
1211
						[] mcaPortIn.receive(mw_request(mw_retrieve(v_address))) -> value v_request {
1212
							tc_ac.stop;
1213
							setverdict(pass, __SCOPE__, " : retrieve resource type request is accepted!!");
1214 1215

							//set responseStatusCode back to SUT
1216
							v_responsePrimitive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit));
1217 1218

							//send back responsePrimitive
1219
							mcaPortIn.send(m_response(v_responsePrimitive));
1220 1221
							tc_ac.stop;
						}
1222
						[] mcaPortIn.receive {
1223
							tc_ac.stop;
1224
							setverdict(fail, __SCOPE__, " : error while retrieving resource !");
1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244
						}
						[] tc_ac.timeout{
							setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!");
						}
					}

					// Postamble
					f_cf03Down();
				}

			}//End of subgroup Retrieve
			
			group Delete {
			
				/**
				 * @desc Check that the IUT sends a DELETE Request of oldest virtual resource.
				 */

				testcase TC_AE_DMR_DEL_001() runs on CseSimu system AeSystem {

1245 1246
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3);
					var XSD.AnyURI v_address := f_getLocalResourceAddress(v_auxInteger);
1247 1248 1249 1250

					//variables
					var template UtTriggerPrimitive v_utRequest := m_utDeleteResource (v_address & "/" & c_resourceShortNameOldest, "UNINITIALIZED");
					var MsgIn v_request;
1251
					var ResponsePrimitive v_responsePrimitive;
1252
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid DELETE Request for deleting the 'oldest' attribute from contentInstance";
1253 1254 1255 1256

					//Test component configuration
					f_cf03Up();

1257
					//send triggering primitive to SUT
1258
					f_sendUtPrimitive(v_utRequest,v_action);
1259 1260 1261 1262

					//Test behavior
					tc_ac.start;
					alt{
1263
						[] mcaPortIn.receive(mw_request(mw_delete(v_address & "/" & c_resourceShortNameOldest))) -> value v_request {
1264 1265 1266 1267
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : delete attribute oldest request is accepted!!");

							//set responseStatusCode back to SUT
1268
							v_responsePrimitive := valueof(m_responsePrimitive(int2002, "To_be_defined", omit));
1269 1270

							//send back responsePrimitive
1271
							mcaPortIn.send(m_response(v_responsePrimitive));
1272 1273
							tc_ac.stop;
						}
1274
						[] mcaPortIn.receive {
1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : error while deleting attribute !");
						}
						[] 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 DELETE Request of latest virtual resource.
				 */

				testcase TC_AE_DMR_DEL_002() runs on CseSimu system AeSystem {

1293 1294
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3);
					var XSD.AnyURI v_address := f_getLocalResourceAddress(v_auxInteger);
1295 1296 1297 1298

					//variables
					var template UtTriggerPrimitive v_utRequest := m_utDeleteResource (v_address & "/" & c_resourceShortNameLatest, "UNINITIALIZED");
					var MsgIn v_request;
1299
					var ResponsePrimitive v_responsePrimitive;
1300
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid DELETE Request for deleting the 'latest' attribute from contentInstance";
1301 1302 1303 1304

					//Test component configuration
					f_cf03Up();

1305
					//send triggering primitive to SUT
1306
					f_sendUtPrimitive(v_utRequest,v_action);
1307 1308 1309 1310

					//Test behavior
					tc_ac.start;
					alt{
1311
						[] mcaPortIn.receive(mw_request(mw_delete(v_address & "/" & c_resourceShortNameLatest))) -> value v_request {
1312 1313 1314 1315
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : delete attribute latest request is accepted!!");

							//set responseStatusCode back to SUT
1316
							v_responsePrimitive := valueof(m_responsePrimitive(int2002, "To_be_defined", omit));
1317 1318

							//send back responsePrimitive
1319
							mcaPortIn.send(m_response(v_responsePrimitive));
1320 1321
							tc_ac.stop;
						}
1322
						[] mcaPortIn.receive {
1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : error while deleting attribute !");
						}
						[] 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 <container> resource DELETE request to CSE
				 */

				testcase TC_AE_DMR_DEL_003() runs on CseSimu system AeSystem {
	
1341 1342
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3);
					var XSD.AnyURI v_address := f_getLocalResourceAddress(v_auxInteger);
1343 1344 1345 1346

					//variables
					var template UtTriggerPrimitive v_utRequest := m_utDeleteResource (v_address, "UNINITIALIZED");
					var MsgIn v_request;
1347
					var ResponsePrimitive v_responsePrimitive;
1348
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid DELETE Request for deleting the container resource";
1349 1350 1351 1352

					//Test component configuration
					f_cf03Up();

1353
					//send triggering primitive to SUT
1354
					v_utRequest.resourceType := int3;
1355
					f_sendUtPrimitive(v_utRequest,v_action);
1356 1357 1358 1359

					//Test behavior
					tc_ac.start;
					alt{
1360
						[] mcaPortIn.receive(mw_request(mw_delete(v_address))) -> value v_request {
1361
							tc_ac.stop;
1362
							setverdict(pass, __SCOPE__, " : delete resource type request is accepted!!");
1363 1364

							//set responseStatusCode back to SUT
1365
							v_responsePrimitive := valueof(m_responsePrimitive(int2002, "To_be_defined", omit));
1366 1367

							//send back responsePrimitive
1368
							mcaPortIn.send(m_response(v_responsePrimitive));
1369 1370
							tc_ac.stop;
						}
1371
						[] mcaPortIn.receive {
1372
							tc_ac.stop;
1373
							setverdict(fail, __SCOPE__, " : error while deleting resource !");
1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384
						}
						[] tc_ac.timeout{
							setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!");
						}
					}

					// Postamble
					f_cf03Down();
				}

				/**
1385
				 * @desc Check that the IUT sends a <contentInstance> resource DELETE Request to CSE
1386 1387 1388 1389
				 */

				testcase TC_AE_DMR_DEL_004 () runs on CseSimu system AeSystem {

1390 1391
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentContentInstance(m_contentCreateContentInstance)),int4);
					var XSD.AnyURI v_address := f_getLocalResourceAddress(v_auxInteger);
1392 1393 1394 1395

					//variables
					var template UtTriggerPrimitive v_utRequest := m_utDeleteResource (v_address, "UNINITIALIZED");
					var MsgIn v_request;
1396
					var ResponsePrimitive v_responsePrimitive;
1397
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid DELETE Request for deleting the contentInstance resource";
1398 1399 1400 1401

					//Test component configuration
					f_cf03Up();

1402
					//send triggering primitive to SUT
1403
					v_utRequest.resourceType := int4;
1404
					f_sendUtPrimitive(v_utRequest,v_action);
1405 1406 1407 1408

					//Test behavior
					tc_ac.start;
					alt{
1409
						[] mcaPortIn.receive(mw_request(mw_delete(v_address))) -> value v_request {
1410
							tc_ac.stop;
1411
							setverdict(pass, __SCOPE__, " : delete resource type request is accepted!!");
1412 1413

							//set responseStatusCode back to SUT
1414
							v_responsePrimitive := valueof(m_responsePrimitive(int2002, "To_be_defined", omit));
1415 1416

							//send back responsePrimitive
1417
							mcaPortIn.send(m_response(v_responsePrimitive));
1418 1419
							tc_ac.stop;
						}
1420
						[] mcaPortIn.receive {
1421
							tc_ac.stop;
1422
							setverdict(fail, __SCOPE__, " : error while deleting resource !");
1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450
						}
						[] tc_ac.timeout{
							setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!");
						}
					}

					// Postamble
					f_cf03Down();
				}
			
			}


		}//end DMR subgroup

		group Subscription_and_Notification {
			
			group Create {
				
				/**
				 * @desc Check that the IUT sends a subscription creation request
				 */

				testcase TC_AE_SUB_CRE_001() runs on CseSimu system AeSystem {
				
					//variables
					var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription;
					var MsgIn v_request;
1451
					var ResponsePrimitive v_responsePrimitive;
1452
					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid subscription creation request";
1453
				  	
1454 1455
					var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
					v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1456 1457 1458

					f_cf03Up();

1459
					//send triggering primitive to SUT
1460
					f_sendUtPrimitive(v_utRequest,v_action);
1461 1462 1463 1464
				  	
					//Test behavior
					tc_ac.start;
					alt{
1465
						[] mcaPortIn.receive(mw_request(mw_createSubscription)) -> value v_request {
1466 1467 1468 1469
							tc_ac.stop;
							setverdict(pass, __SCOPE__, " : Subscription creation request is accepted!");

							//set responseStatusCode back to SUT
1470
							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
1471 1472
		
							//send back responsePrimitive
1473
							mcaPortIn.send(m_response(v_responsePrimitive));
1474
						}
1475
						[] mcaPortIn.receive {
1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496
							tc_ac.stop;
							setverdict(fail, __SCOPE__, " : Subscription 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();
				}
				
				group g_AE_SUB_CRE_002 {
					
					/**
					 * @desc Check that the IUT sends a subscription creation request with optional attribute ATTRIBUTE_NAME when it is triggered
					 */
				
					testcase TC_AE_SUB_CRE_002_ACPI() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription;
						var template RequestPrimitive v_requestT := mw_createSubscription;
1497
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid subscription creation request with optional attribute accessControlPolicyIDs";
1498

1499 1500
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1501 1502 1503
						v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"};
						v_utRequest.primitiveContent.subscription.accessControlPolicyIDs := {"UNINITIALIZED"};
	
1504
						v_requestT.to_ := f_getLocalResourceAddress(v_auxInteger);
1505 1506 1507
						v_requestT.primitiveContent.subscription.notificationURI := ?;
						v_requestT.primitiveContent.subscription.accessControlPolicyIDs := ?;
	
1508
						f_AE_SUB_CRE_002(v_utRequest, v_requestT, v_action);
1509 1510 1511 1512 1513
					}
					
					testcase TC_AE_SUB_CRE_002_ENC() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription;
						var template RequestPrimitive v_requestT := mw_createSubscription;
1514
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid subscription creation request with optional attribute createdBefore";
1515 1516
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1517 1518 1519 1520
						v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"};
						v_utRequest.primitiveContent.subscription.eventNotificationCriteria.createdBefore := "20301231T012345";
	
						
1521
						v_requestT.to_ := f_getLocalResourceAddress(v_auxInteger);
1522 1523 1524
						v_requestT.primitiveContent.subscription.notificationURI := ?;
						v_requestT.primitiveContent.subscription.eventNotificationCriteria.createdBefore := ?;
	
1525
						f_AE_SUB_CRE_002(v_utRequest, v_requestT, v_action);
1526 1527 1528 1529 1530
					}
					
					testcase TC_AE_SUB_CRE_002_EXC() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription;
						var template RequestPrimitive v_requestT := mw_createSubscription;
1531
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid subscription creation request with optional attribute expirationCounter";
1532

1533 1534
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1535 1536 1537
						v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"};
						v_utRequest.primitiveContent.subscription.expirationCounter := 1;
	
1538
						v_requestT.to_ := f_getLocalResourceAddress(v_auxInteger);
1539 1540 1541
						v_requestT.primitiveContent.subscription.notificationURI := ?;
						v_requestT.primitiveContent.subscription.expirationCounter := ?;
	
1542
						f_AE_SUB_CRE_002(v_utRequest, v_requestT, v_action);
1543 1544 1545 1546 1547
					}
					
					testcase TC_AE_SUB_CRE_002_NFU() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription;
						var template RequestPrimitive v_requestT := mw_createSubscription;
1548
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid subscription creation request with optional attribute notificationForwardingURI";
1549

1550 1551
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1552 1553 1554
						v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"};
						v_utRequest.primitiveContent.subscription.notificationForwardingURI := "UNINITIALIZED";
	
1555
						v_requestT.to_ := f_getLocalResourceAddress(v_auxInteger);
1556 1557 1558
						v_requestT.primitiveContent.subscription.notificationURI := ?;
						v_requestT.primitiveContent.subscription.notificationForwardingURI := ?;
	
1559
						f_AE_SUB_CRE_002(v_utRequest, v_requestT, v_action);
1560 1561 1562 1563 1564
					}
					
					testcase TC_AE_SUB_CRE_002_NCT() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription;
						var template RequestPrimitive v_requestT := mw_createSubscription;
1565
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid subscription creation request with optional attribute notificationContentType";
1566

1567 1568
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1569 1570 1571
						v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"};
						v_utRequest.primitiveContent.subscription.notificationContentType := int1;
	
1572
						v_requestT.to_ := f_getLocalResourceAddress(v_auxInteger);
1573 1574 1575
						v_requestT.primitiveContent.subscription.notificationURI := ?;
						v_requestT.primitiveContent.subscription.notificationContentType := ?;
	
1576
						f_AE_SUB_CRE_002(v_utRequest, v_requestT, v_action);
1577 1578 1579 1580 1581
					}
					 
					testcase TC_AE_SUB_CRE_002_NEC() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription;
						var template RequestPrimitive v_requestT := mw_createSubscription;
1582
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid subscription creation request with optional attribute notificationEventCat";
1583

1584 1585
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1586 1587 1588
						v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"};
						v_utRequest.primitiveContent.subscription.notificationEventCat.alt_1 := 100;
	
1589
						v_requestT.to_ := f_getLocalResourceAddress(v_auxInteger);
1590 1591 1592
						v_requestT.primitiveContent.subscription.notificationURI := ?;
						v_requestT.primitiveContent.subscription.notificationEventCat.alt_ := ?;
	
1593
						f_AE_SUB_CRE_002(v_utRequest, v_requestT, v_action);
1594 1595 1596 1597 1598
					}
					
					testcase TC_AE_SUB_CRE_002_SU() runs on CseSimu system AeSystem {
						var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription;
						var template RequestPrimitive v_requestT := mw_createSubscription;
1599
						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid subscription creation request with optional attribute subscriberURI";
1600

1601 1602
						var integer v_auxInteger := f_setLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2);
						v_utRequest.to_ := f_getLocalResourceAddress(v_auxInteger);
1603 1604 1605
						v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"};
						v_utRequest.primitiveContent.subscription.subscriberURI := "UNINITIALIZED";
	
1606
						v_requestT.to_ := f_getLocalResourceAddress(v_auxInteger);
1607 1608 1609
						v_requestT.primitiveContent.subscription.notificationURI := ?;
						v_requestT.primitiveContent.subscription.subscriberURI := ?;
	
1610
						f_AE_SUB_CRE_002(v_utRequest, v_requestT, v_action);
1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622
					}

				}//End AE_SUB_CRE_002
			
			}//End Create Group
			
			group Notify {
				
				/**
				 * @desc Check that the IUT sends a Notify Response to the hosting CSE when receiving a Notify request containing a single notification
				 */

1623
				testcase TC_AE_SUB_NTF_001() runs on CseSimu system AeSystem {
1624 1625 1626 1627

					//variables
					var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED");
					var MsgIn v_request;
1628
					var ResponsePrimitive v_responsePrimitive;