From 6733eb0c6fabf254ff00373b858607665036c5e8 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Thu, 7 Feb 2019 16:05:56 +0100
Subject: [PATCH] New TCs implemented for rcn related TPs

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

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Templates.ttcn     |  12 +-
 OneM2M_PermutationFunctions.ttcn    | 767 +++++++++++++++++++++++++---
 OneM2M_Testcases_CSE_Release_2.ttcn | 748 ++++++++++++++++++++++++++-
 3 files changed, 1437 insertions(+), 90 deletions(-)

diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index d0a9087..43d2eaf 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -3868,7 +3868,7 @@ module OneM2M_Templates {
 		}
 		
 		template AccessControlPolicy_optional mw_contentAcp_rc8 modifies m_contentAcp_allOmit := {
-			choice := {childResource_list := ?}	//O
+			choice := {choice_list := ?}	//O
 		}
     	
 		template Group_optional mw_contentGroupBase := {
@@ -4003,7 +4003,7 @@ module OneM2M_Templates {
 		}
 		
 		template Group_optional mw_contentGroup_rc8 modifies m_contentGroup_allOmit := {
-			choice := {childResource_list := ?}	//O
+			choice := {choice_list := ?}	//O
 		}
 		
 		template MgmtCmd_optional m_contentMgmtCmd_allOmit := {
@@ -4270,7 +4270,7 @@ module OneM2M_Templates {
 		}
 		
 		template Schedule_optional mw_contentSchedule_rc8 modifies m_contentSchedule_allOmit := {
-			choice := {childResource_list := ?}	//O
+			choice := {choice_list := ?}	//O
 		}
 		
 		template StatsCollect_optional m_contentStatsCollect_allOmit := {
@@ -4453,7 +4453,7 @@ module OneM2M_Templates {
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc8 modifies m_contentSubscription_allOmit := {
-			choice := {childResource_list := ?}	//O
+			choice := {choice_list := ?}	//O
 		}
     	
 		template ContentInstance_optional mw_contentContentInstanceBase := {
@@ -4654,7 +4654,7 @@ module OneM2M_Templates {
 		}
 		
 		template Container_optional mw_contentContainer_rc8 modifies m_contentContainer_allOmit := {
-			choice := {childResource_list := ?}	//O
+			choice := {choice_list := ?}	//O
 		}
 		
 		template Notification m_contentNotification_allOmit := {
@@ -4876,7 +4876,7 @@ module OneM2M_Templates {
 		}
 		
 		template TimeSeries_optional mw_contentTimeSeries_rc8 modifies m_contentTimeSeries_allOmit := {
-			choice := {childResource_list := ?}	//O
+			choice := {choice_list := ?}	//O
 		}
 
 
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index cd148c7..6238466 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -2966,7 +2966,121 @@ module OneM2M_PermutationFunctions {
 			
 					}//end f_CSE_DMR_CRE_018
 
-					function f_CSE_DMR_CRE_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseSimu{
+					function f_CSE_DMR_CRE_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu {
+    				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_ae2Index := -1;
+											   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up(true);
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
+											
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						v_request.resultContent := int1;//Attributes
+						
+						mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Only attributes provided with RC set to 1");
+							
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong content provided with RC set to 1");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while creating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+							}
+						}	
+    								
+						// Postamble
+						f_cse_postamble_deleteResources();
+					
+						// Tear down
+						f_cf01Down();
+    				
+					}//end f_CSE_DMR_CRE_019
+
+					function f_CSE_DMR_CRE_020(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu {
+    				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_ae2Index := -1;
+											   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up(true);
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
+											
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						v_request.resultContent := int9;//Modified Attributes
+						
+						mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Only modified attributes provided with RC set to 9");
+							
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong content provided with RC set to 9");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while creating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+							}
+						}	
+    								
+						// Postamble
+						f_cse_postamble_deleteResources();
+					
+						// Tear down
+						f_cf01Down();
+    				
+					}//end f_CSE_DMR_CRE_020
+
+					function f_CSE_DMR_CRE_021(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseSimu{
 	    				
 						// Local variables
 						var MsgIn v_response;
@@ -3028,9 +3142,9 @@ module OneM2M_PermutationFunctions {
 						// Tear down
 						f_cf04Down();
 	    				
-					}//end f_CSE_DMR_CRE_019
+					}//end f_CSE_DMR_CRE_021
     				
-					function f_CSE_DMR_CRE_020(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu {
+					function f_CSE_DMR_CRE_022(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -3067,9 +3181,9 @@ module OneM2M_PermutationFunctions {
 						// Tear down
 						f_cf02Down();
     				
-					}//end f_CSE_DMR_CRE_020
+					}//end f_CSE_DMR_CRE_022
     				
-					function f_CSE_DMR_CRE_021(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu{
+					function f_CSE_DMR_CRE_023(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu{
 	
 						// Local variables
 						var MsgIn v_anncRequest;
@@ -3122,7 +3236,7 @@ module OneM2M_PermutationFunctions {
 						
 						//return v_anncRequest.primitive.requestPrimitive;
 	
-					}//end f_CSE_DMR_CRE_021
+					}//end f_CSE_DMR_CRE_023
 	
 			}//end group Create
 			
@@ -5457,108 +5571,367 @@ module OneM2M_PermutationFunctions {
 					f_cf02DownCseSimuMaster();
 
 				}//end f_CSE_DMR_UPD_018
+				
+				function f_CSE_DMR_UPD_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, ResultContent p_resultContent) runs on AeSimu {
+		
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+								   
+					// Test control
+		
+					// Test component configuration
+					f_cf01Up();
+		
+					// Test adapter configuration
+		
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		    					
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+							
+					// Test Body
+					v_updateRequest.primitiveContent.container.labels := {"VALUE_1"};
+					v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, v_updateRequest);
+					v_updateRequest.resultContent := p_resultContent;
+					mcaPort.send(f_getMsgOutPrimitive(m_request(v_updateRequest)));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Request successfully rejected");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is impossible for a UPDATE request ");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource");
+						}
+					}	
+						
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+		
+				}//end f_CSE_DMR_UPD_019
 			  	
-			}//end group Update
-			
-			group Delete {
-			
-					function f_CSE_DMR_DEL_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu {
+				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 {
+		
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
-						var integer v_parentIndex := -1;
-						var integer v_containerIndex := -1;
-						var integer v_resourceIndex := -1;
 						var integer v_ae2Index := -1;
-                							   
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
 						// Test control
-                
+		
 						// Test component configuration
 						f_cf01Up(true);
-                
+		
 						// Test adapter configuration
-                
+		
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi)
-						
-						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
-                		
-						if(p_resourceType == int4) {
-							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
-							v_parentIndex := v_containerIndex;
-						}else{
-							v_parentIndex := v_aeIndex;
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+	
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
 						}
-                												
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex); 				
-                												
+						
 						// Test Body
-						v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-						                		
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+						v_request.resultContent := int0;//Nothing
 						mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004, omit))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully");
+								setverdict(pass, __SCOPE__ & ": Nothing provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
 								tc_ac.stop;
 								setverdict(fail, __SCOPE__ & ": Wrong response status code");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(p_resourceType)));
+								setverdict(fail, __SCOPE__ & ": Some content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while updating resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType)));
+								setverdict(fail, __SCOPE__ & ": No answer while updating resource");
 							}
 						}	
 						
-						f_checkAeSimuStatus();
-    								
-						//Check to see if the resource is present or not
-						if (f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))){
-							setverdict(pass, __SCOPE__ & ":INFO: Resource deleted");
-						} else {
-							setverdict(fail, __SCOPE__ & ":ERROR: Resource not deleted");
-						}
-                					
 						// Postamble
 						f_cse_postamble_deleteResources();
