Commit 6733eb0c6fabf254ff00373b858607665036c5e8

Authored by Miguel Angel Reina Ortega
1 parent 33c0287b

New TCs implemented for rcn related TPs

According to:
- TDE-2019-0013
- TDE-2019-0012

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
@@ -3868,7 +3868,7 @@ module OneM2M_Templates { @@ -3868,7 +3868,7 @@ module OneM2M_Templates {
3868 } 3868 }
3869 3869
3870 template AccessControlPolicy_optional mw_contentAcp_rc8 modifies m_contentAcp_allOmit := { 3870 template AccessControlPolicy_optional mw_contentAcp_rc8 modifies m_contentAcp_allOmit := {
3871 - choice := {childResource_list := ?} //O 3871 + choice := {choice_list := ?} //O
3872 } 3872 }
3873 3873
3874 template Group_optional mw_contentGroupBase := { 3874 template Group_optional mw_contentGroupBase := {
@@ -4003,7 +4003,7 @@ module OneM2M_Templates { @@ -4003,7 +4003,7 @@ module OneM2M_Templates {
4003 } 4003 }
4004 4004
4005 template Group_optional mw_contentGroup_rc8 modifies m_contentGroup_allOmit := { 4005 template Group_optional mw_contentGroup_rc8 modifies m_contentGroup_allOmit := {
4006 - choice := {childResource_list := ?} //O 4006 + choice := {choice_list := ?} //O
4007 } 4007 }
4008 4008
4009 template MgmtCmd_optional m_contentMgmtCmd_allOmit := { 4009 template MgmtCmd_optional m_contentMgmtCmd_allOmit := {
@@ -4270,7 +4270,7 @@ module OneM2M_Templates { @@ -4270,7 +4270,7 @@ module OneM2M_Templates {
4270 } 4270 }
4271 4271
4272 template Schedule_optional mw_contentSchedule_rc8 modifies m_contentSchedule_allOmit := { 4272 template Schedule_optional mw_contentSchedule_rc8 modifies m_contentSchedule_allOmit := {
4273 - choice := {childResource_list := ?} //O 4273 + choice := {choice_list := ?} //O
4274 } 4274 }
4275 4275
4276 template StatsCollect_optional m_contentStatsCollect_allOmit := { 4276 template StatsCollect_optional m_contentStatsCollect_allOmit := {
@@ -4453,7 +4453,7 @@ module OneM2M_Templates { @@ -4453,7 +4453,7 @@ module OneM2M_Templates {
4453 } 4453 }
4454 4454
4455 template Subscription_optional mw_contentSubscription_rc8 modifies m_contentSubscription_allOmit := { 4455 template Subscription_optional mw_contentSubscription_rc8 modifies m_contentSubscription_allOmit := {
4456 - choice := {childResource_list := ?} //O 4456 + choice := {choice_list := ?} //O
4457 } 4457 }
4458 4458
4459 template ContentInstance_optional mw_contentContentInstanceBase := { 4459 template ContentInstance_optional mw_contentContentInstanceBase := {
@@ -4654,7 +4654,7 @@ module OneM2M_Templates { @@ -4654,7 +4654,7 @@ module OneM2M_Templates {
4654 } 4654 }
4655 4655
4656 template Container_optional mw_contentContainer_rc8 modifies m_contentContainer_allOmit := { 4656 template Container_optional mw_contentContainer_rc8 modifies m_contentContainer_allOmit := {
4657 - choice := {childResource_list := ?} //O 4657 + choice := {choice_list := ?} //O
4658 } 4658 }
4659 4659
4660 template Notification m_contentNotification_allOmit := { 4660 template Notification m_contentNotification_allOmit := {
@@ -4876,7 +4876,7 @@ module OneM2M_Templates { @@ -4876,7 +4876,7 @@ module OneM2M_Templates {
4876 } 4876 }
4877 4877
4878 template TimeSeries_optional mw_contentTimeSeries_rc8 modifies m_contentTimeSeries_allOmit := { 4878 template TimeSeries_optional mw_contentTimeSeries_rc8 modifies m_contentTimeSeries_allOmit := {
4879 - choice := {childResource_list := ?} //O 4879 + choice := {choice_list := ?} //O
4880 } 4880 }
4881 4881
4882 4882
@@ -2966,7 +2966,121 @@ module OneM2M_PermutationFunctions { @@ -2966,7 +2966,121 @@ module OneM2M_PermutationFunctions {
2966 2966
2967 }//end f_CSE_DMR_CRE_018 2967 }//end f_CSE_DMR_CRE_018
2968 2968
2969 - function f_CSE_DMR_CRE_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseSimu{ 2969 + function f_CSE_DMR_CRE_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu {
  2970 +
  2971 + // Local variables
  2972 + var MsgIn v_response;
  2973 + var RequestPrimitive v_request;
  2974 + var integer v_aeIndex := -1;
  2975 + var integer v_ae2Index := -1;
  2976 +
  2977 + // Test control
  2978 +
  2979 + // Test component configuration
  2980 + f_cf01Up(true);
  2981 +
  2982 + // Test adapter configuration
  2983 +
  2984 + // Preamble
  2985 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  2986 +
  2987 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
  2988 +
  2989 + // Test Body
  2990 + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
  2991 + v_request.resultContent := int1;//Attributes
  2992 +
  2993 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  2994 + tc_ac.start;
  2995 + alt {
  2996 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response {
  2997 + tc_ac.stop;
  2998 + setverdict(pass, __SCOPE__ & ": Only attributes provided with RC set to 1");
  2999 +
  3000 + }
  3001 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
  3002 + tc_ac.stop;
  3003 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  3004 + }
  3005 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  3006 + tc_ac.stop;
  3007 + setverdict(fail, __SCOPE__ & ": Wrong content provided with RC set to 1");
  3008 + }
  3009 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  3010 + tc_ac.stop;
  3011 + setverdict(fail, __SCOPE__ & ": Error while creating resource");
  3012 + }
  3013 + [] tc_ac.timeout {
  3014 + setverdict(fail, __SCOPE__ & ": No answer while creating resource");
  3015 + }
  3016 + }
  3017 +
  3018 + // Postamble
  3019 + f_cse_postamble_deleteResources();
  3020 +
  3021 + // Tear down
  3022 + f_cf01Down();
  3023 +
  3024 + }//end f_CSE_DMR_CRE_019
  3025 +
  3026 + function f_CSE_DMR_CRE_020(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu {
  3027 +
  3028 + // Local variables
  3029 + var MsgIn v_response;
  3030 + var RequestPrimitive v_request;
  3031 + var integer v_aeIndex := -1;
  3032 + var integer v_ae2Index := -1;
  3033 +
  3034 + // Test control
  3035 +
  3036 + // Test component configuration
  3037 + f_cf01Up(true);
  3038 +
  3039 + // Test adapter configuration
  3040 +
  3041 + // Preamble
  3042 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  3043 +
  3044 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
  3045 +
  3046 + // Test Body
  3047 + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
  3048 + v_request.resultContent := int9;//Modified Attributes
  3049 +
  3050 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  3051 + tc_ac.start;
  3052 + alt {
  3053 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response {
  3054 + tc_ac.stop;
  3055 + setverdict(pass, __SCOPE__ & ": Only modified attributes provided with RC set to 9");
  3056 +
  3057 + }
  3058 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
  3059 + tc_ac.stop;
  3060 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  3061 + }
  3062 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  3063 + tc_ac.stop;
  3064 + setverdict(fail, __SCOPE__ & ": Wrong content provided with RC set to 9");
  3065 + }
  3066 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  3067 + tc_ac.stop;
  3068 + setverdict(fail, __SCOPE__ & ": Error while creating resource");
  3069 + }
  3070 + [] tc_ac.timeout {
  3071 + setverdict(fail, __SCOPE__ & ": No answer while creating resource");
  3072 + }
  3073 + }
  3074 +
  3075 + // Postamble
  3076 + f_cse_postamble_deleteResources();
  3077 +
  3078 + // Tear down
  3079 + f_cf01Down();
  3080 +
  3081 + }//end f_CSE_DMR_CRE_020
  3082 +
  3083 + function f_CSE_DMR_CRE_021(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseSimu{
2970 3084
2971 // Local variables 3085 // Local variables
2972 var MsgIn v_response; 3086 var MsgIn v_response;
@@ -3028,9 +3142,9 @@ module OneM2M_PermutationFunctions { @@ -3028,9 +3142,9 @@ module OneM2M_PermutationFunctions {
3028 // Tear down 3142 // Tear down
3029 f_cf04Down(); 3143 f_cf04Down();
3030 3144
3031 - }//end f_CSE_DMR_CRE_019 3145 + }//end f_CSE_DMR_CRE_021
3032 3146
3033 - function f_CSE_DMR_CRE_020(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu { 3147 + function f_CSE_DMR_CRE_022(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu {
3034 3148
3035 // Local variables 3149 // Local variables
3036 var MsgIn v_response; 3150 var MsgIn v_response;
@@ -3067,9 +3181,9 @@ module OneM2M_PermutationFunctions { @@ -3067,9 +3181,9 @@ module OneM2M_PermutationFunctions {
3067 // Tear down 3181 // Tear down
3068 f_cf02Down(); 3182 f_cf02Down();
3069 3183
3070 - }//end f_CSE_DMR_CRE_020 3184 + }//end f_CSE_DMR_CRE_022
3071 3185
3072 - function f_CSE_DMR_CRE_021(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu{ 3186 + function f_CSE_DMR_CRE_023(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu{
3073 3187
3074 // Local variables 3188 // Local variables
3075 var MsgIn v_anncRequest; 3189 var MsgIn v_anncRequest;
@@ -3122,7 +3236,7 @@ module OneM2M_PermutationFunctions { @@ -3122,7 +3236,7 @@ module OneM2M_PermutationFunctions {
3122 3236
3123 //return v_anncRequest.primitive.requestPrimitive; 3237 //return v_anncRequest.primitive.requestPrimitive;
3124 3238
3125 - }//end f_CSE_DMR_CRE_021 3239 + }//end f_CSE_DMR_CRE_023
3126 3240
3127 }//end group Create 3241 }//end group Create
3128 3242
@@ -5457,108 +5571,367 @@ module OneM2M_PermutationFunctions { @@ -5457,108 +5571,367 @@ module OneM2M_PermutationFunctions {
5457 f_cf02DownCseSimuMaster(); 5571 f_cf02DownCseSimuMaster();
5458 5572
5459 }//end f_CSE_DMR_UPD_018 5573 }//end f_CSE_DMR_UPD_018
  5574 +
  5575 + function f_CSE_DMR_UPD_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, ResultContent p_resultContent) runs on AeSimu {
  5576 +
  5577 + // Local variables
  5578 + var MsgIn v_response;
  5579 + var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
  5580 + var integer v_aeIndex := -1;
  5581 + var integer v_resourceIndex := -1;
  5582 +
  5583 + // Test control
  5584 +
  5585 + // Test component configuration
  5586 + f_cf01Up();
  5587 +
  5588 + // Test adapter configuration
  5589 +
  5590 + // Preamble
  5591 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  5592 +
  5593 + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
  5594 +
  5595 + // Test Body
  5596 + v_updateRequest.primitiveContent.container.labels := {"VALUE_1"};
  5597 + v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, v_updateRequest);
  5598 + v_updateRequest.resultContent := p_resultContent;
  5599 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_updateRequest)));
  5600 + tc_ac.start;
  5601 + alt {
  5602 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST
  5603 + tc_ac.stop;
  5604 + setverdict(pass, __SCOPE__ & ": Request successfully rejected");
  5605 + }
  5606 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  5607 + tc_ac.stop;
  5608 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  5609 + }
  5610 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  5611 + tc_ac.stop;
  5612 + setverdict(fail, __SCOPE__ & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is impossible for a UPDATE request ");
  5613 + }
  5614 + [] tc_ac.timeout {
  5615 + setverdict(fail, __SCOPE__ & ": No answer while updating resource");
  5616 + }
  5617 + }
  5618 +
  5619 + // Postamble
  5620 + f_cse_postamble_deleteResources();
  5621 +
  5622 + // Tear down
  5623 + f_cf01Down();
  5624 +
  5625 + }//end f_CSE_DMR_UPD_019
5460 5626
5461 - }//end group Update  
5462 -  
5463 - group Delete {  
5464 -  
5465 - function f_CSE_DMR_DEL_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu { 5627 + function f_CSE_DMR_UPD_020(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
  5628 +
5466 // Local variables 5629 // Local variables
5467 var MsgIn v_response; 5630 var MsgIn v_response;
5468 var RequestPrimitive v_request; 5631 var RequestPrimitive v_request;
5469 var integer v_aeIndex := -1; 5632 var integer v_aeIndex := -1;
5470 - var integer v_parentIndex := -1;  
5471 - var integer v_containerIndex := -1;  
5472 - var integer v_resourceIndex := -1;  
5473 var integer v_ae2Index := -1; 5633 var integer v_ae2Index := -1;
5474 - 5634 + var integer v_resourceIndex := -1;
  5635 + var integer v_childResourceIndex := -1;
  5636 +
5475 // Test control 5637 // Test control
5476 - 5638 +
5477 // Test component configuration 5639 // Test component configuration
5478 f_cf01Up(true); 5640 f_cf01Up(true);
5479 - 5641 +
5480 // Test adapter configuration 5642 // Test adapter configuration
5481 - 5643 +
5482 // Preamble 5644 // Preamble
5483 - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi)  
5484 -  
5485 - f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);  
5486 -  
5487 - if(p_resourceType == int4) {  
5488 - v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);  
5489 - v_parentIndex := v_containerIndex;  
5490 - }else{  
5491 - v_parentIndex := v_aeIndex; 5645 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  5646 +
  5647 + if(isvalue(p_childResourceType)) {
  5648 + if(valueof(p_childResourceType) == int23) {
  5649 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
  5650 + } else {
  5651 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
  5652 + }
  5653 + }
  5654 +
  5655 + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
  5656 +
  5657 + if(p_resourceType != int15) {
  5658 + v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);
5492 } 5659 }
5493 -  
5494 - v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex);  
5495 - 5660 +
5496 // Test Body 5661 // Test Body
5497 - v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));  
5498 - 5662 + v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
  5663 + v_request.resultContent := int0;//Nothing
5499 mcaPort.send(f_getMsgOutPrimitive(m_request(v_request))); 5664 mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
5500 tc_ac.start; 5665 tc_ac.start;
5501 alt { 5666 alt {
5502 - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { 5667 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004, omit))) -> value v_response {
5503 tc_ac.stop; 5668 tc_ac.stop;
5504 - setverdict(pass, __SCOPE__ & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully"); 5669 + setverdict(pass, __SCOPE__ & ": Nothing provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
5505 } 5670 }
5506 - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { 5671 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
5507 tc_ac.stop; 5672 tc_ac.stop;
5508 setverdict(fail, __SCOPE__ & ": Wrong response status code"); 5673 setverdict(fail, __SCOPE__ & ": Wrong response status code");
5509 } 5674 }
5510 - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { 5675 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
5511 tc_ac.stop; 5676 tc_ac.stop;
5512 - setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(p_resourceType))); 5677 + setverdict(fail, __SCOPE__ & ": Some content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  5678 + }
  5679 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  5680 + tc_ac.stop;
  5681 + setverdict(fail, __SCOPE__ & ": Error while updating resource");
5513 } 5682 }
5514 [] tc_ac.timeout { 5683 [] tc_ac.timeout {
5515 - setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); 5684 + setverdict(fail, __SCOPE__ & ": No answer while updating resource");
5516 } 5685 }
5517 } 5686 }
5518 5687
5519 - f_checkAeSimuStatus();  
5520 -  
5521 - //Check to see if the resource is present or not  
5522 - if (f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))){  
5523 - setverdict(pass, __SCOPE__ & ":INFO: Resource deleted");  
5524 - } else {  
5525 - setverdict(fail, __SCOPE__ & ":ERROR: Resource not deleted");  
5526 - }  
5527 -  
5528 // Postamble 5688 // Postamble
5529 f_cse_postamble_deleteResources(); 5689 f_cse_postamble_deleteResources();
5530 - 5690 +
5531 // Tear down 5691 // Tear down
5532 f_cf01Down(); 5692 f_cf01Down();
5533 -  
5534 - };//end f_CSE_DMR_DEL_001  
5535 -  
5536 - function f_CSE_DMR_DEL_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu { 5693 +
  5694 + }//end f_CSE_DMR_UPD_020
  5695 +
  5696 + function f_CSE_DMR_UPD_021(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
  5697 +
5537 // Local variables 5698 // Local variables
5538 var MsgIn v_response; 5699 var MsgIn v_response;
5539 var RequestPrimitive v_request; 5700 var RequestPrimitive v_request;
5540 - var RequestPrimitive v_updateRequest;  
5541 - var integer v_acpAuxIndex := -1;  
5542 var integer v_aeIndex := -1; 5701 var integer v_aeIndex := -1;
5543 - var integer v_resourceIndex := -1;  
5544 var integer v_ae2Index := -1; 5702 var integer v_ae2Index := -1;
5545 - var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_AE_ID}, int63));  
5546 - var AccessControlRule v_accessControlRule_2;  
5547 - var SetOfAcrs v_setOfArcs;  
5548 - 5703 + var integer v_resourceIndex := -1;
  5704 + var integer v_childResourceIndex := -1;
  5705 +
