diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index 9a56a8f730d1bea3cfd8ca39f8e9555f8e43ec6f..32abbc2b9ae06299bc21d58ac6e465c61532ec63 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -8648,7 +8648,7 @@ module OneM2M_PermutationFunctions { group Basic { - function f_CSE_ANNC_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, in template RequestPrimitive p_requestUpdatePrimitive := omit) runs on AeSimu system CseSystem { + function f_CSE_ANNC_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive, in template RequestPrimitive p_requestUpdatePrimitive := omit) runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; @@ -8670,24 +8670,31 @@ module OneM2M_PermutationFunctions { //Register the CSE vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}))); - vc_cse1.done; f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); //Preamble vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -))); v_aeIndex := f_cse_createResource(int2,v_create); - vc_cse1.done; f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); // Test Body if (ispresent (p_requestUpdatePrimitive)) { - v_resourceIndex := f_cse_createResource(p_resourceType,p_requestCreatePrimitive); + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex); v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive); v_responsePrimitive.responseStatusCode := int2004; } else { - v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_aeIndex); + if (p_resourceType == int4) { + v_create := m_createContainerBase; + v_create.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId}; + vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createContainerAnnc())); + v_resourceIndex := f_cse_createResource(int3, v_create, v_aeIndex); + f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_resourceIndex); + } else { + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_aeIndex); + } v_responsePrimitive.responseStatusCode := int2001; } diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn index b18bef276376f686adf7bd56421cee9f246928ea..321d49f43350e3022d6ac2185708eaacc2c7b205 100644 --- a/OneM2M_Testcases_CSE_Release_3.ttcn +++ b/OneM2M_Testcases_CSE_Release_3.ttcn @@ -9288,12 +9288,13 @@ module OneM2M_Testcases_CSE_Release_3 { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc; v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {PX_TS_CSE1.cseId}; - v_ae1.start(f_CSE_ANNC_001(int1, v_createRequestAnnc, omit, v_updateRequest));//AccessControlPolicy + v_ae1.start(f_CSE_ANNC_001(int1, v_createRequestAnnc, v_createRequest, v_updateRequest));//AccessControlPolicy v_ae1.done; } @@ -9314,12 +9315,13 @@ module OneM2M_Testcases_CSE_Release_3 { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc; v_updateRequest.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId}; - v_ae1.start(f_CSE_ANNC_001(int3, v_createRequestAnnc, omit, v_updateRequest));//Container + v_ae1.start(f_CSE_ANNC_001(int3, v_createRequestAnnc, v_createRequest, v_updateRequest));//Container v_ae1.done; } @@ -9340,12 +9342,13 @@ module OneM2M_Testcases_CSE_Release_3 { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnnc; v_updateRequest.primitiveContent.group_.announceTo := {PX_TS_CSE1.cseId}; - v_ae1.start(f_CSE_ANNC_001(int9, v_createRequestAnnc, omit, v_updateRequest));//Group + v_ae1.start(f_CSE_ANNC_001(int9, v_createRequestAnnc, v_createRequest, v_updateRequest));//Group v_ae1.done; }