From 21e53f5e72bb2969c15f023dcc421759493b9780 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Wed, 6 May 2020 10:35:02 +0200
Subject: [PATCH] Implemented new test cases TC_CSE_DMR_DEL_014-017 (including
 permutations) according to TDE-2020-0037R01

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Templates.ttcn     |   8 +-
 OneM2M_PermutationFunctions.ttcn    | 296 +++++++++++++++++++++++
 OneM2M_Testcases_CSE_Release_3.ttcn | 350 +++++++++++++++++++++++++++-
 3 files changed, 649 insertions(+), 5 deletions(-)

diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 6b3bbf0..fd153d3 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -6409,7 +6409,7 @@ module OneM2M_Templates {
 			choice := omit//NP
 		};
 		
-		template (value) PollingChannel_optional m_contentPollingChannel_allOmit := {
+		template PollingChannel_optional mw_contentPollingChannel_allOmit := {
 			resourceName := omit,//M
 			resourceType := omit,//M
 			resourceID := omit,//M
@@ -6448,6 +6448,10 @@ module OneM2M_Templates {
 			expirationTime := *//M
 		}
 		
+		template PollingChannel_optional mw_contentPollingChannel_rc8 modifies mw_contentPollingChannel_allOmit := {
+			choice := {choice_list := ?}	//O
+		}
+
 		template (value) RemoteCSE_optional m_contentRemoteCSE_allOmit := {
 			resourceName := omit,//M
 			resourceType := omit,//M
@@ -8351,7 +8355,7 @@ module OneM2M_Templates {
 			requestPrimitive := {
 				requestIdentifier := testcasename() & "-m_utCreatePollingChannel" & f_rnd(1, 1000000),
 				resourceType := int15,
-				primitiveContent := {pollingChannel := m_contentPollingChannel_allOmit}
+				primitiveContent := {pollingChannel := mw_contentPollingChannel_allOmit}
 			}
 		}
  		
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 3ed6d6a..3c772d0 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -7460,6 +7460,302 @@ module OneM2M_PermutationFunctions {
 		
 					}//end f_CSE_DMR_DEL_013
 
+				function f_CSE_DMR_DEL_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu system CseSystem {
+		
+						// 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;
+						var integer v_parentIndex := -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));
+							}
+						} 
+	
+						if(p_resourceType != int18) {
+							v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+						}
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_parentIndex); 
+		
+						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 := int4;//Attributes and child resources
+						
+						f_send(e_mcaPort, 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_014
+
+				function f_CSE_DMR_DEL_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu system CseSystem {
+		
+						// 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;
+						var integer v_parentIndex := -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));
+							}
+						} 
+	
+						if(p_resourceType != int18) {
+							v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+						}
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_parentIndex); 
+		
+						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 := int5;//Attributes and child resource references
+						
+						f_send(e_mcaPort, 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_015
+
+				function f_CSE_DMR_DEL_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu system CseSystem {
+		
+						// 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;
+						var integer v_parentIndex := -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));
+							}
+						} 
+	
+						if(p_resourceType != int18) {
+							v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+						}
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_parentIndex); 
+		
+						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 := int6;//Child resource references
+						
+						f_send(e_mcaPort, 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_016
+
+				function f_CSE_DMR_DEL_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu system CseSystem {
+		
+						// 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;
+						var integer v_parentIndex := -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));
+							}
+						} 
+	
+						if(p_resourceType != int18) {
+							v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+						}
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_parentIndex); 
+		
+						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 := int8;//Child resources
+						
+						f_send(e_mcaPort, 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_017
+
 			}//end group Delete
 			
 		}//end group Data_Management_and_Repository
diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn
index b0424cc..dd22f78 100644
--- a/OneM2M_Testcases_CSE_Release_3.ttcn
+++ b/OneM2M_Testcases_CSE_Release_3.ttcn
@@ -1969,7 +1969,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 					
-						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_allOmit;
 						v_contentResponse.pollingChannel.parentID := ?;
 							
 						v_ae1.start(f_CSE_DMR_RET_004(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel
@@ -2065,7 +2065,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_contentResponse;
 						
-						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_allOmit;
 						v_contentResponse.pollingChannel.parentID := ?;
 								
 						v_ae1.start(f_CSE_DMR_RET_005(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel
@@ -2168,7 +2168,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;					
 						var template PrimitiveContent v_contentResponse;
 						
-						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_allOmit;
 						v_contentResponse.pollingChannel.parentID := ?;
 						v_contentResponse.pollingChannel.creationTime := ?;
 							
@@ -5850,6 +5850,350 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}	
 				} // end g_CSE_DMR_DEL_011				
 				
+				group g_CSE_DMR_DEL_014 {
+
+					/**
+					 * @desc Check that the IUT returns successfully only attributes and child resources of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 4 (attributes and child resources)
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_014_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+														
+						v_contentResponse.container := mw_contentContainer_rc4;
+											  	  	
+						v_ae1.start(f_CSE_DMR_DEL_014(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container
+						v_ae1.done;
+					}
+													
+					testcase TC_CSE_DMR_DEL_014_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+						
+						v_contentResponse.group_ := mw_contentGroup_rc4;
+								   
+						v_ae1.start(f_CSE_DMR_DEL_014(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group
+						v_ae1.done;
+					}
+            
+					testcase TC_CSE_DMR_DEL_014_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc4;
+            
+						v_ae1.start(f_CSE_DMR_DEL_014(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy
+						v_ae1.done;
+					}
+						
+					testcase TC_CSE_DMR_DEL_014_SCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.schedule := mw_contentSchedule_rc4;
+              
+						v_ae1.start(f_CSE_DMR_DEL_014(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule
+						v_ae1.done;
+					};
+                        
+                    //TODO to double check whether this permutation should be moved to Release 4
+					testcase TC_CSE_DMR_DEL_014_PCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_rc4;
+              
+						v_ae1.start(f_CSE_DMR_DEL_014(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel
+						v_ae1.done;
+					};
+
+					testcase TC_CSE_DMR_DEL_014_SUB() runs on Tester system CseSystem {
+							// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.subscription := mw_contentSubscription_rc4;
+            	
+						v_ae1.start(f_CSE_DMR_DEL_014(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription
+						v_ae1.done;
+					};	
+					
+					testcase TC_CSE_DMR_DEL_014_TS() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.timeSeries := mw_contentTimeSeries_rc4;
+            			
+						v_ae1.start(f_CSE_DMR_DEL_014(int29, m_createTimeSeriesBase, v_contentResponse, int23, m_createSubscriptionBase));//TimeSeries
+						v_ae1.done;
+					};	
+
+				} // end g_CSE_DMR_DEL_014
+
+				group g_CSE_DMR_DEL_015 {
+
+					/**
+					 * @desc Check that the IUT returns successfully only attributes and child resources references of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 5(attributes and child resources references)
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_015_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+														
+						v_contentResponse.container := mw_contentContainer_rc5;
+											  	  	
+						v_ae1.start(f_CSE_DMR_DEL_015(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container
+						v_ae1.done;
+					}
+													
+					testcase TC_CSE_DMR_DEL_015_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+						
+						v_contentResponse.group_ := mw_contentGroup_rc5;
+								   
+						v_ae1.start(f_CSE_DMR_DEL_015(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group
+						v_ae1.done;
+					}
+            
+					testcase TC_CSE_DMR_DEL_015_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc5;
+            
+						v_ae1.start(f_CSE_DMR_DEL_015(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy
+						v_ae1.done;
+					}
+						
+					testcase TC_CSE_DMR_DEL_015_SCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.schedule := mw_contentSchedule_rc5;
+              
+						v_ae1.start(f_CSE_DMR_DEL_015(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule
+						v_ae1.done;
+					};
+                        
+                    //TODO to double check whether this permutation should be moved to Release 4
+					testcase TC_CSE_DMR_DEL_015_PCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_rc5;
+              
+						v_ae1.start(f_CSE_DMR_DEL_015(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel
+						v_ae1.done;
+					};
+
+					testcase TC_CSE_DMR_DEL_015_SUB() runs on Tester system CseSystem {
+							// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.subscription := mw_contentSubscription_rc5;
+            	
+						v_ae1.start(f_CSE_DMR_DEL_015(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription
+						v_ae1.done;
+					};	
+					
+					testcase TC_CSE_DMR_DEL_015_TS() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.timeSeries := mw_contentTimeSeries_rc5;
+            			
+						v_ae1.start(f_CSE_DMR_DEL_015(int29, m_createTimeSeriesBase, v_contentResponse, int23, m_createSubscriptionBase));//TimeSeries
+						v_ae1.done;
+					};	
+
+				} // end g_CSE_DMR_DEL_015
+
+				group g_CSE_DMR_DEL_016 {
+
+					/**
+					 * @desc Check that the IUT returns successfully only child resources references of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 6(child resources references)
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_016_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+														
+						v_contentResponse.container := mw_contentContainer_rc6;
+											  	  	
+						v_ae1.start(f_CSE_DMR_DEL_016(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container
+						v_ae1.done;
+					}
+													
+					testcase TC_CSE_DMR_DEL_016_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+						
+						v_contentResponse.group_ := mw_contentGroup_rc6;
+								   
+						v_ae1.start(f_CSE_DMR_DEL_016(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group
+						v_ae1.done;
+					}
+            
+					testcase TC_CSE_DMR_DEL_016_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc6;
+            
+						v_ae1.start(f_CSE_DMR_DEL_016(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy
+						v_ae1.done;
+					}
+						
+					testcase TC_CSE_DMR_DEL_016_SCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.schedule := mw_contentSchedule_rc6;
+              
+						v_ae1.start(f_CSE_DMR_DEL_016(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule
+						v_ae1.done;
+					};
+                        
+                    //TODO to double check whether this permutation should be moved to Release 4
+					testcase TC_CSE_DMR_DEL_016_PCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_rc6;
+              
+						v_ae1.start(f_CSE_DMR_DEL_016(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel
+						v_ae1.done;
+					};
+
+					testcase TC_CSE_DMR_DEL_016_SUB() runs on Tester system CseSystem {
+							// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.subscription := mw_contentSubscription_rc6;
+            	
+						v_ae1.start(f_CSE_DMR_DEL_016(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription
+						v_ae1.done;
+					};	
+					
+					testcase TC_CSE_DMR_DEL_016_TS() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.timeSeries := mw_contentTimeSeries_rc6;
+            			
+						v_ae1.start(f_CSE_DMR_DEL_016(int29, m_createTimeSeriesBase, v_contentResponse, int23, m_createSubscriptionBase));//TimeSeries
+						v_ae1.done;
+					};	
+
+				} // end g_CSE_DMR_DEL_016
+
+				group g_CSE_DMR_DEL_017 {
+
+					/**
+					 * @desc Check that the IUT returns successfully only child resources  of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 8(child resources).
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_017_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+														
+						v_contentResponse.container := mw_contentContainer_rc8;
+											  	  	
+						v_ae1.start(f_CSE_DMR_DEL_017(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container
+						v_ae1.done;
+					}
+													
+					testcase TC_CSE_DMR_DEL_017_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+						
+						v_contentResponse.group_ := mw_contentGroup_rc8;
+								   
+						v_ae1.start(f_CSE_DMR_DEL_017(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group
+						v_ae1.done;
+					}
+            
+					testcase TC_CSE_DMR_DEL_017_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc8;
+            
+						v_ae1.start(f_CSE_DMR_DEL_017(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy
+						v_ae1.done;
+					}
+						
+					testcase TC_CSE_DMR_DEL_017_SCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.schedule := mw_contentSchedule_rc8;
+              
+						v_ae1.start(f_CSE_DMR_DEL_017(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule
+						v_ae1.done;
+					};
+                        
+                    //TODO to double check whether this permutation should be moved to Release 4
+					testcase TC_CSE_DMR_DEL_017_PCH() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.pollingChannel := mw_contentPollingChannel_rc8;
+              
+						v_ae1.start(f_CSE_DMR_DEL_017(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel
+						v_ae1.done;
+					};
+
+					testcase TC_CSE_DMR_DEL_017_SUB() runs on Tester system CseSystem {
+							// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.subscription := mw_contentSubscription_rc8;
+            	
+						v_ae1.start(f_CSE_DMR_DEL_017(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription
+						v_ae1.done;
+					};	
+					
+					testcase TC_CSE_DMR_DEL_017_TS() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template PrimitiveContent v_contentResponse;
+            
+						v_contentResponse.timeSeries := mw_contentTimeSeries_rc8;
+            			
+						v_ae1.start(f_CSE_DMR_DEL_017(int29, m_createTimeSeriesBase, v_contentResponse, int23, m_createSubscriptionBase));//TimeSeries
+						v_ae1.done;
+					};	
+
+				} // end g_CSE_DMR_DEL_017
+
 			}//end group Delete
 			
 		}//end group Data_Management_and_Repository
-- 
GitLab