5549 // Test control 5706 // Test control
5550 - if(not(PICS_ACP_SUPPORT)) {  
5551 - setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");  
5552 - stop;  
5553 - }  
5554 - 5707 +
5555 // Test component configuration 5708 // Test component configuration
5556 f_cf01Up(true); 5709 f_cf01Up(true);
5557 - 5710 +
5558 // Test adapter configuration 5711 // Test adapter configuration
5559 - 5712 +
5560 // Preamble 5713 // Preamble
5561 - v_acpAuxIndex := f_cse_preamble_createAcpAux(-,-);//c_CRDNDi); 5714 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  5715 +
  5716 + if(isvalue(p_childResourceType)) {
  5717 + if(valueof(p_childResourceType) == int23) {
  5718 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
  5719 + } else {
  5720 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
  5721 + }
  5722 + }
  5723 +
  5724 + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
  5725 +
  5726 + if(p_resourceType != int15) {
  5727 + v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);
  5728 + }
  5729 +
  5730 + // Test Body
  5731 + v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
  5732 + v_request.resultContent := int1;//Attributes
  5733 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  5734 + tc_ac.start;
  5735 + alt {
  5736 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004, p_contentResponse))) -> value v_response {
  5737 + tc_ac.stop;
  5738 + setverdict(pass, __SCOPE__ & ": All attributes provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  5739 + }
  5740 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
  5741 + tc_ac.stop;
  5742 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  5743 + }
  5744 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  5745 + tc_ac.stop;
  5746 + setverdict(fail, __SCOPE__ & ": Wrong content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  5747 + }
  5748 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  5749 + tc_ac.stop;
  5750 + setverdict(fail, __SCOPE__ & ": Error while updating resource");
  5751 + }
  5752 + [] tc_ac.timeout {
  5753 + setverdict(fail, __SCOPE__ & ": No answer while updating resource");
  5754 + }
  5755 + }
  5756 +
  5757 + // Postamble
  5758 + f_cse_postamble_deleteResources();
  5759 +
  5760 + // Tear down
  5761 + f_cf01Down();
  5762 +
  5763 + }//end f_CSE_DMR_UPD_021
  5764 +
  5765 + function f_CSE_DMR_UPD_022(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
  5766 +
  5767 + // Local variables
  5768 + var MsgIn v_response;
  5769 + var RequestPrimitive v_request;
  5770 + var integer v_aeIndex := -1;
  5771 + var integer v_ae2Index := -1;
  5772 + var integer v_resourceIndex := -1;
  5773 + var integer v_childResourceIndex := -1;
  5774 +
  5775 + // Test control
  5776 +
  5777 + // Test component configuration
  5778 + f_cf01Up(true);
  5779 +
  5780 + // Test adapter configuration
  5781 +
  5782 + // Preamble
  5783 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  5784 +
  5785 + if(isvalue(p_childResourceType)) {
  5786 + if(valueof(p_childResourceType) == int23) {
  5787 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
  5788 + } else {
  5789 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
  5790 + }
  5791 + }
  5792 +
  5793 + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
  5794 +
  5795 + if(p_resourceType != int15) {
  5796 + v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);
  5797 + }
  5798 +
  5799 + // Test Body
  5800 + v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
  5801 + v_request.resultContent := int9;//Modified Attributes
  5802 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  5803 + tc_ac.start;
  5804 + alt {
  5805 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004, p_contentResponse))) -> value v_response {
  5806 + tc_ac.stop;
  5807 + setverdict(pass, __SCOPE__ & ": Only modified attributes provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  5808 + }
  5809 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
  5810 + tc_ac.stop;
  5811 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  5812 + }
  5813 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  5814 + tc_ac.stop;
  5815 + setverdict(fail, __SCOPE__ & ": Wrong content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  5816 + }
  5817 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  5818 + tc_ac.stop;
  5819 + setverdict(fail, __SCOPE__ & ": Error while updating resource");
  5820 + }
  5821 + [] tc_ac.timeout {
  5822 + setverdict(fail, __SCOPE__ & ": No answer while updating resource");
  5823 + }
  5824 + }
  5825 +
  5826 + // Postamble
  5827 + f_cse_postamble_deleteResources();
  5828 +
  5829 + // Tear down
  5830 + f_cf01Down();
  5831 +
  5832 + }//end f_CSE_DMR_UPD_022
  5833 +
  5834 + }//end group Update
  5835 +
  5836 + group Delete {
  5837 +
  5838 + function f_CSE_DMR_DEL_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu {
  5839 + // Local variables
  5840 + var MsgIn v_response;
  5841 + var RequestPrimitive v_request;
  5842 + var integer v_aeIndex := -1;
  5843 + var integer v_parentIndex := -1;
  5844 + var integer v_containerIndex := -1;
  5845 + var integer v_resourceIndex := -1;
  5846 + var integer v_ae2Index := -1;
  5847 +
  5848 + // Test control
  5849 +
  5850 + // Test component configuration
  5851 + f_cf01Up(true);
  5852 +
  5853 + // Test adapter configuration
  5854 +
  5855 + // Preamble
  5856 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi)
  5857 +
  5858 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
  5859 +
  5860 + if(p_resourceType == int4) {
  5861 + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
  5862 + v_parentIndex := v_containerIndex;
  5863 + }else{
  5864 + v_parentIndex := v_aeIndex;
  5865 + }
  5866 +
  5867 + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex);
  5868 +
  5869 + // Test Body
  5870 + v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
  5871 +
  5872 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  5873 + tc_ac.start;
  5874 + alt {
  5875 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response {
  5876 + tc_ac.stop;
  5877 + setverdict(pass, __SCOPE__ & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully");
  5878 + }
  5879 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  5880 + tc_ac.stop;
  5881 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  5882 + }
  5883 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
  5884 + tc_ac.stop;
  5885 + setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(p_resourceType)));
  5886 + }
  5887 + [] tc_ac.timeout {
  5888 + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType)));
  5889 + }
  5890 + }
  5891 +
  5892 + f_checkAeSimuStatus();
  5893 +
  5894 + //Check to see if the resource is present or not
  5895 + if (f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))){
  5896 + setverdict(pass, __SCOPE__ & ":INFO: Resource deleted");
  5897 + } else {
  5898 + setverdict(fail, __SCOPE__ & ":ERROR: Resource not deleted");
  5899 + }
  5900 +
  5901 + // Postamble
  5902 + f_cse_postamble_deleteResources();
  5903 +
  5904 + // Tear down
  5905 + f_cf01Down();
  5906 +
  5907 + };//end f_CSE_DMR_DEL_001
  5908 +
  5909 + function f_CSE_DMR_DEL_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu {
  5910 + // Local variables
  5911 + var MsgIn v_response;
  5912 + var RequestPrimitive v_request;
  5913 + var RequestPrimitive v_updateRequest;
  5914 + var integer v_acpAuxIndex := -1;
  5915 + var integer v_aeIndex := -1;
  5916 + var integer v_resourceIndex := -1;
  5917 + var integer v_ae2Index := -1;
  5918 + var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_AE_ID}, int63));
  5919 + var AccessControlRule v_accessControlRule_2;
  5920 + var SetOfAcrs v_setOfArcs;
  5921 +
  5922 + // Test control
  5923 + if(not(PICS_ACP_SUPPORT)) {
  5924 + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");
  5925 + stop;
  5926 + }
  5927 +
  5928 + // Test component configuration
  5929 + f_cf01Up(true);
  5930 +
  5931 + // Test adapter configuration
  5932 +
  5933 + // Preamble
  5934 + v_acpAuxIndex := f_cse_preamble_createAcpAux(-,-);//c_CRDNDi);
