From d087c4cf3b7571a36f9b75955c99eac6eda6c5d9 Mon Sep 17 00:00:00 2001
From: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org>
Date: Wed, 13 Sep 2017 09:49:56 +0200
Subject: [PATCH] Merge changes from KETI_Test branch: - Update
 f_getResourceAddress() function in terms of non-hierarchical SP-relative
 addressing format - Update function f_getTemplateFromPrimitiveContent() to
 handle remoteCSE content - Correct responsePrimitive resource content in
 testcase TC_CSE_DMR_CRE_001_CIN_CNT() - Update f_getCreateRequestPrimitive()
 function in terms of group resource format

Signed-off-by: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Functions.ttcn | 45 ++++++++++++++++++++++++++++++---
 OneM2M_Testcases.ttcn           |  4 +--
 2 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index d5d527e..ff05c91 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -2203,9 +2203,9 @@ module OneM2M_Functions {
 			} else if (p_primitiveScope == e_spRelative) {
 				if(p_addressingMethod == e_nonHierarchical) {
 					if(p_targetResourceIndex == -1) {
-						return PX_CSE_ID;
+						return PX_CSE_ID & "/" & PX_CSE_RESOURCE_ID;
 					} else {
-						v_resourceAddress := f_getResourceAddress(-, p_addressingMethod, p_primitiveScope) & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource);
+						v_resourceAddress := PX_CSE_ID & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource);
 						return v_resourceAddress;
 					}
 				} else {
@@ -2758,7 +2758,7 @@ module OneM2M_Functions {
 				}
 			}
 			
-			else if(ischosen(p_primitiveContent.subscription)){ // Schedule
+			else if(ischosen(p_primitiveContent.subscription)){ // Subscription
 				v_primitiveContent := {subscription := mw_contentSubscriptionBase};
 
 				if(ispresent(p_primitiveContent.subscription.labels)){
@@ -2810,6 +2810,45 @@ module OneM2M_Functions {
 					v_primitiveContent.subscription.subscriberURI := ?;
 				}
 			}
+			else if(ischosen(p_primitiveContent.remoteCSE)){ //remoteCSE
+				v_primitiveContent := {remoteCSE := mw_contentRemoteCSEBase};
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.labels)){
+					v_primitiveContent.remoteCSE.labels := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.accessControlPolicyIDs)){
+					v_primitiveContent.remoteCSE.accessControlPolicyIDs := ?;			    
+				}
+				 				
+				if(ispresent(p_primitiveContent.remoteCSE.announceTo)){
+					v_primitiveContent.remoteCSE.announceTo := ?;			    
+				}
+				 
+				if(ispresent(p_primitiveContent.remoteCSE.announcedAttribute)){
+					v_primitiveContent.remoteCSE.announcedAttribute := ?;			    
+				}
+				
+				if(ispresent(p_primitiveContent.remoteCSE.cseType)){
+					v_primitiveContent.remoteCSE.cseType := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.pointOfAccess)){
+					v_primitiveContent.remoteCSE.pointOfAccess := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.m2M_Ext_ID)){
+					v_primitiveContent.remoteCSE.m2M_Ext_ID := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.trigger_Recipient_ID)){
+					v_primitiveContent.remoteCSE.trigger_Recipient_ID := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.nodeLink)){
+					v_primitiveContent.remoteCSE.nodeLink := ?;			    
+				}
+			}			
 			return v_primitiveContent;
 		}
 		
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 3e9a91b..64589e4 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -2485,13 +2485,13 @@ module OneM2M_Testcases {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.contentInstance.resourceName := omit;
-						v_ae1.start(f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase));//Subscription
+						v_ae1.start(f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase));//ContentInstance
 						v_ae1.done;
 						
 						 
 												
 						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.contentInstance.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
 						}
-- 
GitLab