diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 3cb212d9f6178abe30352a844f93b77a6848a464..ec9c5df5eeb6f5ff4382cc5e67558c52d5964195 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -1231,7 +1231,7 @@ module OneM2M_Functions { v_request.from_ := f_getOriginator(vc_resourcesIndexToBeDeleted[i]); - f_send(e_mca_port, m_request(v_request)); + f_send(e_mca_port, m_request(v_request), false); tc_ac.start; alt { @@ -1298,6 +1298,7 @@ module OneM2M_Functions { var integer v_resourceIndex := -1; var URIList v_childResourceRefs; var XSD.ID v_resourceAddress; + var MsgIn v_msgIn; var RequestPrimitive v_request; var boolean v_deregistrationPerformed := false; var template UtTriggerPrimitive v_utRequest := m_utDelete; @@ -1323,7 +1324,7 @@ module OneM2M_Functions { v_request := valueof(m_delete(v_resourceAddress, f_getOriginator(v_resourceIndex, vc_testSystemRole))); - f_send(e_mcc_port, m_request(v_request)); + f_send(e_mcc_port, m_request(v_request), false); tc_ac.start; alt { @@ -1353,7 +1354,7 @@ module OneM2M_Functions { //v_request := valueof(m_delete(v_childResourceRefs[0], f_getOriginator(vc_remoteCseIndex))); v_request := valueof(m_delete(v_childResourceRefs[0]));//TODO Originator super user to be replaced by CSE1_ID (line above) - f_send(e_mcc_port, m_request(v_request)); + f_send(e_mcc_port, m_request(v_request), false); tc_ac.start; alt { @@ -1381,9 +1382,9 @@ module OneM2M_Functions { tc_ac.start; alt { - [] mccPortIn.receive(mw_request(mw_delete(f_getLocalResourceAddress(vc_localRemoteCseIndex)))) -> value vc_request { + [] mccPortIn.receive(mw_request(mw_delete(f_getLocalResourceAddress(vc_localRemoteCseIndex)))) -> value v_msgIn { tc_ac.stop; - f_processDeleteRequestPrimitive(vc_request.primitive.requestPrimitive); + f_processDeleteRequestPrimitive(v_msgIn.primitive.requestPrimitive); f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); log(__SCOPE__&": INFO: Deregistration performed successfully"); } @@ -1572,15 +1573,16 @@ module OneM2M_Functions { * @verdict */ function f_cse_retrieveResource(integer p_resourceIndex) runs on AeSimu return PrimitiveContent{ - - f_send(e_mca_port, m_request(m_retrieve(f_getResourceAddress(p_resourceIndex), f_getOriginator(p_resourceIndex)))); + var MsgIn v_retrievedResponse; + + f_send(e_mca_port, m_request(m_retrieve(f_getResourceAddress(p_resourceIndex), f_getOriginator(p_resourceIndex))), false); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_retrievedResponse { tc_ac.stop; setverdict(pass, __SCOPE__&":INFO: Resource retrieved successfuly"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Error while retrieving resource"); } @@ -1591,7 +1593,7 @@ module OneM2M_Functions { f_checkAeSimuStatus(); - return vc_response.primitive.responsePrimitive.primitiveContent; + return v_retrievedResponse.primitive.responsePrimitive.primitiveContent; }// end f_cse_retrieveResource @@ -3617,7 +3619,7 @@ module OneM2M_Functions { //Send response in any case v_response := valueof(m_responseNotification(int2000, omit)); - v_response.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + v_response.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier; f_send(e_mca_in_port, m_response(v_response)); repeat; } @@ -3626,7 +3628,7 @@ module OneM2M_Functions { //Send response in any case v_response := valueof(m_responseNotification(int2000, omit)); - v_response.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + v_response.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier; f_send(e_mca_in_port, m_response(v_response)); repeat; } @@ -5992,7 +5994,8 @@ module OneM2M_Functions { function f_send( in InterfaceIds p_interfaceIds, - in template MsgOut p_msgOut + in template MsgOut p_msgOut, + in boolean p_storingRequest := true ) runs on Tester { log(">>> f_send: ", p_interfaceIds); @@ -6002,7 +6005,9 @@ module OneM2M_Functions { log("f_send: protocolBinding=", p_msgOut.protocolBinding); if(ischosen(p_msgOut.primitive.requestPrimitive)){ p_msgOut.primitive.requestPrimitive.requestIdentifier := valueof(p_msgOut.primitive.requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - vc_request.primitive.requestPrimitive := valueof(p_msgOut.primitive.requestPrimitive); + if(p_storingRequest){ + vc_request.primitive.requestPrimitive := valueof(p_msgOut.primitive.requestPrimitive); + } } if(not(vc_componentRegistered)) { if(valueof(p_msgOut.protocolBinding) == "MQTT") { diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index b6b78739a2abc7f7a6628c48d4cee6bcf1e1163c..a53e93702f2ca2b3e2a71a0618ded0665c8889a0 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -5949,6 +5949,7 @@ module OneM2M_PermutationFunctions { function f_CSE_DMR_UPD_016(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu system CseSystem { //Local variables var MsgIn v_response; + var MsgIn v_msgIn; var RequestPrimitive v_request; var ResponsePrimitive v_responsePrimitive; var integer v_aeIndex := -1; @@ -6027,11 +6028,11 @@ module OneM2M_PermutationFunctions { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating mandatory attribute"); } - [] mcaPortIn.receive(mw_request(mw_notifyNotification(mw_contentNotificationVerification))) -> value vc_request { + [] mcaPortIn.receive(mw_request(mw_notifyNotification(mw_contentNotificationVerification))) -> value v_msgIn { tc_ac.stop; setverdict(pass, __SCOPE__ & ":INFO: Notification for Subscription verification received"); v_responsePrimitive := valueof(m_responseNotification(int2000, omit)); - v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + v_responsePrimitive.requestIdentifier := v_msgIn.primitive.requestPrimitive.requestIdentifier; f_send(e_mca_in_port, m_response(v_responsePrimitive)); tc_ac.start; repeat;