5562 v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRUNDi); 5935 v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRUNDi);
5563 5936
5564 f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); 5937 f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
@@ -5815,9 +6188,267 @@ module OneM2M_PermutationFunctions { @@ -5815,9 +6188,267 @@ module OneM2M_PermutationFunctions {
5815 // Tear down 6188 // Tear down
5816 f_cf01Down(); 6189 f_cf01Down();
5817 };//end f_CSE_DMR_DEL_006 6190 };//end f_CSE_DMR_DEL_006
5818 - 6191 +
  6192 + function f_CSE_DMR_DEL_011(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, ResultContent p_resultContent) runs on AeSimu {
  6193 +
  6194 + // Local variables
  6195 + var MsgIn v_response;
  6196 + var RequestPrimitive v_request;
  6197 + var integer v_aeIndex := -1;
  6198 + var integer v_resourceIndex := -1;
  6199 +
  6200 + // Test control
  6201 +
  6202 + // Test component configuration
  6203 + f_cf01Up();
  6204 +
  6205 + // Test adapter configuration
  6206 +
  6207 + // Preamble
  6208 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  6209 +
  6210 + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
  6211 +
  6212 + // Test Body
  6213 + v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
  6214 + v_request.resultContent := p_resultContent;
  6215 +
  6216 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  6217 + tc_ac.start;
  6218 + alt {
  6219 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST
  6220 + tc_ac.stop;
  6221 + setverdict(pass, __SCOPE__ & ": Request successfully rejected");
  6222 + }
  6223 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  6224 + tc_ac.stop;
  6225 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  6226 + }
  6227 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  6228 + tc_ac.stop;
  6229 + setverdict(fail, __SCOPE__ & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is impossible for a DELETE request ");
  6230 + }
  6231 + [] tc_ac.timeout {
  6232 + setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
  6233 + }
  6234 + }
  6235 +
  6236 + // Postamble
  6237 + f_cse_postamble_deleteResources();
  6238 +
  6239 + // Tear down
  6240 + f_cf01Down();
  6241 +
  6242 + }//end f_CSE_DMR_DEL_011
  6243 +
  6244 + function f_CSE_DMR_DEL_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu {
  6245 +
  6246 + // Local variables
  6247 + var MsgIn v_response;
  6248 + var RequestPrimitive v_request;
  6249 + var integer v_aeIndex := -1;
  6250 + var integer v_ae2Index := -1;
  6251 + var integer v_resourceIndex := -1;
  6252 + var integer v_childResourceIndex := -1;
  6253 +
  6254 + // Test control
  6255 +
  6256 + // Test component configuration
  6257 + f_cf01Up(true);
  6258 +
  6259 + // Test adapter configuration
  6260 +
  6261 + // Preamble
  6262 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  6263 +
  6264 + if(isvalue(p_childResourceType)) {
  6265 + if(valueof(p_childResourceType) == int23) {
  6266 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
  6267 + } else {
  6268 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
  6269 + }
  6270 + }
  6271 +
  6272 + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
  6273 +
  6274 + if(p_resourceType != int15) {
  6275 + v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);
  6276 + }
  6277 +
  6278 + // Test Body
  6279 + v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
  6280 + v_request.resultContent := int0;//Nothing
  6281 +
  6282 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  6283 + tc_ac.start;
  6284 + alt {
  6285 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002, omit))) -> value v_response {
  6286 + tc_ac.stop;
  6287 + setverdict(pass, __SCOPE__ & ": Nothing provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  6288 + }
  6289 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
  6290 + tc_ac.stop;
  6291 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  6292 + }
  6293 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  6294 + tc_ac.stop;
  6295 + setverdict(fail, __SCOPE__ & ": Some content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  6296 + }
  6297 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  6298 + tc_ac.stop;
  6299 + setverdict(fail, __SCOPE__ & ": Error while deleting resource");
  6300 + }
  6301 + [] tc_ac.timeout {
  6302 + setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
  6303 + }
  6304 + }
  6305 +
  6306 + // Postamble
  6307 + f_cse_postamble_deleteResources();
  6308 +
  6309 + // Tear down
  6310 + f_cf01Down();
  6311 +
  6312 + }//end f_CSE_DMR_DEL_012
  6313 +
  6314 + function f_CSE_DMR_DEL_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu {
  6315 +
  6316 + // Local variables
  6317 + var MsgIn v_response;
  6318 + var RequestPrimitive v_request;
  6319 + var integer v_aeIndex := -1;
  6320 + var integer v_ae2Index := -1;
  6321 + var integer v_resourceIndex := -1;
  6322 + var integer v_childResourceIndex := -1;
  6323 +
  6324 + // Test control
  6325 +
  6326 + // Test component configuration
  6327 + f_cf01Up(true);
  6328 +
  6329 + // Test adapter configuration
  6330 +
  6331 + // Preamble
  6332 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  6333 +
  6334 + if(isvalue(p_childResourceType)) {
  6335 + if(valueof(p_childResourceType) == int23) {
  6336 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
  6337 + } else {
  6338 + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
  6339 + }
  6340 + }
  6341 +
  6342 + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
  6343 +
  6344 + if(p_resourceType != int15) {
  6345 + v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);
  6346 + }
  6347 +
  6348 + // Test Body
  6349 + v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
  6350 + v_request.resultContent := int1;//Attributes
  6351 +
  6352 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  6353 + tc_ac.start;
  6354 + alt {
  6355 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002, p_contentResponse))) -> value v_response {
  6356 + tc_ac.stop;
  6357 + setverdict(pass, __SCOPE__ & ": All attributes provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  6358 + }
  6359 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
  6360 + tc_ac.stop;
  6361 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  6362 + }
  6363 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  6364 + tc_ac.stop;
  6365 + setverdict(fail, __SCOPE__ & ": Wrong content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
  6366 + }
  6367 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  6368 + tc_ac.stop;
  6369 + setverdict(fail, __SCOPE__ & ": Error while deleting resource");
  6370 + }
  6371 + [] tc_ac.timeout {
  6372 + setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
  6373 + }
  6374 + }
  6375 +
  6376 + // Postamble
  6377 + f_cse_postamble_deleteResources();
  6378 +
  6379 + // Tear down
  6380 + f_cf01Down();
  6381 +
  6382 + }//end f_CSE_DMR_DEL_013
  6383 +
