From 0ac6f03a6f8a0ca1fb0d88ce6d45dbe957dfb742 Mon Sep 17 00:00:00 2001
From: Carlos Arroyo <carlos.arroyonarvaez@adare.de>
Date: Mon, 6 Sep 2021 16:51:27 +0200
Subject: [PATCH] Added function f_CSE_SUB_CRE_006 to CSE_Release_4 on
 Subscription/Creation

---
 OneM2M_PermutationFunctions.ttcn | 59 ++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 55f2490..95b1352 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -8780,6 +8780,65 @@ module OneM2M_PermutationFunctions {
 					//Tear down
 					f_cf01Down();
 				}// end f_CSE_SUB_CRE_001
+                
+				function f_CSE_SUB_CRE_006(template RequestPrimitive p_createRequest) runs on AeSimu system CseSystem {
+					// Local variables
+					var integer v_aeIndex := -1;
+                    var integer v_resourceIndex := -1;
+					var RequestPrimitive v_request;
+                    var MsgIn v_response;
+					
+					// Test control
+
+					// Test component configuration
+					f_cf01Up();
+
+					// Test adapter configuration
+
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi;
+
+					v_request := f_getCreateRequestPrimitive(int23, p_createRequest, v_aeIndex);//Subscription
+
+					// Test Body
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+                        [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {  //CREATED - TS-004 - Table 6.6.3.3-1: RSCs for successful response class
+                            tc_ac.stop;
+                            setverdict(pass, __SCOPE__ & ": Resource created successfully");
+                            f_checkAttributesToBeSaved(int23, v_request, v_response.primitive.responsePrimitive);
+                            v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int23, vc_aeIndex);
+                        }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+                            setverdict(inconc, __SCOPE__&":INFO: Error while creating resource");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+                            setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+						}
+					}
+
+					f_checkAeSimuStatus();
+    					
+					//Check to see if the resource is present or not
+					if (f_cse_isResourcePresent(v_resourceIndex)){
+						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+					}	
+
+					//Postamble
+					f_cse_postamble_deleteResources();
+
+					//Tear down
+					f_cf01Down();
+
+				} // end f_CSE_SUB_CRE_006                
 
 				function f_CSE_SUB_CRE_009(in NotificationEventType p_notificationEventType) runs on AeSimu system CseSystem {
 					// Local variables
-- 
GitLab