Commit 97dac246e9ed97ad607cb48cd7b6991faae19654

Authored by Antonio Castillo Verdugo
1 parent ab049b6b

- Updated f_cse_updateResource function in order to admit forced fields concept

- New templates related to update Annc resources
- Corrections in f_CSE_ANNC_UPD_002, f_CSE_ANNC_UPD_003 and f_CSE_ANNC_UPD_005
- New functions: f_CSE_ANNC_UPD_009, f_CSE_ANNC_UPD_010, f_CSE_ANNC_UPD_011, f_CSE_ANNC_UPD_012 and f_CSE_ANNC_UPD_013
- Small correction in TC_CSE_ANNC_RET_001_ACP
- Corrections in TC_CSE_ANNC_UPD_002_ACP, TC_CSE_ANNC_UPD_002_CNT, TC_CSE_ANNC_UPD_002_GRP, TC_CSE_ANNC_UPD_003_ACP, TC_CSE_ANNC_UPD_003_CNT, TC_CSE_ANNC_UPD_003_GRP and TC_CSE_ANNC_UPD_005
- New Test Cases: TC_CSE_ANNC_UPD_009_CNT_MBS, TC_CSE_ANNC_UPD_009_GRP_MT, TC_CSE_ANNC_UPD_010_ACP, TC_CSE_ANNC_UPD_010_CNT, TC_CSE_ANNC_UPD_010_GRP, TC_CSE_ANNC_UPD_011_CNT_MBS, TC_CSE_ANNC_UPD_011_GRP_MT, TC_CSE_ANNC_UPD_012_CNT_MBS, TC_CSE_ANNC_UPD_012_GRP_MT, TC_CSE_ANNC_UPD_013_CNT_MBS and TC_CSE_ANNC_UPD_013_GRP_MT