5819 }//end group Delete 6384 }//end group Delete
5820 6385
  6386 + group Notify {
  6387 +
  6388 + function f_CSE_DMR_NTF_001(ResultContent p_resultContent) runs on AeSimu {
  6389 +
  6390 + // Local variables
  6391 + var MsgIn v_response;
  6392 + var RequestPrimitive v_request;
  6393 + var integer v_aeIndex, v_ae2Index := -1;
  6394 +
  6395 + // Test control
  6396 +
  6397 + // Test component configuration
  6398 + f_cf01Up(true);
  6399 +
  6400 + // Test adapter configuration
  6401 +
  6402 + // Preamble
  6403 + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
  6404 +
  6405 + vc_ae2.start(f_cse_createAccessControlPolicyAux("Ae2Acp",{"all"}, int63));
  6406 + f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
  6407 +
  6408 + vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, c_defaultAE2Name, {f_getCompletePoA("HTTP", PX_AE2_ADDRESS, "")}), -1)); // AE2 is registred
  6409 + f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
  6410 +
  6411 + v_ae2Index := f_getLatestResource(vc_ae2);
  6412 +
  6413 + // Test Body
  6414 + v_request := valueof(m_notifyNotification(f_getResourceAddress(v_ae2Index), m_contentNotification_subscriptionVerification(vc_resourcesList[v_ae2Index].resource.aE.aE_ID)));
  6415 + v_request.from_ := f_getOriginator(v_aeIndex, e_ae);
  6416 + v_request.resultContent := p_resultContent;
  6417 +
  6418 + vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
  6419 +
  6420 + mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
  6421 + tc_ac.start;
  6422 + alt {
  6423 + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST
  6424 + tc_ac.stop;
  6425 + setverdict(pass, __SCOPE__ & ": Request successfully rejected");
  6426 + }
  6427 + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
  6428 + tc_ac.stop;
  6429 + setverdict(fail, __SCOPE__ & ": Wrong response status code");
  6430 + }
  6431 + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
  6432 + tc_ac.stop;
  6433 + setverdict(fail, __SCOPE__ & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is not valid for a NOTIFY request ");
  6434 + }
  6435 + [] tc_ac.timeout {
  6436 + setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
  6437 + }
  6438 + }
  6439 +
  6440 + f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
  6441 +
  6442 + // Postamble
  6443 + f_cse_postamble_deleteResources();
  6444 +
  6445 + // Tear down
  6446 + f_cf01Down();
  6447 +
  6448 + }//end f_CSE_DMR_NTF_001
  6449 +
  6450 + }//end group Notify
  6451 +