-                		
+		
 						// Tear down
 						f_cf01Down();
-                							
-					};//end f_CSE_DMR_DEL_001
-                
-					function f_CSE_DMR_DEL_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu {
+		
+					}//end f_CSE_DMR_UPD_020
+
+				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 {
+		
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var RequestPrimitive v_updateRequest;
-						var integer v_acpAuxIndex := -1;
 						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
 						var integer v_ae2Index := -1;
-						var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_AE_ID}, int63));
-						var AccessControlRule v_accessControlRule_2;
-						var SetOfAcrs v_setOfArcs;
-                							   
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
 						// Test control
-						if(not(PICS_ACP_SUPPORT)) {
-							setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");
-							stop;
-						}
-                
+		
 						// Test component configuration
 						f_cf01Up(true);
-                
+		
 						// Test adapter configuration
-                
+		
 						// Preamble
-						v_acpAuxIndex := f_cse_preamble_createAcpAux(-,-);//c_CRDNDi);
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+	
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
+						}
+						
+						// Test Body
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+						v_request.resultContent := int1;//Attributes
+						mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004, p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": All attributes provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while updating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while updating resource");
+							}
+						}	
+						
+						// Postamble
+						f_cse_postamble_deleteResources();
+		
+						// Tear down
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_UPD_021
+
+				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 {
+		
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_ae2Index := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
+						// Test control
+		
+						// Test component configuration
+						f_cf01Up(true);
+		
+						// Test adapter configuration
+		
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+	
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
+						}
+						
+						// Test Body
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+						v_request.resultContent := int9;//Modified Attributes
+						mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004, p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Only modified attributes provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while updating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while updating resource");
+							}
+						}	
+						
+						// Postamble
+						f_cse_postamble_deleteResources();
+		
+						// Tear down
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_UPD_022
+
+			}//end group Update
+			
+			group Delete {
+			
+					function f_CSE_DMR_DEL_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu {
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_parentIndex := -1;
+						var integer v_containerIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_ae2Index := -1;
+                							   
+						// Test control
+                
+						// Test component configuration
+						f_cf01Up(true);
+                
+						// Test adapter configuration
+                
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi)
+						
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
+                		
+						if(p_resourceType == int4) {
+							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
+							v_parentIndex := v_containerIndex;
+						}else{
+							v_parentIndex := v_aeIndex;
+						}
+                												
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex); 				
+                												
+						// Test Body
+						v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						                		
+						mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(p_resourceType)));
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType)));
+							}
+						}	
+						
+						f_checkAeSimuStatus();
+    								
+						//Check to see if the resource is present or not
+						if (f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))){
+							setverdict(pass, __SCOPE__ & ":INFO: Resource deleted");
+						} else {
+							setverdict(fail, __SCOPE__ & ":ERROR: Resource not deleted");
+						}
+                					
+						// Postamble
+						f_cse_postamble_deleteResources();
+                		
+						// Tear down
+						f_cf01Down();
+                							
+					};//end f_CSE_DMR_DEL_001
+                
+					function f_CSE_DMR_DEL_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu {
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var RequestPrimitive v_updateRequest;
+						var integer v_acpAuxIndex := -1;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_ae2Index := -1;
+						var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_AE_ID}, int63));
+						var AccessControlRule v_accessControlRule_2;
+						var SetOfAcrs v_setOfArcs;
+                							   
+						// Test control
+						if(not(PICS_ACP_SUPPORT)) {
+							setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");
+							stop;
+						}
+                
+						// Test component configuration
+						f_cf01Up(true);
+                
+						// Test adapter configuration
+                
+						// Preamble
+						v_acpAuxIndex := f_cse_preamble_createAcpAux(-,-);//c_CRDNDi);
 						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRUNDi);
 						
 						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