Signed-off-by: acverdugo <acverdugo@at4wireless.com>
... ... @@ -1038,7 +1038,7 @@ module OneM2M_Functions {
1038 1038 * @param p_resourceIndex Internal resource index which indicates the resource to be updated
1039 1039 * @verdict
1040 1040 */
1041   - function f_cse_updateResource(in ResourceType p_resourceType, integer p_resourceIndex, template RequestPrimitive p_request) runs on AeSimu {
  1041 + function f_cse_updateResource(in ResourceType p_resourceType, integer p_resourceIndex, template RequestPrimitive p_request, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu {
1042 1042  
1043 1043 var RequestPrimitive v_request;
1044 1044  
... ... @@ -1047,7 +1047,7 @@ module OneM2M_Functions {
1047 1047  
1048 1048 v_request := f_getUpdateRequestPrimitive(p_resourceType, p_resourceIndex, p_request);
1049 1049  
1050   - mcaPort.send(m_request(v_request));
  1050 + mcaPort.send(m_request(v_request, p_nullFields));
1051 1051 tc_ac.start;
1052 1052 alt {
1053 1053 [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
... ...
... ... @@ -572,11 +572,31 @@ module OneM2M_Templates {
572 572 primitiveContent := {aEAnnc := m_contentUpdateAEAnnc}
573 573 };
574 574  
575   - template (value) RequestPrimitive mw_updateContainerAnncBase modifies m_update:= {
576   - requestIdentifier := testcasename() & "-m_updateContainerAnnc",
  575 + /**
  576 + * @desc Base Reception template for update ContainerAnnc
  577 + */
  578 + template RequestPrimitive mw_updateContainerAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
577 579 resourceType := int10003,
578   - primitiveContent := {containerAnnc := m_contentUpdateContainerAnnc}
579   - };
  580 + primitiveContent := {containerAnnc := ?}
  581 + };
  582 +
  583 + /**
  584 + * @desc Base Reception template for update GroupAnnc
  585 + */
  586 + template RequestPrimitive mw_updateGroupAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
  587 + resourceType := int10009,
  588 + primitiveContent := {groupAnnc := ?}
  589 + };
  590 +
  591 + /**
  592 + * @desc Base Reception template for update AccessControlPolicyAnnc
  593 + */
  594 + template RequestPrimitive mw_updateAccessControlPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
  595 + resourceType := int10001,
  596 + primitiveContent := {accessControlPolicyAnnc := ?}
  597 + };
  598 +
  599 +
580 600 }//end group Update
581 601  
582 602 group Create {
... ... @@ -2689,6 +2709,31 @@ module OneM2M_Templates {
2689 2709 disableRetrieval := omit,
2690 2710 choice := omit
2691 2711 };
  2712 +
  2713 + template (value) GroupAnnc_optional m_contentUpdateGroupAnnc := {
  2714 + resourceName := omit,
  2715 + resourceType := omit,
  2716 + resourceID := omit,
  2717 + parentID := omit,
  2718 + creationTime := omit,
  2719 + lastModifiedTime := omit,
  2720 + labels := omit,
  2721 + accessControlPolicyIDs := omit,
  2722 + expirationTime := omit,
  2723 + link := omit,
  2724 + dynamicAuthorizationConsultationIDs := omit,
  2725 + memberType := omit,
  2726 + currentNrOfMembers := omit,
  2727 + maxNrOfMembers := omit,
  2728 + memberIDs := omit,
  2729 + membersAccessControlPolicyIDs := omit,
  2730 + memberTypeValidated := omit,
  2731 + consistencyStrategy := omit,
  2732 + groupName := omit,
  2733 + semanticSupportIndicator := omit,
  2734 + choice := omit
  2735 + };
  2736 +
2692 2737  
2693 2738 }//end group ContentUpdate
2694 2739  
... ...
... ... @@ -7047,7 +7047,7 @@ module OneM2M_PermutationFunctions {
7047 7047  
7048 7048 }//end f_CSE_ANNC_UPD_001
7049 7049  
7050   - function f_CSE_ANNC_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive) runs on CseSimu {
  7050 + function f_CSE_ANNC_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseSimu {
7051 7051 // Local variables
7052 7052 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
7053 7053 var MsgIn v_request;
... ... @@ -7110,9 +7110,8 @@ module OneM2M_PermutationFunctions {
7110 7110  
7111 7111 }//end f_CSE_ANNC_UPD_002
7112 7112  
7113   - function f_CSE_ANNC_UPD_003(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, template RequestPrimitive p_requestUpdatePrimitive) runs on AeSimu {
  7113 + function f_CSE_ANNC_UPD_003(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, template RequestPrimitive p_requestUpdatePrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu {
7114 7114 //Local variables
7115   - var MsgIn v_request;
7116 7115 var RequestPrimitive v_updateRequest;
7117 7116 var integer v_aeIndex := -1;
7118 7117 var integer v_resourceIndex;
... ... @@ -7140,11 +7139,11 @@ module OneM2M_PermutationFunctions {
7140 7139  
7141 7140 vc_cse1.start(f_cse_announcementProcedure_deleteHandler());
7142 7141 v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
7143   - mcaPort.send(m_request(v_updateRequest));
  7142 + mcaPort.send(m_request(v_updateRequest, p_nullFields));
7144 7143  
7145 7144 tc_ac.start;
7146 7145 alt {
7147   - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_request {
  7146 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response {
7148 7147 tc_ac.stop;
7149 7148 setverdict(pass, __SCOPE__ & ": Resource updated successfully");
7150 7149  
... ... @@ -7164,12 +7163,8 @@ module OneM2M_PermutationFunctions {
7164 7163  
7165 7164 vc_cse1.done;
7166 7165  
7167   - //Check to see if the resource is present or not
7168   - if (f_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))){
7169   - setverdict(pass, __SCOPE__ & ":INFO: Resource deleted");
7170   - }else {
7171   - setverdict(fail, __SCOPE__ & ":ERROR: Resource not deleted");
7172   - }
  7166 + //Used to check that the resource has been updated
  7167 + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
7173 7168  
7174 7169 //Postamble
7175 7170 f_cse_postamble_deleteResources();
... ... @@ -7178,10 +7173,9 @@ module OneM2M_PermutationFunctions {
7178 7173 f_cf02Down();
7179 7174 } //end f_CSE_ANNC_UPD_003
7180 7175  
7181   - function f_CSE_ANNC_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu {
  7176 + function f_CSE_ANNC_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc, template (omit) AttributeAux_list p_nullFields := omit) runs on CseSimu {
7182 7177 // Local variables
7183 7178 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
7184   - var MsgIn v_request;
7185 7179 var RequestPrimitive v_requestUpdatePrimitive;
7186 7180 var integer v_parentIndex := -1;
7187 7181 var integer v_aeIndex := -1;
... ... @@ -7216,17 +7210,17 @@ module OneM2M_PermutationFunctions {
7216 7210 p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
7217 7211  
7218 7212 // Test Body
7219   - v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive));
  7213 + v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive, p_nullFields));
7220 7214  
7221 7215 tc_ac.start;
7222 7216 alt {
7223   - [] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request {
  7217 + [] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value vc_request {
7224 7218 tc_ac.stop;
7225 7219 setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
7226 7220  
7227   - v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
  7221 + v_responsePrimitive := valueof(m_responsePrimitive(int2004,vc_request.primitive.requestPrimitive.requestIdentifier));
7228 7222 v_responsePrimitive.from_ := PX_CSE1_ID;
7229   - v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
  7223 + v_responsePrimitive.to_ := vc_request.primitive.requestPrimitive.from_;
7230 7224 mccPortIn.send(m_response(v_responsePrimitive));
7231 7225 }
7232 7226 [] tc_ac.timeout {
... ... @@ -7242,6 +7236,328 @@ module OneM2M_PermutationFunctions {
7242 7236 f_cf02DownCseSimuMaster();
7243 7237  
7244 7238 }//end f_CSE_ANNC_UPD_005
  7239 +
  7240 + function f_CSE_ANNC_UPD_009(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu {
  7241 + // Local variables
  7242 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  7243 + var MsgIn v_request;
  7244 + var RequestPrimitive v_requestUpdatePrimitive;
  7245 + var integer v_parentIndex := -1;
  7246 + var integer v_aeIndex := -1;
  7247 + var integer v_resourceIndex;
  7248 + var integer v_aEAnncIndex := -1;
  7249 + var integer v_latestResourceIndex;
  7250 + var ResponsePrimitive v_responsePrimitive;
  7251 + var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
  7252 +
  7253 + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
  7254 +
  7255 + //Test control
  7256 +
  7257 + // Test component configuration
  7258 + f_cf02UpCseSimuMaster();
  7259 +
  7260 + // Test adapter configuration
  7261 + // Register the CSE
  7262 + f_cse_registerRemoteCse(m_createRemoteCSEBase);
  7263 +
  7264 + //Preamble
  7265 +
  7266 + v_ae1.start(f_cse_createResource(int2,v_create));
  7267 + f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
  7268 + v_ae1.done;
  7269 +
  7270 + v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
  7271 + f_cse_announcementProcedure_createHandler(p_createRequestAnnc);
  7272 + v_ae1.done;
  7273 +
  7274 + v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
  7275 + p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
  7276 +
  7277 + // Test Body
  7278 + v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive));
  7279 +
  7280 + tc_ac.start;
  7281 + alt {
  7282 + [] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request {
  7283 + tc_ac.stop;
  7284 + setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
  7285 +
  7286 + v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
  7287 + v_responsePrimitive.from_ := PX_CSE1_ID;
  7288 + v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
  7289 + mccPortIn.send(m_response(v_responsePrimitive));
  7290 + }
  7291 + [] tc_ac.timeout {
  7292 + setverdict(fail, __SCOPE__ & ":ERROR: No announcement received");
  7293 + }
  7294 + }
  7295 + v_ae1.done;
  7296 +
  7297 + // Postamble
  7298 + f_cse_postamble_deleteResourcesCSE();
  7299 +
  7300 + // Tear down
  7301 + f_cf02DownCseSimuMaster();
  7302 +
  7303 + }//end f_CSE_ANNC_UPD_009
  7304 +
  7305 + function f_CSE_ANNC_UPD_010(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu {
  7306 + // Local variables
  7307 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  7308 + var MsgIn v_request;
  7309 + var RequestPrimitive v_requestUpdatePrimitive;
  7310 + var integer v_parentIndex := -1;
  7311 + var integer v_aeIndex := -1;
  7312 + var integer v_resourceIndex;
  7313 + var integer v_aEAnncIndex := -1;
  7314 + var integer v_latestResourceIndex;
  7315 + var ResponsePrimitive v_responsePrimitive;
  7316 + var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
  7317 +
  7318 + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
  7319 +
  7320 + //Test control
  7321 +
  7322 + // Test component configuration
  7323 + f_cf02UpCseSimuMaster();
  7324 +
  7325 + // Test adapter configuration
  7326 + // Register the CSE
  7327 + f_cse_registerRemoteCse(m_createRemoteCSEBase);
  7328 +
  7329 + //Preamble
  7330 +
  7331 + v_ae1.start(f_cse_createResource(int2,v_create));
  7332 + f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
  7333 + v_ae1.done;
  7334 +
  7335 + v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
  7336 + f_cse_announcementProcedure_createHandler(p_createRequestAnnc);
  7337 + v_ae1.done;
  7338 +
  7339 + v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
  7340 + p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
  7341 +
  7342 + // Test Body
  7343 + v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive));
  7344 +
  7345 + tc_ac.start;
  7346 + alt {
  7347 + [] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request {
  7348 + tc_ac.stop;
  7349 + setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
  7350 +
  7351 + v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
  7352 + v_responsePrimitive.from_ := PX_CSE1_ID;
  7353 + v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
  7354 + mccPortIn.send(m_response(v_responsePrimitive));
  7355 + }
  7356 + [] tc_ac.timeout {
  7357 + setverdict(fail, __SCOPE__ & ":ERROR: No announcement received");
  7358 + }
  7359 + }
  7360 + v_ae1.done;
  7361 +
  7362 + // Postamble
  7363 + f_cse_postamble_deleteResourcesCSE();
  7364 +
  7365 + // Tear down
  7366 + f_cf02DownCseSimuMaster();
  7367 +
  7368 + }//end f_CSE_ANNC_UPD_010
  7369 +
  7370 + function f_CSE_ANNC_UPD_011(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu {
  7371 + // Local variables
  7372 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  7373 + var MsgIn v_request;
  7374 + var RequestPrimitive v_requestUpdatePrimitive;
  7375 + var integer v_parentIndex := -1;
  7376 + var integer v_aeIndex := -1;
  7377 + var integer v_resourceIndex;
  7378 + var integer v_aEAnncIndex := -1;
  7379 + var integer v_latestResourceIndex;
  7380 + var ResponsePrimitive v_responsePrimitive;
  7381 + var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
  7382 +
  7383 + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
  7384 +
  7385 + //Test control
  7386 +
  7387 + // Test component configuration
  7388 + f_cf02UpCseSimuMaster();
  7389 +
  7390 + // Test adapter configuration
  7391 + // Register the CSE
  7392 + f_cse_registerRemoteCse(m_createRemoteCSEBase);
  7393 +
  7394 + //Preamble
  7395 +
  7396 + v_ae1.start(f_cse_createResource(int2,v_create));
  7397 + f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
  7398 + v_ae1.done;
  7399 +
  7400 + v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
  7401 + f_cse_announcementProcedure_createHandler(p_createRequestAnnc);
  7402 + v_ae1.done;
  7403 +
  7404 + v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
  7405 + p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
  7406 +
  7407 + // Test Body
  7408 + v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive));
  7409 +
  7410 + tc_ac.start;
  7411 + alt {
  7412 + [] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request {
  7413 + tc_ac.stop;
  7414 + setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
  7415 +
  7416 + v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
  7417 + v_responsePrimitive.from_ := PX_CSE1_ID;
  7418 + v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
  7419 + mccPortIn.send(m_response(v_responsePrimitive));
  7420 + }
  7421 + [] tc_ac.timeout {
  7422 + setverdict(fail, __SCOPE__ & ":ERROR: No announcement received");
  7423 + }
  7424 + }
  7425 + v_ae1.done;
  7426 +
  7427 + // Postamble
  7428 + f_cse_postamble_deleteResourcesCSE();
  7429 +
  7430 + // Tear down
  7431 + f_cf02DownCseSimuMaster();
  7432 +
  7433 + }//end f_CSE_ANNC_UPD_011
  7434 +
  7435 + function f_CSE_ANNC_UPD_012(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc, template (omit) AttributeAux_list p_nullFields := omit) runs on CseSimu {
  7436 + // Local variables
  7437 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  7438 + var RequestPrimitive v_requestUpdatePrimitive;
  7439 + var integer v_parentIndex := -1;
  7440 + var integer v_aeIndex := -1;
  7441 + var integer v_resourceIndex;
  7442 + var integer v_aEAnncIndex := -1;
  7443 + var integer v_latestResourceIndex;
  7444 + var ResponsePrimitive v_responsePrimitive;
  7445 + var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
  7446 +
  7447 + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
  7448 +
  7449 + //Test control
  7450 +
  7451 + // Test component configuration
  7452 + f_cf02UpCseSimuMaster();
  7453 +
  7454 + // Test adapter configuration
  7455 + // Register the CSE
  7456 + f_cse_registerRemoteCse(m_createRemoteCSEBase);
  7457 +
  7458 + //Preamble
  7459 +
  7460 + v_ae1.start(f_cse_createResource(int2,v_create));
  7461 + f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
  7462 + v_ae1.done;
  7463 +
  7464 + v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
  7465 + f_cse_announcementProcedure_createHandler(p_createRequestAnnc);
  7466 + v_ae1.done;
  7467 +
  7468 + v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
  7469 + p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
  7470 +
  7471 + // Test Body
  7472 + v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive, p_nullFields));
  7473 +
  7474 + tc_ac.start;
  7475 + alt {
  7476 + [] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value vc_request {
  7477 + tc_ac.stop;
  7478 + setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
  7479 +
  7480 + v_responsePrimitive := valueof(m_responsePrimitive(int2004,vc_request.primitive.requestPrimitive.requestIdentifier));
  7481 + v_responsePrimitive.from_ := PX_CSE1_ID;
  7482 + v_responsePrimitive.to_ := vc_request.primitive.requestPrimitive.from_;
  7483 + mccPortIn.send(m_response(v_responsePrimitive));
  7484 + }
  7485 + [] tc_ac.timeout {
  7486 + setverdict(fail, __SCOPE__ & ":ERROR: No announcement received");
  7487 + }
  7488 + }
  7489 + v_ae1.done;
  7490 +
  7491 + // Postamble
  7492 + f_cse_postamble_deleteResourcesCSE();
  7493 +
  7494 + // Tear down
  7495 + f_cf02DownCseSimuMaster();
  7496 +
  7497 + }//end f_CSE_ANNC_UPD_012
  7498 +
  7499 + function f_CSE_ANNC_UPD_013(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, template RequestPrimitive p_requestUpdatePrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu {
  7500 + //Local variables
  7501 + var RequestPrimitive v_updateRequest;
  7502 + var integer v_aeIndex := -1;
  7503 + var integer v_resourceIndex;
  7504 + var ResponsePrimitive v_responsePrimitive;
  7505 + var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
  7506 +
  7507 + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
  7508 + //Test control
  7509 +
  7510 + //Test component configuration
  7511 + f_cf02Up();
  7512 +
  7513 + //Register the CSE
  7514 + vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
  7515 + vc_cse1.done;
  7516 +
  7517 + //Preamble
  7518 + vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
  7519 + v_aeIndex := f_cse_createResource(int2,v_create);
  7520 + vc_cse1.done;
  7521 +
  7522 + vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc));
  7523 + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
  7524 + vc_cse1.done;
  7525 +
  7526 + vc_cse1.start(f_cse_announcementProcedure_updateHandler());
  7527 + v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
  7528 + mcaPort.send(m_request(v_updateRequest, p_nullFields));
  7529 +
  7530 + tc_ac.start;
  7531 + alt {
  7532 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response {
  7533 + tc_ac.stop;
  7534 + setverdict(pass, __SCOPE__ & ": Resource updated successfully");
  7535 +
  7536 + }
  7537 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
  7538 + tc_ac.stop;
  7539 + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
  7540 + }
  7541 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  7542 + tc_ac.stop;
  7543 + setverdict(fail, __SCOPE__ & ": Error while updating container resource");
  7544 + }
  7545 + [] tc_ac.timeout {
  7546 + setverdict(fail, __SCOPE__ & ": No answer while updating resource");
  7547 + }
  7548 + }
  7549 +
  7550 + vc_cse1.done;
  7551 +
  7552 + //Used to check that the resource has been updated
  7553 + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
  7554 +
  7555 + //Postamble
  7556 + f_cse_postamble_deleteResources();
  7557 +
  7558 + // Tear down
  7559 + f_cf02Down();
  7560 + } //end f_CSE_ANNC_UPD_013
7245 7561  
7246 7562 }//end group Update
7247 7563  
... ...
... ... @@ -7230,7 +7230,7 @@ module OneM2M_Testcases_CSE_Release_2 {
7230 7230 var template RequestPrimitive v_createRequest := m_createAcpBase;
7231 7231 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
7232 7232  
7233   - v_ae1.start(f_CSE_ANNC_CRE_007_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
  7233 + v_ae1.start(f_CSE_ANNC_RET_001(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
7234 7234 v_ae1.done;
7235 7235 }
7236 7236  
... ... @@ -7321,10 +7321,15 @@ module OneM2M_Testcases_CSE_Release_2 {
7321 7321 var template RequestPrimitive v_createRequest := m_createAcpBase;
7322 7322 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
7323 7323 var template RequestPrimitive v_updateRequest := m_updateAcpBase;
  7324 + var AttributeAux_list v_nullFields;
  7325 + var ListOfURIs v_announceTo := {"To be deleted"};
7324 7326  
7325   - v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
  7327 + v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
  7328 +
  7329 + v_updateRequest.primitiveContent.accessControlPolicy.announceTo := v_announceTo;
  7330 + v_nullFields := {{"announceTo", omit}};
7326 7331  
7327   - v_cse1.start(f_CSE_ANNC_UPD_002(int1, v_createRequest, v_createRequestAnnc, v_updateRequest));//AccessControlPolicy
  7332 + v_cse1.start(f_CSE_ANNC_UPD_002(int1, v_createRequest, v_createRequestAnnc, v_updateRequest, v_nullFields));//AccessControlPolicy
7328 7333 v_cse1.done;
7329 7334 }
7330 7335  
... ... @@ -7334,10 +7339,15 @@ module OneM2M_Testcases_CSE_Release_2 {
7334 7339 var template RequestPrimitive v_createRequest := m_createContainerBase;
7335 7340 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
7336 7341 var template RequestPrimitive v_updateRequest := m_updateContainerBase;
  7342 + var AttributeAux_list v_nullFields;
  7343 + var ListOfURIs v_announceTo := {"To be deleted"};
7337 7344  
7338 7345 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
  7346 +
  7347 + v_updateRequest.primitiveContent.container.announceTo := v_announceTo;
  7348 + v_nullFields := {{"announceTo", omit}};
7339 7349  
7340   - v_cse1.start(f_CSE_ANNC_UPD_002(int3, v_createRequest, v_createRequestAnnc, v_updateRequest));//Container
  7350 + v_cse1.start(f_CSE_ANNC_UPD_002(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_nullFields));//Container
7341 7351 v_cse1.done;
7342 7352 }
7343 7353  
... ... @@ -7347,10 +7357,15 @@ module OneM2M_Testcases_CSE_Release_2 {
7347 7357 var template RequestPrimitive v_createRequest := m_createGroupBase;
7348 7358 var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
7349 7359 var template RequestPrimitive v_updateRequest := m_updateGroupBase;
  7360 + var AttributeAux_list v_nullFields;
  7361 + var ListOfURIs v_announceTo := {"To be deleted"};
7350 7362  
7351 7363 v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
  7364 +
  7365 + v_updateRequest.primitiveContent.group_.announceTo := v_announceTo;
  7366 + v_nullFields := {{"announceTo", omit}};
7352 7367  
7353   - v_cse1.start(f_CSE_ANNC_UPD_002(int9, v_createRequest, v_createRequestAnnc, v_updateRequest));//Group
  7368 + v_cse1.start(f_CSE_ANNC_UPD_002(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_nullFields));//Group
7354 7369 v_cse1.done;
7355 7370 }
7356 7371  
... ... @@ -7365,10 +7380,16 @@ module OneM2M_Testcases_CSE_Release_2 {
7365 7380 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
7366 7381 var template RequestPrimitive v_updateRequest := m_updateAcpBase;
7367 7382 var ResponsePrimitive v_responsePrimitive;
  7383 + var AttributeAux_list v_nullFields;
  7384 + var ListOfURIs v_announceTo := {"To be deleted"};
  7385 + var PrimitiveContent v_primitiveContentRetrieveResource;
7368 7386  
7369 7387 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
  7388 +
  7389 + v_updateRequest.primitiveContent.accessControlPolicy.announceTo := v_announceTo;
  7390 + v_nullFields := {{"announceTo", omit}};
7370 7391  
7371   - v_ae1.start(f_CSE_ANNC_UPD_003(int1, v_createRequestAnnc, v_createRequest, v_updateRequest));//AccessControlPolicy
  7392 + v_ae1.start(f_CSE_ANNC_UPD_003(int1, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//AccessControlPolicy
7372 7393 v_ae1.done;
7373 7394  
7374 7395 if(getverdict == pass){
... ... @@ -7376,11 +7397,19 @@ module OneM2M_Testcases_CSE_Release_2 {
7376 7397 if(ispresent(v_responsePrimitive.primitiveContent)) {
7377 7398 if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
7378 7399 if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.announceTo)){
7379   - setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL")
  7400 + setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL");
7380 7401 }
7381 7402 }
7382 7403 }
7383   -
  7404 +
  7405 + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
  7406 +
  7407 + //Check that the resource has been udpated correctly
  7408 + if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) {
  7409 + if(ispresent(v_primitiveContentRetrieveResource.accessControlPolicy.announceTo)){
  7410 + setverdict(fail, __SCOPE__ & ": Error: announceTo attribute not updated correctly");
  7411 + }
  7412 + }
7384 7413 }
7385 7414  
7386 7415 }
... ... @@ -7392,10 +7421,16 @@ module OneM2M_Testcases_CSE_Release_2 {
7392 7421 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
7393 7422 var template RequestPrimitive v_updateRequest := m_updateContainerBase;
7394 7423 var ResponsePrimitive v_responsePrimitive;
  7424 + var AttributeAux_list v_nullFields;
  7425 + var ListOfURIs v_announceTo := {"To be deleted"};
  7426 + var PrimitiveContent v_primitiveContentRetrieveResource;
7395 7427  
7396 7428 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
  7429 +
  7430 + v_updateRequest.primitiveContent.container.announceTo := v_announceTo;
  7431 + v_nullFields := {{"announceTo", omit}};
7397 7432  
7398   - v_ae1.start(f_CSE_ANNC_UPD_003(int3, v_createRequestAnnc, v_createRequest, v_updateRequest));//Container
  7433 + v_ae1.start(f_CSE_ANNC_UPD_003(int3, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Container
7399 7434 v_ae1.done;
7400 7435  
7401 7436 if(getverdict == pass){
... ... @@ -7403,11 +7438,19 @@ module OneM2M_Testcases_CSE_Release_2 {
7403 7438 if(ispresent(v_responsePrimitive.primitiveContent)) {
7404 7439 if(ischosen(v_responsePrimitive.primitiveContent.container)) {
7405 7440 if(ispresent(v_responsePrimitive.primitiveContent.container.announceTo)){
7406   - setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL")
  7441 + setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL");
7407 7442 }
7408 7443 }
7409 7444 }
  7445 +
  7446 + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
7410 7447  
  7448 + //Check that the resource has been udpated correctly
  7449 + if(ischosen(v_primitiveContentRetrieveResource.container)) {
  7450 + if(ispresent(v_primitiveContentRetrieveResource.container.announceTo)){
  7451 + setverdict(fail, __SCOPE__ & ": Error: announceTo attribute not updated correctly");
  7452 + }
  7453 + }
7411 7454 }
7412 7455  
7413 7456 }
... ... @@ -7419,10 +7462,16 @@ module OneM2M_Testcases_CSE_Release_2 {
7419 7462 var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
7420 7463 var template RequestPrimitive v_updateRequest := m_updateGroupBase;
7421 7464 var ResponsePrimitive v_responsePrimitive;
  7465 + var AttributeAux_list v_nullFields;
  7466 + var ListOfURIs v_announceTo := {"To be deleted"};
  7467 + var PrimitiveContent v_primitiveContentRetrieveResource;
7422 7468  
7423 7469 v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
  7470 +
  7471 + v_updateRequest.primitiveContent.group_.announceTo := v_announceTo;
  7472 + v_nullFields := {{"announceTo", omit}};
7424 7473  
7425   - v_ae1.start(f_CSE_ANNC_UPD_003(int9, v_createRequestAnnc, v_createRequest, v_updateRequest));//Group
  7474 + v_ae1.start(f_CSE_ANNC_UPD_003(int9, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Group
7426 7475 v_ae1.done;
7427 7476  
7428 7477 if(getverdict == pass){
... ... @@ -7430,11 +7479,19 @@ module OneM2M_Testcases_CSE_Release_2 {
7430 7479 if(ispresent(v_responsePrimitive.primitiveContent)) {
7431 7480 if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
7432 7481 if(ispresent(v_responsePrimitive.primitiveContent.group_.announceTo)){
7433   - setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL")
  7482 + setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL");
7434 7483 }
7435 7484 }
7436 7485 }
  7486 +
  7487 + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
7437 7488  
  7489 + //Check that the resource has been udpated correctly
  7490 + if(ischosen(v_primitiveContentRetrieveResource.group_)) {
  7491 + if(ispresent(v_primitiveContentRetrieveResource.group_.announceTo)){
  7492 + setverdict(fail, __SCOPE__ & ": Error: announceTo attribute not updated correctly");
  7493 + }
  7494 + }
7438 7495 }
7439 7496 }
7440 7497  
... ... @@ -7448,17 +7505,378 @@ module OneM2M_Testcases_CSE_Release_2 {
7448 7505 var template RequestPrimitive v_createRequest := m_createContainerBase;
7449 7506 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
7450 7507 var template RequestPrimitive v_updateRequest := m_updateContainerBase;
7451   - var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnncBase;
7452   - var Labels v_labels_1 := {"VALUE_1"};
  7508 + var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
  7509 + var RequestPrimitive v_requestPrimitive;
  7510 + var Labels v_labels_1 := {"VALUE_1"};
  7511 + var AttributeAux_list v_nullFields;
  7512 + var Labels v_labels_2 := {"To be deleted"};
7453 7513  
7454 7514 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
7455 7515 v_createRequest.primitiveContent.container.labels := v_labels_1;
  7516 +
  7517 + v_updateRequest.primitiveContent.container.labels := v_labels_2;
  7518 + v_nullFields := {{"labels", omit}};
7456 7519  
7457   - v_cse1.start(f_CSE_ANNC_UPD_005(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
  7520 + v_cse1.start(f_CSE_ANNC_UPD_005(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields));//Container
7458 7521 v_cse1.done;
  7522 +
  7523 + if(getverdict == pass){
  7524 + v_requestPrimitive := f_getRequestPrimitive(v_cse1);
  7525 + if(ispresent(v_requestPrimitive.primitiveContent)) {
  7526 + if(ischosen(v_requestPrimitive.primitiveContent.containerAnnc)) {
  7527 + if(ispresent(v_requestPrimitive.primitiveContent.containerAnnc.labels)){
  7528 + setverdict(fail, __SCOPE__ & ": Error: labels attribute is not set to NULL");
  7529 + }
  7530 + }
  7531 + }
7459 7532  
7460   - } //end TC_CSE_ANNC_CRE_001
7461   - } // end group g_CSE_ANNC_CRE_001
  7533 + }
  7534 +
  7535 + }
  7536 + } // end group g_CSE_ANNC_UPD_005
  7537 +
  7538 + group g_CSE_ANNC_UPD_009{
  7539 +
  7540 + testcase TC_CSE_ANNC_UPD_009_CNT_MBS() runs on Tester system CseSystem {
  7541 + // Local variables
  7542 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7543 + var template RequestPrimitive v_createRequest := m_createContainerBase;
  7544 + var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
  7545 + var template RequestPrimitive v_updateRequest := m_updateContainerBase;
  7546 + var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
  7547 + var XSD.NonNegativeInteger v_maxByteSize := 512;
  7548 +
  7549 + v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
  7550 + v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize;
  7551 +
  7552 + v_createRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize;
  7553 +
  7554 + v_updateRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};
  7555 +
  7556 + v_updateRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize;
  7557 +
  7558 + v_cse1.start(f_CSE_ANNC_UPD_009(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
  7559 + v_cse1.done;
  7560 + }
  7561 +
  7562 + testcase TC_CSE_ANNC_UPD_009_GRP_MT() runs on Tester system CseSystem {
  7563 + // Local variables
  7564 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7565 + var template RequestPrimitive v_createRequest := m_createGroupBase;
  7566 + var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
  7567 + var template RequestPrimitive v_updateRequest := m_updateGroupBase;
  7568 + var template RequestPrimitive v_updateRequestAnnc := mw_updateGroupAnnc;
  7569 + var MemberType v_memberType := int3;
  7570 +
  7571 + v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
  7572 + v_createRequest.primitiveContent.group_.memberType := v_memberType;
  7573 +
  7574 + v_createRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType;
  7575 +
  7576 + v_updateRequest.primitiveContent.group_.announcedAttribute := {"memberType"};
  7577 +
  7578 + v_updateRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType;
  7579 +
  7580 + v_cse1.start(f_CSE_ANNC_UPD_009(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Group
  7581 + v_cse1.done;
  7582 + }
  7583 +
  7584 + }// end group g_CSE_ANNC_UPD_009
  7585 +
  7586 + group g_CSE_ANNC_UPD_010{
  7587 +
  7588 + testcase TC_CSE_ANNC_UPD_010_ACP() runs on Tester system CseSystem {
  7589 + // Local variables
  7590 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7591 + var template RequestPrimitive v_createRequest := m_createAcpBase;
  7592 + var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
  7593 + var template RequestPrimitive v_updateRequest := m_updateAcpBase;
  7594 + var template RequestPrimitive v_updateRequestAnnc := mw_updateAccessControlPolicyAnnc;
  7595 + var Timestamp v_expirationTime_1 := "21001231T012345";
  7596 + var Timestamp v_expirationTime_2 := "21101231T012345";
  7597 +
  7598 + v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
  7599 + v_createRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_1;
  7600 +
  7601 + v_createRequestAnnc.primitiveContent.accessControlPolicyAnnc.expirationTime := v_expirationTime_1;
  7602 +
  7603 + v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_2;
  7604 +
  7605 + v_updateRequestAnnc.primitiveContent.accessControlPolicyAnnc.expirationTime := v_expirationTime_2;
  7606 +
  7607 + v_cse1.start(f_CSE_ANNC_UPD_010(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
  7608 + v_cse1.done;
  7609 + }
  7610 +
  7611 + testcase TC_CSE_ANNC_UPD_010_CNT() runs on Tester system CseSystem {
  7612 + // Local variables
  7613 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7614 + var template RequestPrimitive v_createRequest := m_createContainerBase;
  7615 + var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
  7616 + var template RequestPrimitive v_updateRequest := m_updateContainerBase;
  7617 + var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
  7618 + var Timestamp v_expirationTime_1 := "21001231T012345";
  7619 + var Timestamp v_expirationTime_2 := "21101231T012345";
  7620 +
  7621 + v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
  7622 + v_createRequest.primitiveContent.container.expirationTime := v_expirationTime_1;
  7623 +
  7624 + v_createRequestAnnc.primitiveContent.containerAnnc.expirationTime := v_expirationTime_1;
  7625 +
  7626 + v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime_2;
  7627 +
  7628 + v_updateRequestAnnc.primitiveContent.containerAnnc.expirationTime := v_expirationTime_2;
  7629 +
  7630 + v_cse1.start(f_CSE_ANNC_UPD_010(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
  7631 + v_cse1.done;
  7632 + }
  7633 +
  7634 + testcase TC_CSE_ANNC_UPD_010_GRP() runs on Tester system CseSystem {
  7635 + // Local variables
  7636 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7637 + var template RequestPrimitive v_createRequest := m_createGroupBase;
  7638 + var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
  7639 + var template RequestPrimitive v_updateRequest := m_updateGroupBase;
  7640 + var template RequestPrimitive v_updateRequestAnnc := mw_updateGroupAnnc;
  7641 + var Timestamp v_expirationTime_1 := "21001231T012345";
  7642 + var Timestamp v_expirationTime_2 := "21101231T012345";
  7643 +
  7644 + v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
  7645 + v_createRequest.primitiveContent.group_.expirationTime := v_expirationTime_1;
  7646 +
  7647 + v_createRequestAnnc.primitiveContent.groupAnnc.expirationTime := v_expirationTime_1;
  7648 +
  7649 + v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime_2;
  7650 +
  7651 + v_updateRequestAnnc.primitiveContent.groupAnnc.expirationTime := v_expirationTime_2;
  7652 +
  7653 + v_cse1.start(f_CSE_ANNC_UPD_010(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Group
  7654 + v_cse1.done;
  7655 + }
  7656 +
  7657 + }// end group g_CSE_ANNC_UPD_010
  7658 +
  7659 + group g_CSE_ANNC_UPD_011{
  7660 +
  7661 + testcase TC_CSE_ANNC_UPD_011_CNT_MBS() runs on Tester system CseSystem {
  7662 + // Local variables
  7663 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7664 + var template RequestPrimitive v_createRequest := m_createContainerBase;
  7665 + var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
  7666 + var template RequestPrimitive v_updateRequest := m_updateContainerBase;
  7667 + var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
  7668 + var XSD.NonNegativeInteger v_maxByteSize_1 := 512;
  7669 + var XSD.NonNegativeInteger v_maxByteSize_2 := 1024;
  7670 +
  7671 + v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
  7672 + v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize_1;
  7673 + v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};
  7674 +
  7675 + v_createRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize_1;
  7676 +
  7677 + v_updateRequest.primitiveContent.container.maxByteSize := v_maxByteSize_2;
  7678 +
  7679 + v_updateRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize_2;
  7680 +
  7681 + v_cse1.start(f_CSE_ANNC_UPD_011(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
  7682 + v_cse1.done;
  7683 + }
  7684 +
  7685 + testcase TC_CSE_ANNC_UPD_011_GRP_MT() runs on Tester system CseSystem {
  7686 + // Local variables
  7687 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7688 + var template RequestPrimitive v_createRequest := m_createGroupBase;
  7689 + var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
  7690 + var template RequestPrimitive v_updateRequest := m_updateGroupBase;
  7691 + var template RequestPrimitive v_updateRequestAnnc := mw_updateGroupAnnc;
  7692 + var MemberType v_memberType_1 := int3;
  7693 + var MemberType v_memberType_2 := int4;
  7694 +
  7695 + v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
  7696 + v_createRequest.primitiveContent.group_.memberType := v_memberType_1;
  7697 + v_createRequest.primitiveContent.group_.announcedAttribute := {"memberType"};
  7698 +
  7699 + v_createRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType_1;
  7700 +
  7701 + v_updateRequest.primitiveContent.group_.memberType := v_memberType_2;
  7702 +
  7703 + v_updateRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType_2;
  7704 +
  7705 + v_cse1.start(f_CSE_ANNC_UPD_011(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Group
  7706 + v_cse1.done;
  7707 + }
  7708 +
  7709 + }// end group g_CSE_ANNC_UPD_011
  7710 +
  7711 + group g_CSE_ANNC_UPD_012{
  7712 +
  7713 + testcase TC_CSE_ANNC_UPD_012_CNT_MBS() runs on Tester system CseSystem {
  7714 + // Local variables
  7715 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7716 + var template RequestPrimitive v_createRequest := m_createContainerBase;
  7717 + var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
  7718 + var template RequestPrimitive v_updateRequest := m_updateContainerBase;
  7719 + var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
  7720 + var RequestPrimitive v_requestPrimitive;
  7721 + var XSD.NonNegativeInteger v_maxByteSize := 512;
  7722 + var AttributeAux_list v_nullFields;
  7723 + var ListOfNCNames v_announcedAttribute := {"ToBeDeleted"};
  7724 +
  7725 + v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
  7726 + v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize;
  7727 + v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};
  7728 +
  7729 + v_createRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize;
  7730 +
  7731 + v_updateRequest.primitiveContent.container.announcedAttribute := v_announcedAttribute;
  7732 + v_nullFields := {{"announcedAttribute", omit}};
  7733 +
  7734 + v_cse1.start(f_CSE_ANNC_UPD_012(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields));//Container
  7735 + v_cse1.done;
  7736 +
  7737 + if(getverdict == pass){
  7738 + v_requestPrimitive := f_getRequestPrimitive(v_cse1);
  7739 + if(ispresent(v_requestPrimitive.primitiveContent)) {
  7740 + if(ischosen(v_requestPrimitive.primitiveContent.containerAnnc)) {
  7741 + if(ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){
  7742 + setverdict(fail, __SCOPE__ & ": Error: maxByteSize attribute is not set to NULL");
  7743 + }
  7744 + }
  7745 + }
  7746 +
  7747 + }
  7748 +
  7749 + }
  7750 +
  7751 + testcase TC_CSE_ANNC_UPD_012_GRP_MT() runs on Tester system CseSystem {
  7752 + // Local variables
  7753 + var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
  7754 + var template RequestPrimitive v_createRequest := m_createGroupBase;
  7755 + var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
  7756 + var template RequestPrimitive v_updateRequest := m_updateGroupBase;
  7757 + var template RequestPrimitive v_updateRequestAnnc := mw_updateGroupAnnc;
  7758 + var RequestPrimitive v_requestPrimitive;
  7759 + var MemberType v_memberType := int3;
  7760 + var AttributeAux_list v_nullFields;
  7761 + var ListOfNCNames v_announcedAttribute := {"ToBeDeleted"};
  7762 +
  7763 + v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
  7764 + v_createRequest.primitiveContent.group_.memberType := v_memberType;
  7765 + v_createRequest.primitiveContent.group_.announcedAttribute := {"memberType"};
  7766 +
  7767 + v_createRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType;
  7768 +
  7769 + v_updateRequest.primitiveContent.group_.announcedAttribute := v_announcedAttribute;
  7770 + v_nullFields := {{"announcedAttribute", omit}};
  7771 +
  7772 + v_cse1.start(f_CSE_ANNC_UPD_012(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields));//Group
  7773 + v_cse1.done;
  7774 +
  7775 + if(getverdict == pass){
  7776 + v_requestPrimitive := f_getRequestPrimitive(v_cse1);
  7777 + if(ispresent(v_requestPrimitive.primitiveContent)) {
  7778 + if(ischosen(v_requestPrimitive.primitiveContent.groupAnnc)) {
  7779 + if(ispresent(v_requestPrimitive.primitiveContent.groupAnnc.memberType)){
  7780 + setverdict(fail, __SCOPE__ & ": Error: memberType attribute is not set to NULL");
  7781 + }
  7782 + }
  7783 + }
  7784 +
  7785 + }
  7786 + }
  7787 +
  7788 + }// end group g_CSE_ANNC_UPD_012
  7789 +
  7790 + group g_CSE_ANNC_UPD_013{
  7791 +
  7792 + testcase TC_CSE_ANNC_UPD_013_CNT_MBS() runs on Tester system CseSystem {
  7793 + // Local variables
  7794 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  7795 + var template RequestPrimitive v_createRequest := m_createContainerBase;
  7796 + var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
  7797 + var template RequestPrimitive v_updateRequest := m_updateContainerBase;
  7798 + var ResponsePrimitive v_responsePrimitive;
  7799 + var AttributeAux_list v_nullFields;
  7800 + var ListOfNCNames v_announcedAttribute := {"ToBeDeleted"};
  7801 + var PrimitiveContent v_primitiveContentRetrieveResource;
  7802 + var XSD.NonNegativeInteger v_maxByteSize := 512;
  7803 +
  7804 + v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
  7805 + v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize;
  7806 + v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};
  7807 +
  7808 + v_updateRequest.primitiveContent.container.announcedAttribute := v_announcedAttribute;
  7809 + v_nullFields := {{"announcedAttribute", omit}};
  7810 +
  7811 + v_ae1.start(f_CSE_ANNC_UPD_013(int3, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Container
  7812 + v_ae1.done;
  7813 +
  7814 + if(getverdict == pass){
  7815 + v_responsePrimitive := f_getResponsePrimitive(v_ae1);
  7816 + if(ispresent(v_responsePrimitive.primitiveContent)) {
  7817 + if(ischosen(v_responsePrimitive.primitiveContent.container)) {
  7818 + if(ispresent(v_responsePrimitive.primitiveContent.container.announcedAttribute)){
  7819 + setverdict(fail, __SCOPE__ & ": Error: announcedAttribute attribute is not set to NULL");
  7820 + }
  7821 + }
  7822 + }
  7823 +
  7824 + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
  7825 +
  7826 + //Check that the resource has been udpated correctly
  7827 + if(ischosen(v_primitiveContentRetrieveResource.container)) {
  7828 + if(ispresent(v_primitiveContentRetrieveResource.container.announcedAttribute)){
  7829 + setverdict(fail, __SCOPE__ & ": Error: announcedAttribute attribute not updated correctly");
  7830 + }
  7831 + }
  7832 + }
  7833 +
  7834 + }
  7835 +
  7836 + testcase TC_CSE_ANNC_UPD_013_GRP_MT() runs on Tester system CseSystem {
  7837 + // Local variables
  7838 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  7839 + var template RequestPrimitive v_createRequest := m_createGroupBase;
  7840 + var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
  7841 + var template RequestPrimitive v_updateRequest := m_updateGroupBase;
  7842 + var ResponsePrimitive v_responsePrimitive;
  7843 + var AttributeAux_list v_nullFields;
  7844 + var ListOfNCNames v_announcedAttribute := {"ToBeDeleted"};
  7845 + var PrimitiveContent v_primitiveContentRetrieveResource;
  7846 + var MemberType v_memberType := int3;
  7847 +
  7848 + v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
  7849 + v_createRequest.primitiveContent.group_.memberType := v_memberType;
  7850 + v_createRequest.primitiveContent.group_.announcedAttribute := {"memberType"};
  7851 +
  7852 + v_updateRequest.primitiveContent.group_.announcedAttribute := v_announcedAttribute;
  7853 + v_nullFields := {{"announcedAttribute", omit}};
  7854 +
  7855 + v_ae1.start(f_CSE_ANNC_UPD_013(int9, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Group
  7856 + v_ae1.done;
  7857 +
  7858 + if(getverdict == pass){
  7859 + v_responsePrimitive := f_getResponsePrimitive(v_ae1);
  7860 + if(ispresent(v_responsePrimitive.primitiveContent)) {
  7861 + if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
  7862 + if(ispresent(v_responsePrimitive.primitiveContent.group_.announcedAttribute)){
  7863 + setverdict(fail, __SCOPE__ & ": Error: announcedAttribute attribute is not set to NULL");
  7864 + }
  7865 + }
  7866 + }
  7867 +
  7868 + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
  7869 +
  7870 + //Check that the resource has been udpated correctly
  7871 + if(ischosen(v_primitiveContentRetrieveResource.group_)) {
  7872 + if(ispresent(v_primitiveContentRetrieveResource.group_.announcedAttribute)){
  7873 + setverdict(fail, __SCOPE__ & ": Error: announcedAttribute attribute not updated correctly");
  7874 + }
  7875 + }
  7876 + }
  7877 + }
  7878 +
  7879 + }// end group g_CSE_ANNC_UPD_013
7462 7880  
7463 7881 }//end group Update
7464 7882  
... ...