5821 }//end group Data_Management_and_Repository 6452 }//end group Data_Management_and_Repository
5822 6453
5823 group Location { 6454 group Location {
@@ -816,7 +816,152 @@ module OneM2M_Testcases_CSE_Release_2 { @@ -816,7 +816,152 @@ module OneM2M_Testcases_CSE_Release_2 {
816 v_ae1.start(f_CSE_DMR_CRE_018(int8));//ResultContent = 8 (child resources) 816 v_ae1.start(f_CSE_DMR_CRE_018(int8));//ResultContent = 8 (child resources)
817 v_ae1.done; 817 v_ae1.done;
818 } 818 }
819 - } // end g_CSE_DMR_CRE_018 819 + } // end g_CSE_DMR_CRE_018
  820 +
  821 + group g_CSE_DMR_CRE_019 {
  822 + /**
  823 + * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the ResultContent set to 1 (Attributes)
  824 + *
  825 + */
  826 + testcase TC_CSE_DMR_CRE_019_CNT() runs on Tester system CseSystem {
  827 + // Local variables
  828 + var template PrimitiveContent v_contentResponse;
  829 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  830 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  831 + v_ae1.done;
  832 +
  833 + v_contentResponse.container := mw_contentContainer_rc1;
  834 +
  835 + v_ae1.start(f_CSE_DMR_CRE_019(int3, m_createContainerBase, v_contentResponse));//Container
  836 + v_ae1.done;
  837 + }
  838 +
  839 + testcase TC_CSE_DMR_CRE_019_GRP() runs on Tester system CseSystem {
  840 + // Local variables
  841 + var template PrimitiveContent v_contentResponse;
  842 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  843 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  844 + v_ae1.done;
  845 +
  846 + v_contentResponse.group_ := mw_contentGroup_rc1;
  847 +
  848 + v_ae1.start(f_CSE_DMR_CRE_019(int9, m_createGroupBase, v_contentResponse));//Group
  849 + v_ae1.done;
  850 + }
  851 +
  852 + testcase TC_CSE_DMR_CRE_019_ACP() runs on Tester system CseSystem {
  853 + // Local variables
  854 + var template PrimitiveContent v_contentResponse;
  855 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  856 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  857 + v_ae1.done;
  858 +
  859 + v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
  860 +
  861 + v_ae1.start(f_CSE_DMR_CRE_019(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy
  862 + v_ae1.done;
  863 + }
  864 +
  865 + testcase TC_CSE_DMR_CRE_019_SUB() runs on Tester system CseSystem {
  866 + // Local variables
  867 + var template PrimitiveContent v_contentResponse;
  868 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  869 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  870 + v_ae1.done;
  871 +
  872 + v_contentResponse.subscription := mw_contentSubscription_rc1;
  873 +
  874 + v_ae1.start(f_CSE_DMR_CRE_019(int23, m_createSubscriptionBase, v_contentResponse));//Subscription
  875 + v_ae1.done;
  876 + }
  877 +
  878 + testcase TC_CSE_DMR_CRE_019_PCH() runs on Tester system CseSystem {
  879 + // Local variables
  880 + var template PrimitiveContent v_contentResponse;
  881 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  882 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  883 + v_ae1.done;
  884 +
  885 + v_contentResponse.pollingChannel := mw_contentPollingChannel_rc1;
  886 +
  887 + v_ae1.start(f_CSE_DMR_CRE_019(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel
  888 + v_ae1.done;
  889 + }
  890 +
  891 + } // end g_CSE_DMR_CRE_019
  892 +
  893 + group g_CSE_DMR_CRE_020 {
  894 +
  895 + /**
  896 + * @desc Check that the IUT returns successfully only modified attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 9 (modified attributes)
  897 + *
  898 + */
  899 + testcase TC_CSE_DMR_CRE_020_CNT() runs on Tester system CseSystem {
  900 + // Local variables
  901 + var template PrimitiveContent v_contentResponse;
  902 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  903 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  904 + v_ae1.done;
  905 +
  906 + v_contentResponse.container := mw_contentContainer_rc1;
  907 +
  908 + v_ae1.start(f_CSE_DMR_CRE_020(int3, m_createContainerBase, v_contentResponse));//Container
  909 + v_ae1.done;
  910 + }
  911 +
  912 + testcase TC_CSE_DMR_CRE_020_GRP() runs on Tester system CseSystem {
  913 + // Local variables
  914 + var template PrimitiveContent v_contentResponse;
  915 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  916 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  917 + v_ae1.done;
  918 +
  919 + v_contentResponse.group_ := mw_contentGroup_rc1;
  920 +
  921 + v_ae1.start(f_CSE_DMR_CRE_020(int9, m_createGroupBase, v_contentResponse));//Group
  922 + v_ae1.done;
  923 + }
  924 +
  925 + testcase TC_CSE_DMR_CRE_020_ACP() runs on Tester system CseSystem {
  926 + // Local variables
  927 + var template PrimitiveContent v_contentResponse;
  928 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  929 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  930 + v_ae1.done;
  931 +
  932 + v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
  933 +
  934 + v_ae1.start(f_CSE_DMR_CRE_020(int1, m_createAcpBase,v_contentResponse));//AccessControlPolicy
  935 + v_ae1.done;
  936 + }
  937 +
  938 + testcase TC_CSE_DMR_CRE_020_SUB() runs on Tester system CseSystem {
  939 + // Local variables
  940 + var template PrimitiveContent v_contentResponse;
  941 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  942 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  943 + v_ae1.done;
  944 +
  945 + v_contentResponse.subscription := mw_contentSubscription_rc1;
  946 +
  947 + v_ae1.start(f_CSE_DMR_CRE_020(int23, m_createSubscriptionBase, v_contentResponse));//Subscription
  948 + v_ae1.done;
  949 + }
  950 +
  951 + testcase TC_CSE_DMR_CRE_020_PCH() runs on Tester system CseSystem {
  952 + // Local variables
  953 + var template PrimitiveContent v_contentResponse;
  954 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  955 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  956 + v_ae1.done;
  957 +
  958 + v_contentResponse.pollingChannel := mw_contentPollingChannel_rc1;
  959 +
  960 + v_ae1.start(f_CSE_DMR_CRE_020(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel
  961 + v_ae1.done;
  962 + }
  963 + } // end g_CSE_DMR_CRE_020
  964 +
820 }//end group Create 965 }//end group Create
821 966
822 group Retrieve { 967 group Retrieve {
@@ -877,6 +1022,14 @@ module OneM2M_Testcases_CSE_Release_2 { @@ -877,6 +1022,14 @@ module OneM2M_Testcases_CSE_Release_2 {
877 v_ae1.done; 1022 v_ae1.done;
878 } 1023 }
879 1024
  1025 + testcase TC_CSE_DMR_RET_020_RCN_9() runs on Tester system CseSystem {
  1026 + // Local variables
  1027 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  1028 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  1029 + v_ae1.done;
  1030 + v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int9));//ResultContent = 9 (modified attributes)
  1031 + v_ae1.done;
  1032 + }
880 } // end g_CSE_DMR_RET_020 1033 } // end g_CSE_DMR_RET_020
881 1034
882 group g_CSE_DMR_RET_021 { 1035 group g_CSE_DMR_RET_021 {
@@ -2040,31 +2193,594 @@ module OneM2M_Testcases_CSE_Release_2 { @@ -2040,31 +2193,594 @@ module OneM2M_Testcases_CSE_Release_2 {
2040 2193
2041 2194
2042 } // end g_CSE_DMR_UPD_014 2195 } // end g_CSE_DMR_UPD_014
  2196 +
  2197 + group g_CSE_DMR_UPD_019 {
  2198 +
  2199 + /**
  2200 + * @desc Check that the IUT rejects a UPDATE Request target to TARGET_RESOURCE_ADDRESS resource when the Result Content set to RESULT_CONTENT
  2201 + *
  2202 + */
  2203 + testcase TC_CSE_DMR_UPD_019_RCN_2() runs on Tester system CseSystem {
  2204 + // Local variables
  2205 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2206 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2207 + v_ae1.done;
  2208 + v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int2));//ResultContent = 2 (hierarchical address)
  2209 + v_ae1.done;
  2210 + }
  2211 +
  2212 + testcase TC_CSE_DMR_UPD_019_RCN_3() runs on Tester system CseSystem {
  2213 + // Local variables
  2214 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2215 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2216 + v_ae1.done;
  2217 + v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int3));//ResultContent = 3 (attributes and hierarchichal address)
  2218 + v_ae1.done;
  2219 + }
2043 2220
2044 - }//end group Update  
2045 -  
2046 - group Delete {  
2047 -  
2048 - group g_CSE_DMR_DEL_001{ 2221 + testcase TC_CSE_DMR_UPD_019_RCN_4() runs on Tester system CseSystem {
  2222 + // Local variables
  2223 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2224 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2225 + v_ae1.done;
  2226 + v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int4));//ResultContent = 4 (attributes and child resources)
  2227 + v_ae1.done;
  2228 + }
  2229 +
  2230 + testcase TC_CSE_DMR_UPD_019_RCN_5() runs on Tester system CseSystem {
  2231 + // Local variables
  2232 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2233 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2234 + v_ae1.done;
  2235 + v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int5));//ResultContent = 5 (attributes and child resource references)
  2236 + v_ae1.done;
  2237 + }
  2238 +
  2239 + testcase TC_CSE_DMR_UPD_019_RCN_6() runs on Tester system CseSystem {
  2240 + // Local variables
  2241 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2242 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2243 + v_ae1.done;
  2244 + v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int6));//ResultContent = 6 (child resource references)
  2245 + v_ae1.done;
  2246 + }
  2247 +
  2248 + testcase TC_CSE_DMR_UPD_019_RCN_7() runs on Tester system CseSystem {
  2249 + // Local variables
  2250 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2251 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2252 + v_ae1.done;
  2253 + v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int7));//ResultContent = 7 (original resource)
  2254 + v_ae1.done;
  2255 + }
  2256 +
  2257 + testcase TC_CSE_DMR_UPD_019_RCN_8() runs on Tester system CseSystem {
  2258 + // Local variables
  2259 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2260 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2261 + v_ae1.done;
  2262 + v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int8));//ResultContent = 8 (child resources)
  2263 + v_ae1.done;
  2264 + }
  2265 + } // end g_CSE_DMR_UPD_019
