From 01bf423ae2b7df790699674be5d5e6ba7aaaed5e Mon Sep 17 00:00:00 2001
From: pkulkarni <pkulkarni75@gmail.com>
Date: Fri, 9 Feb 2018 11:24:53 +0100
Subject: [PATCH] Implemented TC CSE/ANNC/CRE/004

---
 OneM2M_PermutationFunctions.ttcn    | 41 +++++++++++++++++++++
 OneM2M_Testcases_CSE_Release_2.ttcn | 55 ++++++++++++++++++++++++++++-
 2 files changed, 95 insertions(+), 1 deletion(-)

diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index c5cb1e0..08cab8b 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -6571,6 +6571,47 @@ module OneM2M_PermutationFunctions {
 
 				}//end f_CSE_ANNC_CRE_003
 				
+				function f_CSE_ANNC_CRE_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := 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 ResponsePrimitive v_responsePrimitive;
+					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+   
+					// Test control
+
+					// Test component configuration
+					f_cf02Up();
+
+					// Test adapter configuration
+					// Register the CSE
+ 				    vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));	
+					vc_cse1.done;
+
+					//Preamble
+					vc_cse1.start(f_cse_resourceAnnouncementHandler(mw_createAEAnnc(-, -, -)));
+					v_aeIndex := f_cse_createResource(int2,v_create);
+					vc_cse1.done;
+
+					// Test Body
+					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_parentIndex);
+	
+					vc_cse1.start(f_cse_resourceAnnouncementHandler(p_createRequestAnnc));	
+					mcaPort.send(m_request(v_request));
+					vc_cse1.done;
+
+		
+					// Postamble
+					f_cse_postamble_deleteResources();
+
+					// Tear down
+					f_cf02Down();
+
+				}//end f_CSE_ANNC_CRE_004
+				
 			} //end group Create
 		
 		}// end group Announcement
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 81b7c1f..a25909b 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -6944,8 +6944,61 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_ae1.start(f_CSE_ANNC_CRE_003(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
 						v_ae1.done;
 						
-					} //end TC_CSE_ANNC_CRE_001
+					} //end TC_CSE_ANNC_CRE_003
+					
 				} //end group g_CSE_ANNC_CRE_003
+				
+				group g_CSE_ANNC_CRE_004 {
+					
+					testcase TC_CSE_ANNC_CRE_004_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_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
+  
+						v_ae1.start(f_CSE_ANNC_CRE_004(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_ANNC_CRE_004_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_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+  
+						v_ae1.start(f_CSE_ANNC_CRE_004(int3, v_createRequestAnnc, v_createRequest));//Container
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_ANNC_CRE_004_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_createRequest.primitiveContent.contentInstance.announceTo := {PX_CSE1_ID};
+  
+						v_ae1.start(f_CSE_ANNC_CRE_004(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_ANNC_CRE_004_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_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+  
+						v_ae1.start(f_CSE_ANNC_CRE_004(int9, v_createRequestAnnc, v_createRequest));//Group
+						v_ae1.done;
+					}
+					
+				}// end group g_CSE_ANNC_CRE_004
 			}
 		}//end group Announcement
 	
-- 
GitLab