diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index f3f11c754bd91b660b9d938ea1a226d4d8701e53..d67352a3dc650fdcd431b24eedf542e90f9d5e01 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -2212,7 +2212,7 @@ module OneM2M_Functions { var MsgIn v_response; var RequestPrimitive v_request; - var PrimitiveContent v_remoteCSEResource; + var PrimitiveContent v_localRemoteCSEResource; //Activate defaults when running on a PTC f_cse_activateDefaults_cse1(); @@ -2227,8 +2227,8 @@ module OneM2M_Functions { setverdict(pass, __SCOPE__&":INFO: Resource type remoteCSE created successfuly"); f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive); vc_remoteCseIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16, -1); - v_remoteCSEResource := f_generateLocalResource(v_response.primitive.responsePrimitive.primitiveContent, vc_cSEBaseIndex, int16); - vc_localRemoteCseIndex := f_setLocalResource(v_remoteCSEResource, int16, vc_cSEBaseIndex); + v_localRemoteCSEResource := f_generateLocalResource(m_primitiveContentRemoteCSE(m_contentCreateRemoteCSE(f_resourceIdCleaner(v_response.primitive.responsePrimitive.from_),omit,v_response.primitive.responsePrimitive.from_,v_response.primitive.responsePrimitive.from_)),vc_cSEBaseIndex, int16); + vc_localRemoteCseIndex := f_setLocalResource(v_localRemoteCSEResource, int16, vc_cSEBaseIndex); } [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index f6dfd0f2c23d40e2dfd7ec6b70a353f6310d6cbf..5354ef0a8f87ad3b54ec93bfe99983ca825bc975 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -7374,9 +7374,12 @@ module OneM2M_PermutationFunctions { var integer v_aEAnncIndex := -1; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit); + var template RequestPrimitive v_createRemoteCSE := m_createRemoteCSEBase; + var template RequestPrimitive v_createContainer := m_createContainerBase; v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1)); v_ae1.done; + // Test control // Test component configuration @@ -7384,7 +7387,7 @@ module OneM2M_PermutationFunctions { // Test adapter configuration // Register the CSE - vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase); + vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase); //Preamble v_ae1.start(f_cse_createResource(int2,v_create)); @@ -7392,12 +7395,18 @@ module OneM2M_PermutationFunctions { v_aeIndex := f_getLatestResourceIndex(v_ae1); - // Test Body - v_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex)); + v_createContainer.primitiveContent.container.announceTo := {"/CSE2_ID"}; + v_createContainer.primitiveContent.container.resourceName := "TriggerAnnounceIUT"; + v_ae1.start(f_cse_createResource(int3,v_createContainer, v_aeIndex)); //IUT shall announce itself by updating announceTo attribute of its remoteCSE on its registrar (CSE1) f_cse_updateResourceHandler(vc_localRemoteCseIndex, mw_updateRemoteCSE); + v_ae1.stop; + + // Test Body + v_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex)); + //IUT shall then create the announced resource on its remoteCSEAnnc as indicated in the announceTo attribute returned by its registrar (CSE1) p_createRequestAnnc.to_ := vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0]; f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -); @@ -7473,43 +7482,27 @@ module OneM2M_PermutationFunctions { // Test control // Test component configuration - f_cf02UpCseSimuMaster(); + f_cf02UpCseSimuMaster(); + + // Test adapter configuration + // Register the CSE + vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase); + //Preamble v_ae1.start(f_cse_createResource(int2,v_create)); v_ae1.done; - + + v_aeIndex := f_getLatestResourceIndex(v_ae1); + // Test Body - v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex)); + v_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex)); - tc_ac.start; - alt { - [] mccPortIn.receive(mw_request(mw_createRemoteCSEAnnc(-, -, -))) -> value v_request { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST for remoteCSEAnnc received"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ":ERROR: No CREATE REQUEST received"); - } - } - - tc_ac.start; - alt { - [] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST received"); - - if(match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_hierarchical, e_spRelative)) or - match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_nonHierarchical, e_spRelative))) { - setverdict(pass, __SCOPE__ & ":matching ANNC_PARENT_RESOURCE_ADDRESS"); - } else { - setverdict(fail, __SCOPE__ & ":mis-matching ANNC_PARENT_RESOURCE_ADDRESS"); - } - - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ":ERROR: No CREATE REQUEST received"); - } - } + //IUT shall announce itself by updating announceTo attribute of its remoteCSE on its registrar (CSE1) + f_cse_updateResourceHandler(vc_localRemoteCseIndex, mw_updateRemoteCSE); + + //IUT shall then create the announced resource on its remoteCSEAnnc as indicated in the announceTo attribute returned by its registrar (CSE1) + p_createRequestAnnc.to_ := vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0]; + f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -); v_ae1.done; diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index e43b7ffcbb4dab61f3661e880508f8fb242d966a..abd8495ba4806922a51bd3adbe549bb4fafa054d 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -10494,7 +10494,7 @@ module OneM2M_Testcases_CSE_Release_2 { v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); v_cse1.done; - v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID}; + v_createRequest.primitiveContent.accessControlPolicy.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy v_cse1.done; @@ -10508,7 +10508,7 @@ module OneM2M_Testcases_CSE_Release_2 { v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); v_cse1.done; - v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID}; + v_createRequest.primitiveContent.container.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container v_cse1.done; @@ -10537,7 +10537,7 @@ module OneM2M_Testcases_CSE_Release_2 { v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); v_cse1.done; - v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID}; + v_createRequest.primitiveContent.group_.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int9, v_createRequestAnnc, v_createRequest));//Group v_cse1.done; @@ -10551,7 +10551,7 @@ module OneM2M_Testcases_CSE_Release_2 { v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); v_cse1.done; - v_createRequest.primitiveContent.timeSeries.announceTo := {PX_CSE1_ID}; + v_createRequest.primitiveContent.timeSeries.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int29, v_createRequestAnnc, v_createRequest));//TimeSeries v_cse1.done; @@ -10565,7 +10565,7 @@ module OneM2M_Testcases_CSE_Release_2 { v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); v_cse1.done; - v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_CSE1_ID}; + v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance v_cse1.done; @@ -10679,8 +10679,8 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc; v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); - v_cse1.done; - v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID}; + v_cse1.done; + v_createRequest.primitiveContent.accessControlPolicy.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy v_cse1.done; @@ -10693,8 +10693,8 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase; v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); - v_cse1.done; - v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID}; + v_cse1.done; + v_createRequest.primitiveContent.container.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container v_cse1.done; @@ -10707,8 +10707,8 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc; v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); - v_cse1.done; - v_createRequest.primitiveContent.contentInstance.announceTo := {PX_CSE1_ID}; + v_cse1.done; + v_createRequest.primitiveContent.contentInstance.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int4, v_createRequestAnnc, v_createRequest));//ContentInstance v_cse1.done; @@ -10722,8 +10722,8 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase; v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); - v_cse1.done; - v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID}; + v_cse1.done; + v_createRequest.primitiveContent.group_.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int9, v_createRequestAnnc, v_createRequest));//Group v_cse1.done; @@ -10736,10 +10736,9 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnncBase; v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); - v_cse1.done; - v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID}; - v_createRequest.primitiveContent.accessControlPolicy.announcedAttribute := {"mbs"}; - + v_cse1.done; + v_createRequest.primitiveContent.accessControlPolicy.announceTo := {"/CSE2_ID"}; + v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int29, v_createRequestAnnc, v_createRequest));//TimeSeries v_cse1.done; } @@ -10750,11 +10749,9 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase; var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesInstanceAnncBase; v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); - v_cse1.done; + v_cse1.done; - v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); - v_cse1.done; - v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_CSE1_ID}; + v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {"/CSE2_ID"}; v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance v_cse1.done;