From 71adede2497c64a3ef146aa152ed32c976ce5afa Mon Sep 17 00:00:00 2001
From: pkulkarni <pkulkarni75@gmail.com>
Date: Wed, 7 Mar 2018 16:04:27 +0100
Subject: [PATCH] Implemented TP CSE/ANNC/RET/001

Signed-off-by: pkulkarni <pkulkarni75@gmail.com>
---
 OneM2M_PermutationFunctions.ttcn    | 67 +++++++++++++++++++++++++++++
 OneM2M_Testcases_CSE_Release_2.ttcn | 48 +++++++++++++++++++++
 2 files changed, 115 insertions(+)

diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index d7a3a3a..af8ad22 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -6917,6 +6917,73 @@ module OneM2M_PermutationFunctions {
 				
 			} //end group Create
 			
+			group Retrieve {
+			
+				function f_CSE_ANNC_RET_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, in template RequestPrimitive p_requestUpdatePrimitive := omit) runs on AeSimu {
+
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_parentIndex := -1;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex;
+					var template RequestPrimitive v_createAE := m_createAe(PX_APP_ID, omit, omit);
+					var template RequestPrimitive v_createAEAnnc := m_createAEAnnc(omit, omit, omit, PX_CSE1_ID);
+					var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyAcp", -, int61);
+					var integer v_aeAnncIndex;
+					var integer v_resourceAnncIndex;
+					var integer v_acpIndex;
+					var XSD.ID v_membersAcpId;
+   
+					// Test control
+
+					// Test component configuration
+					f_cf02Up();
+
+					// Test adapter configuration
+
+					//Register the CSE
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));	
+					vc_cse1.done;
+
+					//Preamble
+					v_aeIndex := f_cse_createResource(int2,v_createAE);
+					
+					v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource
+					v_membersAcpId := f_getResourceId(vc_resourcesList[v_acpIndex].resource);
+					
+					v_createAEAnnc.primitiveContent.aEAnnc.resourceID := v_membersAcpId;
+					v_aeAnncIndex := f_cse_createResource(int10002,v_createAEAnnc);
+					
+					v_resourceAnncIndex := f_cse_createResource(p_resourceType,p_createRequestAnnc);
+
+					// Test Body
+					mcaPort.send(m_request(m_retrieve(f_getResourceAddress(), f_getOriginator(v_resourceAnncIndex))));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__, ": Resource " & int2str(enum2int(p_resourceType)) & " retrieved successfully");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__, ": Wrong response status code");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__, ": No answer while retrieving resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+		
+					// Postamble
+					f_cse_postamble_deleteResources();
+
+					// Tear down
+					f_cf02Down();
+
+				}//end f_CSE_ANNC_RET_001
+			 
+			} //end group Retrieve
+			
 			group Delete{
 				
 				function f_CSE_ANNC_DEL_001(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on AeSimu {
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 52c891c..b58d833 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -7230,6 +7230,54 @@ module OneM2M_Testcases_CSE_Release_2 {
 				} //end group g_CSE_ANNC_CRE_009
 			} //end group Create
 			
+			group Retrieve {
+				
+				group g_CSE_ANNC_RET_001 {
+					
+					testcase TC_CSE_ANNC_RET_001_ACP() runs on Tester system CseSystem {
+						//Local variables
+						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createAcpBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
+  
+						 v_ae1.start(f_CSE_ANNC_CRE_007_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
+						 v_ae1.done;
+					}
+					
+					testcase TC_CSE_ANNC_RET_001_CNT() runs on Tester system CseSystem {
+						 //Local variables
+						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createContainerBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+	  
+						 v_ae1.start(f_CSE_ANNC_RET_001(int3, v_createRequestAnnc, v_createRequest));//Container
+						 v_ae1.done;
+					}
+					
+					testcase TC_CSE_ANNC_RET_001_CIN() runs on Tester system CseSystem {
+						 //Local variables
+						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc;
+  
+						 v_ae1.start(f_CSE_ANNC_RET_001(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
+						 v_ae1.done;
+					}
+					
+					testcase TC_CSE_ANNC_RET_001_GRP() runs on Tester system CseSystem {
+						 //Local variables
+						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createGroupBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
+  
+						 v_ae1.start(f_CSE_ANNC_RET_001(int9, v_createRequestAnnc, v_createRequest));//Group
+						 v_ae1.done;
+					}
+					
+				} //end group g_CSE_ANNC_RET_001
+				
+			} //end group Retrieve
+			
 			group Delete{
 				
 				group g_CSE_ANNC_DEL_001{
-- 
GitLab