@@ -5815,9 +6188,267 @@ module OneM2M_PermutationFunctions {
 						// Tear down
 						f_cf01Down();
 					};//end f_CSE_DMR_DEL_006
-				
+					
+				function f_CSE_DMR_DEL_011(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, ResultContent p_resultContent) runs on AeSimu {
+		
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+								   
+					// Test control
+		
+					// Test component configuration
+					f_cf01Up();
+		
+					// Test adapter configuration
+		
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		    					
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+							
+					// Test Body
+					v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+					v_request.resultContent := p_resultContent;
+					
+					mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Request successfully rejected");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is impossible for a DELETE request ");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
+						}
+					}	
+						
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+		
+				}//end f_CSE_DMR_DEL_011
+			  	
+				function f_CSE_DMR_DEL_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu {
+		
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_ae2Index := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
+						// Test control
+		
+						// Test component configuration
+						f_cf01Up(true);
+		
+						// Test adapter configuration
+		
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+	
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
+						}
+						
+						// Test Body
+						v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						v_request.resultContent := int0;//Nothing
+						
+						mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002, omit))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Nothing provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Some content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while deleting resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
+							}
+						}	
+						
+						// Postamble
+						f_cse_postamble_deleteResources();
+		
+						// Tear down
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_DEL_012
+
+				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 {
+		
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_ae2Index := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
+						// Test control
+		
+						// Test component configuration
+						f_cf01Up(true);
+		
+						// Test adapter configuration
+		
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+	
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
+						}
+						
+						// Test Body
+						v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						v_request.resultContent := int1;//Attributes
+						
+						mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002, p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": All attributes provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while deleting resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
+							}
+						}	
+						
+						// Postamble
+						f_cse_postamble_deleteResources();
+		
+						// Tear down
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_DEL_013
+
 			}//end group Delete
 			
