diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 5e50866492528d40e37cf126f55949cd7db97b28..3e814e3a24079f96463195c9e168a9944b4960ce 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -1453,12 +1453,11 @@ module OneM2M_Functions { * @return Internal resource index of the created resource * @verdict */ - function f_cse_sendUpdateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_requestUpdatePrimitive := m_update, integer p_parentIndex := -1) runs on AeSimu { + function f_cse_sendUpdateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_requestUpdatePrimitive := m_update, integer p_targetIndex := -1) runs on AeSimu { var RequestPrimitive v_request; - var integer v_resourceIndex := -1; - v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive); + v_request := f_getUpdateRequestPrimitive(p_resourceType, p_targetIndex, p_requestUpdatePrimitive); mcaPort.send(f_getMsgOutPrimitive(m_request(v_request))); diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index 847fe7c1825440f6407ffa5f742385220f2c021a..cbbe0633b98ce73fef67a6f558fc7cef0b59f259 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -7182,20 +7182,18 @@ module OneM2M_PermutationFunctions { f_cf02Down(); } //end f_CSE_ANNC_CRE_001 - function f_CSE_ANNC_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestUpdatePrimitive := omit) runs on CseSimu { + function f_CSE_ANNC_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_createRequest, in template RequestPrimitive p_updateRequest := omit) runs on CseSimu { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_parentIndex := -1; + var MsgIn v_request; + var PrimitiveContent v_remoteCSEAnncResource; var integer v_aeIndex := -1; var integer v_resourceIndex; var integer v_remoteCSEAnncIndex := -1; var ResponsePrimitive v_responsePrimitive; - var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit); f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1); - //TODO var template RequestPrimitive v_remoteCSEAnnc := mw_createAccessControlPolicyAnnc; - + // Test control // Test component configuration @@ -7204,15 +7202,39 @@ module OneM2M_PermutationFunctions { // Test adapter configuration //Preamble - v_ae1.start(f_cse_createResource(int2,v_create)); + v_ae1.start(f_cse_preamble_registerAe()); + v_ae1.done; + v_aeIndex := f_getLatestResourceIndex(v_ae1); + + v_ae1.start(f_cse_createResource(p_resourceType, p_createRequest, v_aeIndex)); v_ae1.done; + v_resourceIndex := f_getLatestResourceIndex(v_ae1); // Test Body - v_ae1.start(f_cse_sendUpdateRequestPrimitive(p_resourceType, p_requestUpdatePrimitive)); + v_ae1.start(f_cse_sendUpdateRequestPrimitive(p_resourceType, p_updateRequest, v_resourceIndex)); v_ae1.done; - f_cse_announcementProcedure_createHandler(p_createRequestAnnc); - + tc_ac.start; + alt { + [] mccPortIn.receive(mw_request(mw_createRemoteCSEAnnc)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ":INFO: RemoteCSEAnnc CREATE received"); + //Save resource and generate required attributes + v_remoteCSEAnncResource:= f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, vc_cSEBaseIndex,v_request.primitive.requestPrimitive.resourceType); + v_remoteCSEAnncIndex := f_setLocalResource(v_remoteCSEAnncResource, v_request.primitive.requestPrimitive.resourceType, vc_cSEBaseIndex); + + setverdict(pass, __SCOPE__ & ":INFO: Announcement Parent Resource Address matched"); + v_responsePrimitive := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier)); + v_responsePrimitive.primitiveContent := vc_localResourcesList[v_remoteCSEAnncIndex].resource; + v_responsePrimitive.from_ := PX_CSE1_ID; + v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_; + mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ":ERROR: No announcement received"); + } + } + // Postamble f_cse_postamble_deleteResourcesCSE(); diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index 42a47928f9abd54efa405f08f282216fa6eccdb8..736b71b151d3ee74fce5e41544dde2ebfd797064 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -9814,12 +9814,12 @@ module OneM2M_Testcases_CSE_Release_2 { // Local variables var CseSimu v_cse1 := CseSimu.create("CSE1") alive; var template RequestPrimitive v_updateRequest := m_updateAcpBase; - var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc; + var template RequestPrimitive v_createRequest := m_createAcpBase; f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1); - v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {f_getAnnouncementTargetPoA()}; + v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID}; - v_cse1.start(f_CSE_ANNC_CRE_002(int1, v_createRequestAnnc, v_updateRequest));//AccessControlPolicy + v_cse1.start(f_CSE_ANNC_CRE_002(int1, v_createRequest, v_updateRequest));//AccessControlPolicy v_cse1.done; } @@ -9827,12 +9827,12 @@ module OneM2M_Testcases_CSE_Release_2 { // Local variables var CseSimu v_cse1 := CseSimu.create("CSE1") alive; var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase; + var template RequestPrimitive v_createRequest := m_createContainerBase; f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1); - v_updateRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()}; + v_updateRequest.primitiveContent.container.announceTo := {PX_CSE1_ID}; - v_cse1.start(f_CSE_ANNC_CRE_002(int3, v_createRequestAnnc, v_updateRequest));//Container + v_cse1.start(f_CSE_ANNC_CRE_002(int3, v_createRequest, v_updateRequest));//Container v_cse1.done; } @@ -9840,12 +9840,12 @@ module OneM2M_Testcases_CSE_Release_2 { // Local variables var CseSimu v_cse1 := CseSimu.create("CSE1") alive; var template RequestPrimitive v_updateRequest := m_updateGroupBase; - var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase; + var template RequestPrimitive v_createRequest := m_createGroupBase; f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1); - v_updateRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()}; + v_updateRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID}; - v_cse1.start(f_CSE_ANNC_CRE_002(int9, v_createRequestAnnc, v_updateRequest));//Group + v_cse1.start(f_CSE_ANNC_CRE_002(int9, v_createRequest, v_updateRequest));//Group v_cse1.done; } @@ -9853,11 +9853,11 @@ module OneM2M_Testcases_CSE_Release_2 { // Local variables var CseSimu v_cse1 := CseSimu.create("CSE1") alive; var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase; - var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnncBase; + var template RequestPrimitive v_createRequest := m_createTimeSeriesBase; - v_updateRequest.primitiveContent.timeSeries.announceTo := {f_getAnnouncementTargetPoA()}; + v_updateRequest.primitiveContent.timeSeries.announceTo := {PX_CSE1_ID}; - v_cse1.start(f_CSE_ANNC_CRE_002(int29, v_createRequestAnnc, v_updateRequest));//TimeSeries + v_cse1.start(f_CSE_ANNC_CRE_002(int29, v_createRequest, v_updateRequest));//TimeSeries v_cse1.done; } } //end group g_CSE_ANNC_CRE_002