From 9139128bf0e8bcd4767e064a2247511d9d61a82c Mon Sep 17 00:00:00 2001
From: pkulkarni <pkulkarni75@gmail.com>
Date: Tue, 5 Sep 2017 09:19:09 +0200
Subject: [PATCH] STF531 - correction of CSE/REG/CRE/022 and 023 & added a
 simpl postambleDelete  function for CSE

---
 LibOneM2M/OneM2M_Functions.ttcn | 45 +++++++++++++++++++++++++++++++++
 OneM2M_TestControl.ttcn         |  2 +-
 OneM2M_Testcases.ttcn           |  8 ++++--
 3 files changed, 52 insertions(+), 3 deletions(-)

diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 2c359e9..fe2a62e 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -378,6 +378,48 @@ module OneM2M_Functions {
 				f_cse_postamble_default();
 			}
 			
+			/**
+			 * @desc Deletion of all resources created during the test case execution. IUT gets clean and ready for next execution
+			 * @verdict 
+			 */
+			function f_cse_postamble_deleteResourcesCSE() runs on CseTester {
+				var integer i;
+				var XSD.ID v_resourceAddress;
+				var RequestPrimitive v_request;
+
+				if (PX_RUN_POSTAMBLE) {
+
+					for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) {
+
+						v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); 
+
+						v_request := valueof(m_delete(v_resourceAddress, f_getOriginator(vc_resourcesIndexToBeDeleted[i],false)));
+
+						v_request.from_ := PX_SUPER_CSE_ID;
+
+						mccPort.send(m_request(v_request));
+
+						tc_ac.start;
+						alt {
+							[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) {
+								tc_ac.stop;
+								log(__SCOPE__&" INFO: Resource " & v_request.to_ & " deleted");
+							}
+							[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								log(__SCOPE__&" INFO: Error while deleting resource " & v_request.to_);
+							}
+							[] tc_ac.timeout {
+								log(__SCOPE__&" INFO: No answer while deleting resource " & v_request.to_);
+							}	
+						}	
+
+					}
+				}
+	
+				f_cse_postamble_default();
+			}
+			
 			/**
 			 * @desc Default postamble
 			 * @verdict 
@@ -1680,6 +1722,9 @@ module OneM2M_Functions {
 			if(ischosen(p_contentResource.serviceSubscribedAppRule)) {
 				return p_contentResource.serviceSubscribedAppRule.resourceName;
 			}
+			if(ischosen(p_contentResource.remoteCSE)) {
+				return p_contentResource.remoteCSE.resourceName;
+			}
 			log(__SCOPE__&":WARNING: Primitive Content Kind not implemented");
 			
 			return "resourceNameNotFound";
diff --git a/OneM2M_TestControl.ttcn b/OneM2M_TestControl.ttcn
index 7aa5730..4e4d0e4 100644
--- a/OneM2M_TestControl.ttcn
+++ b/OneM2M_TestControl.ttcn
@@ -43,7 +43,7 @@ module OneM2M_TestControl {
 		execute(TC_CSE_REG_CRE_018());
 		execute(TC_CSE_REG_CRE_022());
 		execute(TC_CSE_REG_CRE_023());
-		execute(TC_CSE_REG_CRE_024());
+		execute(TC_CSE_REG_CRE_025());
 		execute(TC_CSE_REG_CRE_026());
 		execute(TC_CSE_REG_RET_001());
 		execute(TC_CSE_REG_RET_005());
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index d8fd053..2f4bd68 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -1295,6 +1295,8 @@ module OneM2M_Testcases {
 						[] mccPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Resource type remoteCSE created successfully");
+							f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive);
+							vc_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16);
 						}
 						[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) {
 							tc_ac.stop;
@@ -1310,7 +1312,7 @@ module OneM2M_Testcases {
 					}	
 			
 					// Postamble
-					f_cse_postamble_deleteResources();
+					f_cse_postamble_deleteResourcesCSE();
 	
 					// Tear down
 					f_cf04Down();
@@ -1347,6 +1349,8 @@ module OneM2M_Testcases {
 						[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Resource type remoteCSE created successfully");
+							f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive);
+							vc_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16);
 						}
 						[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 							tc_ac.stop;
@@ -1358,7 +1362,7 @@ module OneM2M_Testcases {
 					}	
 
 					// Postamble
-					f_cse_postamble_deleteResources();
+					f_cse_postamble_deleteResourcesCSE();
 
 					// Tear down
 					f_cf04Down();
-- 
GitLab