+			group Notify {
+			
+				function f_CSE_DMR_NTF_001(ResultContent p_resultContent) runs on AeSimu {
+		
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex, v_ae2Index := -1;
+								   
+					// Test control
+		
+					// Test component configuration
+					f_cf01Up(true);
+		
+					// Test adapter configuration
+		
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+
+					vc_ae2.start(f_cse_createAccessControlPolicyAux("Ae2Acp",{"all"}, int63));
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+		    					
+					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
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+					
+					v_ae2Index := f_getLatestResource(vc_ae2);
+					
+					// Test Body
+					v_request := valueof(m_notifyNotification(f_getResourceAddress(v_ae2Index), m_contentNotification_subscriptionVerification(vc_resourcesList[v_ae2Index].resource.aE.aE_ID)));
+					v_request.from_ := f_getOriginator(v_aeIndex, e_ae);
+					v_request.resultContent := p_resultContent;
+
+					vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
+										
+					mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Request successfully rejected");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is not valid for a NOTIFY request ");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
+						}
+					}	
+					
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+						
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+		
+				}//end f_CSE_DMR_NTF_001			
+			
+			}//end group Notify
+			
 		}//end group Data_Management_and_Repository
 		
 		group Location {
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index e8f937d..ecb752c 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -816,7 +816,152 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_ae1.start(f_CSE_DMR_CRE_018(int8));//ResultContent = 8 (child resources)
 						v_ae1.done;
 					}