2049 2266
  2267 + group g_CSE_DMR_UPD_020 {
  2268 +
2050 /** 2269 /**
2051 - * @desc Check that the IUT accepts the deletion of a RESOURCE_TYPE resource 2270 + * @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing)
2052 * 2271 *
2053 */ 2272 */
2054 - testcase TC_CSE_DMR_DEL_001_PCH() runs on Tester system CseSystem { 2273 + testcase TC_CSE_DMR_UPD_020_CNT() runs on Tester system CseSystem {
2055 // Local variables 2274 // Local variables
2056 var AeSimu v_ae1 := AeSimu.create("AE1") alive; 2275 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2276 + var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
  2277 +
2057 v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1)); 2278 v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
2058 v_ae1.done; 2279 v_ae1.done;
2059 -  
2060 - v_ae1.start(f_CSE_DMR_DEL_001(int15, m_createPollingChannelBase));//PollingChannel 2280 + v_updateRequest.primitiveContent.container.labels := {"VALUE_1"};
  2281 +
  2282 + v_ae1.start(f_CSE_DMR_UPD_020(int3, m_createContainerBase, int3, m_createContainerBase, v_updateRequest));//Container
2061 v_ae1.done; 2283 v_ae1.done;
2062 - };  
2063 -  
2064 - };//end of group g_CSE_DMR_DEL_001  
2065 -  
2066 -  
2067 - }//end group Delete 2284 + }
  2285 +
  2286 + testcase TC_CSE_DMR_UPD_020_GRP() runs on Tester system CseSystem {
  2287 + // Local variables
  2288 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2289 + var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase);
  2290 +
  2291 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2292 + v_ae1.done;
  2293 + v_updateRequest.primitiveContent.group_.labels := {"VALUE_1"};
  2294 +
  2295 + v_ae1.start(f_CSE_DMR_UPD_020(int9, m_createGroupBase, int23, m_createSubscriptionBase, v_updateRequest));//Group
  2296 + v_ae1.done;
  2297 + }
  2298 +
  2299 + testcase TC_CSE_DMR_UPD_020_ACP() runs on Tester system CseSystem {
  2300 + // Local variables
  2301 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2302 + var RequestPrimitive v_updateRequest := valueof(m_updateAcpBase);
  2303 +
  2304 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2305 + v_ae1.done;
  2306 + v_updateRequest.primitiveContent.accessControlPolicy.labels := {"VALUE_1"};
  2307 +
  2308 + v_ae1.start(f_CSE_DMR_UPD_020(int1, m_createAcpBase, int23, m_createSubscriptionBase, v_updateRequest));//AccessControlPolicy
  2309 + v_ae1.done;
  2310 + }
  2311 +
  2312 + } // end g_CSE_DMR_UPD_020
  2313 +
  2314 + group g_CSE_DMR_UPD_021 {
  2315 +
  2316 + /**
  2317 + * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 1 (attributes)
  2318 + *
  2319 + */
  2320 + testcase TC_CSE_DMR_UPD_021_CNT() runs on Tester system CseSystem {
  2321 + // Local variables
  2322 + var AeSimu v_ae1 := AeSimu.create("AE1") alive;
  2323 + var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
  2324 + var template PrimitiveContent v_contentResponse;
  2325 +
  2326 + v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
  2327 + v_ae1.done;
  2328 + v_updateRequest.primitiveContent.container.labels := {"VALUE_1"};
  2329 + v_contentResponse := f_getTemplateFromPrimitiveContent(v_updateRequest.primitiveContent);
  2330 +
  2331 + v_ae1.start(f_CSE_DMR_UPD_021(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase, v_updateRequest));//Container
  2332 + v_ae1.done;
  2333 + }
  2334 +
  2335 + testcase TC_CSE_DMR_UPD_021_GRP() runs on Tester system CseSystem {
  2336 + // Local variables