-				} // end g_CSE_DMR_CRE_018				
+				} // end g_CSE_DMR_CRE_018		
+				
+				group g_CSE_DMR_CRE_019 {
+					/**
+					 * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the ResultContent set to 1 (Attributes)
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_019_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						
+						v_contentResponse.container := mw_contentContainer_rc1;
+						                        
+						v_ae1.start(f_CSE_DMR_CRE_019(int3, m_createContainerBase, v_contentResponse));//Container
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_CRE_019_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						
+						v_contentResponse.group_ := mw_contentGroup_rc1;
+						                        
+						v_ae1.start(f_CSE_DMR_CRE_019(int9, m_createGroupBase, v_contentResponse));//Group
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_CRE_019_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;	
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						                        
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+						
+						v_ae1.start(f_CSE_DMR_CRE_019(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy
+						v_ae1.done;
+					}
+				
+					testcase TC_CSE_DMR_CRE_019_SUB() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						
+						v_contentResponse.subscription := mw_contentSubscription_rc1;
+						                        
+						v_ae1.start(f_CSE_DMR_CRE_019(int23, m_createSubscriptionBase, v_contentResponse));//Subscription
+						v_ae1.done;
+					}
+				
+					testcase TC_CSE_DMR_CRE_019_PCH() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_rc1;
+						                        
+						v_ae1.start(f_CSE_DMR_CRE_019(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel
+						v_ae1.done;
+					}
+
+				} // end g_CSE_DMR_CRE_019							
+
+				group g_CSE_DMR_CRE_020 {
+					
+					/**
+					 * @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)
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_020_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+					
+						v_contentResponse.container := mw_contentContainer_rc1;
+						                    
+						v_ae1.start(f_CSE_DMR_CRE_020(int3, m_createContainerBase, v_contentResponse));//Container
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_CRE_020_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+					
+						v_contentResponse.group_ := mw_contentGroup_rc1;
+						
+						v_ae1.start(f_CSE_DMR_CRE_020(int9, m_createGroupBase, v_contentResponse));//Group
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_CRE_020_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+											
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+						
+						v_ae1.start(f_CSE_DMR_CRE_020(int1, m_createAcpBase,v_contentResponse));//AccessControlPolicy
+						v_ae1.done;
+					}
+				
+					testcase TC_CSE_DMR_CRE_020_SUB() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+											
+						v_contentResponse.subscription := mw_contentSubscription_rc1;
+						
+						v_ae1.start(f_CSE_DMR_CRE_020(int23, m_createSubscriptionBase, v_contentResponse));//Subscription
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_CRE_020_PCH() runs on Tester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+											
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_rc1;
+						
+						v_ae1.start(f_CSE_DMR_CRE_020(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel
+						v_ae1.done;
+					}					
+				} // end g_CSE_DMR_CRE_020	
+		
 			}//end group Create
 			
 			group Retrieve {
@@ -877,6 +1022,14 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_ae1.done;
 					}
 	
+					testcase TC_CSE_DMR_RET_020_RCN_9() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int9));//ResultContent = 9 (modified attributes)
+						v_ae1.done;
+					}
 				} // end g_CSE_DMR_RET_020
 
 				group g_CSE_DMR_RET_021 {
@@ -2040,31 +2193,594 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 	
 				} // end g_CSE_DMR_UPD_014
+				
+				group g_CSE_DMR_UPD_019 {
+					
+					/**
+					 * @desc Check that the IUT rejects a UPDATE Request target to TARGET_RESOURCE_ADDRESS resource  when the Result Content set to RESULT_CONTENT
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_019_RCN_2() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int2));//ResultContent = 2 (hierarchical address)
+						v_ae1.done;
+					}
+	
+					testcase TC_CSE_DMR_UPD_019_RCN_3() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int3));//ResultContent = 3 (attributes and hierarchichal address)
+						v_ae1.done;
+					}
 
-			}//end group Update
-			
-			group Delete {
-			
-				group g_CSE_DMR_DEL_001{
+					testcase TC_CSE_DMR_UPD_019_RCN_4() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int4));//ResultContent = 4 (attributes and child resources)
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_UPD_019_RCN_5() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int5));//ResultContent = 5 (attributes and child resource references)
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_UPD_019_RCN_6() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int6));//ResultContent = 6 (child resource references)
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_UPD_019_RCN_7() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int7));//ResultContent = 7 (original resource)
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_UPD_019_RCN_8() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int8));//ResultContent = 8 (child resources)
+						v_ae1.done;
+					}	
+				} // end g_CSE_DMR_UPD_019
 
+				group g_CSE_DMR_UPD_020 {
+		
 					/**
-					 * @desc Check that the IUT accepts the deletion of a RESOURCE_TYPE resource
+					 * @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing)
 					 * 
 					 */
-					testcase TC_CSE_DMR_DEL_001_PCH() runs on Tester system CseSystem {
+					testcase TC_CSE_DMR_UPD_020_CNT() runs on Tester system CseSystem {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
+						
 						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
 						v_ae1.done;
-                
-						v_ae1.start(f_CSE_DMR_DEL_001(int15, m_createPollingChannelBase));//PollingChannel
+						v_updateRequest.primitiveContent.container.labels := {"VALUE_1"};
+		        
+						v_ae1.start(f_CSE_DMR_UPD_020(int3, m_createContainerBase, int3, m_createContainerBase, v_updateRequest));//Container
 						v_ae1.done;
-					};
-					
-				};//end of group g_CSE_DMR_DEL_001
-                
-                
-			}//end group Delete
+					}
+
+					testcase TC_CSE_DMR_UPD_020_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase);
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_updateRequest.primitiveContent.group_.labels := {"VALUE_1"};
+		
+						v_ae1.start(f_CSE_DMR_UPD_020(int9, m_createGroupBase, int23, m_createSubscriptionBase, v_updateRequest));//Group
+						v_ae1.done;
+					}
+		
+					testcase TC_CSE_DMR_UPD_020_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateAcpBase);
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_updateRequest.primitiveContent.accessControlPolicy.labels := {"VALUE_1"};
+		
+						v_ae1.start(f_CSE_DMR_UPD_020(int1, m_createAcpBase, int23, m_createSubscriptionBase, v_updateRequest));//AccessControlPolicy
+						v_ae1.done;
+					}
+	
+				} // end g_CSE_DMR_UPD_020
+
+				group g_CSE_DMR_UPD_021 {
+		
+					/**
+					 * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 1 (attributes)
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_021_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
+						var template PrimitiveContent v_contentResponse;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_updateRequest.primitiveContent.container.labels := {"VALUE_1"};
+						v_contentResponse := f_getTemplateFromPrimitiveContent(v_updateRequest.primitiveContent);
+						
+						v_ae1.start(f_CSE_DMR_UPD_021(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase, v_updateRequest));//Container
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_UPD_021_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase);
+						var template PrimitiveContent v_contentResponse;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_updateRequest.primitiveContent.group_.labels := {"VALUE_1"};
+						v_contentResponse := f_getTemplateFromPrimitiveContent(v_updateRequest.primitiveContent);
+						
+						v_ae1.start(f_CSE_DMR_UPD_021(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase, v_updateRequest));//Group
+						v_ae1.done;
+					}
+		
+					testcase TC_CSE_DMR_UPD_021_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateAcpBase);
+						var template PrimitiveContent v_contentResponse;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_updateRequest.primitiveContent.accessControlPolicy.labels := {"VALUE_1"};
+						v_contentResponse := f_getTemplateFromPrimitiveContent(v_updateRequest.primitiveContent);
+						
+						v_ae1.start(f_CSE_DMR_UPD_021(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase, v_updateRequest));//AccessControlPolicy
+						v_ae1.done;
+					}
+	
+				} // end g_CSE_DMR_UPD_021
+
+				group g_CSE_DMR_UPD_022 {
+		
+					/**
+					 * @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing)
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_022_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
+						var template PrimitiveContent v_contentResponse;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.labels := ?;
+						v_updateRequest.primitiveContent.container.labels := {"VALUE_1"};
+		        
+						v_ae1.start(f_CSE_DMR_UPD_022(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase, v_updateRequest));//Container
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_UPD_022_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase);
+						var template PrimitiveContent v_contentResponse;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.labels := ?;
+						v_updateRequest.primitiveContent.group_.labels := {"VALUE_1"};
+		
+						v_ae1.start(f_CSE_DMR_UPD_022(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase, v_updateRequest));//Group
+						v_ae1.done;
+					}
+		
+					testcase TC_CSE_DMR_UPD_022_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateAcpBase);
+						var template PrimitiveContent v_contentResponse;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.labels := ?;
+						v_updateRequest.primitiveContent.accessControlPolicy.labels := {"VALUE_1"};
+		
+						v_ae1.start(f_CSE_DMR_UPD_022(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase, v_updateRequest));//AccessControlPolicy
+						v_ae1.done;
+					}
+	
+				} // end g_CSE_DMR_UPD_022
+
+			}//end group Update
+			
+			group Delete {
+			
+				group g_CSE_DMR_DEL_001{
+
+					/**
+					 * @desc Check that the IUT accepts the deletion of a RESOURCE_TYPE resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_001_PCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+                
+						v_ae1.start(f_CSE_DMR_DEL_001(int15, m_createPollingChannelBase));//PollingChannel
+						v_ae1.done;
+					};
+					
+				};//end of group g_CSE_DMR_DEL_001
+                
+				group g_CSE_DMR_DEL_011 {
+					
+					/**
+					 * @desc Check that the IUT rejects a DELETE Request target to TARGET_RESOURCE_ADDRESS resource  when the Result Content set to RESULT_CONTENT
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_011_RCN_2() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int2));//ResultContent = 2 (hierarchical address)
+						v_ae1.done;
+					}
+	
+					testcase TC_CSE_DMR_DEL_011_RCN_3() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int3));//ResultContent = 3 (attributes and hierarchichal address)
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_DEL_011_RCN_4() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int4));//ResultContent = 4 (attributes and child resources)
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_DEL_011_RCN_5() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int5));//ResultContent = 5 (attributes and child resource references)
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_DEL_011_RCN_6() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int6));//ResultContent = 6 (child resource references)
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_DEL_011_RCN_7() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int7));//ResultContent = 7 (original resource)
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_DEL_011_RCN_8() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int8));//ResultContent = 8 (child resources)
+						v_ae1.done;
+					}	
+					
+					testcase TC_CSE_DMR_DEL_011_RCN_9() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int9));//ResultContent = 9 (modified attributes)
+						v_ae1.done;
+					}	
+				} // end g_CSE_DMR_DEL_011
+
+				group g_CSE_DMR_DEL_012 {
+		
+					/**
+					 * @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing)
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_012_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						
+						v_ae1.start(f_CSE_DMR_DEL_012(int3, m_createContainerBase, int3, m_createContainerBase));//Container
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_DEL_012_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						
+						v_ae1.start(f_CSE_DMR_DEL_012(int9, m_createGroupBase, int23, m_createSubscriptionBase));//Group
+						v_ae1.done;
+					}
+		
+					testcase TC_CSE_DMR_DEL_012_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						
+						v_ae1.start(f_CSE_DMR_DEL_012(int1, m_createAcpBase, int23, m_createSubscriptionBase));//AccessControlPolicy
+						v_ae1.done;
+					}
+	
+				} // end g_CSE_DMR_DEL_012
+
+				group g_CSE_DMR_DEL_013 {
+		
+					/**
+					 * @desc Check that the IUT returns succesfully only attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 1 (attributes)
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_013_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_contentResponse.container := mw_contentContainer_rc1;
+						
+						v_ae1.start(f_CSE_DMR_DEL_013(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_DEL_013_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_contentResponse.group_ := mw_contentGroup_rc1;
+						
+						v_ae1.start(f_CSE_DMR_DEL_013(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group
+						v_ae1.done;
+					}
+		
+					testcase TC_CSE_DMR_DEL_013_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+						
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+						
+						v_ae1.start(f_CSE_DMR_DEL_013(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy
+						v_ae1.done;
+					}
+	
+				} // end g_CSE_DMR_DEL_013
+
+                
+			}//end group Delete
+			
+			group Notify {
+			
+				group g_CSE_DMR_NTF_001 {
+					
+					/**
+					 * @desc Check that the IUT rejects a NOTIFY request when the ResultContent is set to RESULT_CONTENT
+					 * 
+					 */
+					testcase TC_CSE_DMR_NTF_001_RCN_1() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_NTF_001(int1));//ResultContent = 1 (attributes)
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_NTF_001_RCN_2() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_NTF_001(int2));//ResultContent = 2 (hierarchical address)
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_NTF_001_RCN_3() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_NTF_001(int3));//ResultContent = 3 (attributes and hierarchical address)
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_NTF_001_RCN_4() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_NTF_001(int4));//ResultContent = 4 (attributes and child resources)
+						v_ae1.done;
+					}
+	
+					testcase TC_CSE_DMR_NTF_001_RCN_5() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_NTF_001(int5));//ResultContent = 5 (attributes and child resources references)
+						v_ae1.done;
+					}
+	
+					testcase TC_CSE_DMR_NTF_001_RCN_6() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_NTF_001(int6));//ResultContent = 6 (child resources references)
+						v_ae1.done;
+					}
+	
+					testcase TC_CSE_DMR_NTF_001_RCN_7() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_NTF_001(int7));//ResultContent = 7 (original resource)
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_NTF_001_RCN_8() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+						v_ae1.done;
+						v_ae1.start(f_CSE_DMR_NTF_001(int8));//ResultContent = 8 (child resources)
+						v_ae1.done;
+					}
+				} // end g_CSE_DMR_NTF_001		
+					
+				/**
+				* @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing)
+				* 
+				*/
+			   	testcase TC_CSE_DMR_NTF_002() runs on Tester system CseSystem {
+				   // Local variables
+				   var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+				   var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
+					
+				   v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+				   v_ae1.done;
+				   v_updateRequest.primitiveContent.container.labels := {"VALUE_1"};
+	        
+				   v_ae1.start(f_CSE_DMR_NTF_002());
+				   v_ae1.done;
+			   	}
+			
+				function f_CSE_DMR_NTF_002() runs on AeSimu {
+		
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex, v_ae2Index := -1;
+								   
+					// Test control
+		
+					// Test component configuration
+					f_cf01Up(true);
+		
+					// Test adapter configuration
+		
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+
+					vc_ae2.start(f_cse_createAccessControlPolicyAux("Ae2Acp",{"all"}, int63));
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+		    					
+					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
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+					
+					v_ae2Index := f_getLatestResource(vc_ae2);
+					
+					// Test Body
+					v_request := valueof(m_notifyNotification(f_getResourceAddress(v_ae2Index), m_contentNotification_subscriptionVerification(vc_resourcesList[v_ae2Index].resource.aE.aE_ID)));
+					v_request.from_ := f_getOriginator(v_aeIndex, e_ae);
+					v_request.resultContent := int0;
+
+					vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
+										
+					mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, omit))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Nothing provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Some content provided with RCN set to " & int2str(enum2int(v_request.resultContent)));
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error on the notification");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while deleting resource");
+						}
+					}	
+					
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+						
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+		
+				}//end f_CSE_DMR_NTF_002
+			
+			
+			
+			
+			
+			
+			
+			}//end group Notify
 			
 		}//end group Data_Management_and_Repository
 		
-- 
GitLab