diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 68b138ce26c4217731f791a1f838ff03d9f48c01..a40d5476b139195112fffd83f280c066ce3b8fe9 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -45,8 +45,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_aeSimuDesc.mcaPort, vc_aeSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; activate(a_default()); vc_aeSimu := activate(a_cse_cf01()); @@ -86,8 +86,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_aeSimuDesc.mcaPort, vc_aeSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; //Initialze the IUT @@ -119,8 +119,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_aeSimuDesc.mcaPort, vc_aeSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; activate(a_default()); vc_aeSimu := activate(a_cse_cf02_ae1()); @@ -158,8 +158,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_cseSimuDesc.mccPort, vc_cseSimuDesc.mccPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding, vc_cseSimuDesc.mccPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { e_mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { e_mccPortIn, v_host, v_binding, vc_cseSimuDesc.mccPortIn.serialization }; v_cSEBaseResource := f_generateLocalResource(m_primitiveContentCSEBase(m_contentCSEBase(vc_cseSimuDesc)), -1, int5); vc_cSEBaseIndex := f_setLocalResource(v_cSEBaseResource, int5, -1); @@ -200,8 +200,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_cseSimuDesc.mccPort, vc_cseSimuDesc.mccPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding_in, vc_cseSimuDesc.mccPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { e_mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { e_mccPortIn, v_host, v_binding_in, vc_cseSimuDesc.mccPortIn.serialization }; activate(a_default()); vc_cseSimu := activate(a_cse_cf02_cse1()); @@ -251,8 +251,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_cseSimuDesc.mccPort, vc_cseSimuDesc.mccPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding_in, vc_cseSimuDesc.mccPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { e_mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { e_mccPortIn, v_host, v_binding_in, vc_cseSimuDesc.mccPortIn.serialization }; activate(a_default()); vc_cseSimu := activate(a_cse_cf02_cse1()); @@ -281,8 +281,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_aeSimuDesc.mcaPort, vc_aeSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; //Initialze the IUT @@ -316,8 +316,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_cseSimuDesc.mcaPort, vc_cseSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_cseSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_cseSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_cseSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_cseSimuDesc.mcaPortIn.serialization }; if(PX_UT_IMPLEMENTED) { map(self:utPort, system:utPort) param (PX_TS_UT); @@ -363,8 +363,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_cseSimuDesc.mcaPort, vc_cseSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_cseSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding, vc_cseSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_cseSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding, vc_cseSimuDesc.mcaPortIn.serialization }; v_cSEBaseResource := f_generateLocalResource(m_primitiveContentCSEBase(m_contentCSEBase(vc_cseSimuDesc)), -1, int5); vc_cSEBaseIndex := f_setLocalResource(v_cSEBaseResource, int5, -1); @@ -402,8 +402,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_cseSimuDesc.mccPort, vc_cseSimuDesc.mccPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding_in, vc_cseSimuDesc.mccPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { e_mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { e_mccPortIn, v_host, v_binding_in, vc_cseSimuDesc.mccPortIn.serialization }; activate(a_default()); vc_cseSimu := activate(a_cse_cf04()); @@ -448,8 +448,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_cseSimuDesc.mccPort, vc_cseSimuDesc.mccPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding, vc_cseSimuDesc.mccPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { e_mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { e_mccPortIn, v_host, v_binding, vc_cseSimuDesc.mccPortIn.serialization }; v_cSEBaseResource := f_generateLocalResource(m_primitiveContentCSEBase(m_contentCSEBase(vc_cseSimuDesc)), -1, int5); vc_cSEBaseIndex := f_setLocalResource(v_cSEBaseResource, int5, -1); @@ -508,8 +508,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_aeSimuDesc.mcaPort, vc_aeSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; activate(a_default()); vc_aeSimu := activate(a_cse_cf06_ae1()); @@ -543,8 +543,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_dasSimuDesc.mcaPort, vc_dasSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_dasSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_dasSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_dasSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_dasSimuDesc.mcaPortIn.serialization }; activate(a_default()); vc_aeSimu := activate(a_cse_cf06_das()); @@ -571,8 +571,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_dasSimuDesc.mcaPort, vc_dasSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_dasSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_dasSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_dasSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_dasSimuDesc.mcaPortIn.serialization }; activate(a_default()); vc_aeSimu := activate(a_cse_cf06_das()); @@ -609,8 +609,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_aeSimuDesc.mcaPort, vc_aeSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_aeSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_aeSimuDesc.mcaPortIn.serialization }; activate(a_default()); vc_aeSimu := activate(a_cse_cf06_ae1()); @@ -644,8 +644,8 @@ module OneM2M_Functions { f_setProtocolBinding(vc_cseSimuDesc.mcaPort, vc_cseSimuDesc.mcaPortIn, v_binding, v_host, v_binding_in); - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, vc_cseSimuDesc.mcaPort.serialization }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, vc_cseSimuDesc.mcaPortIn.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { e_mcaPort, v_host, v_binding, vc_cseSimuDesc.mcaPort.serialization }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { e_mcaPortIn, v_host, v_binding_in, vc_cseSimuDesc.mcaPortIn.serialization }; if(PX_UT_IMPLEMENTED) { map(self:utPort, system:utPort) param (PX_TS_UT); @@ -1644,7 +1644,7 @@ module OneM2M_Functions { v_request.from_ := f_getOriginator(vc_resourcesIndexToBeDeleted[i]); - f_send(e_mcaPort, m_request(v_request)); + f_send(e_mcaPort, m_request(v_request), false); tc_ac.start; alt { @@ -1732,6 +1732,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; @@ -1783,7 +1784,7 @@ module OneM2M_Functions { v_request := valueof(m_delete(v_resourceAddress, f_getOriginator(v_resourceIndex, vc_testSystemRole))); - f_send(e_mccPort, m_request(v_request)); + f_send(e_mccPort, m_request(v_request), false); tc_ac.start; alt { @@ -1813,7 +1814,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_mccPort, m_request(v_request)); + f_send(e_mccPort, m_request(v_request), false); tc_ac.start; alt { @@ -1841,9 +1842,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_mccPortIn, m_response(vc_response.primitive.responsePrimitive)); log(__SCOPE__&": INFO: Deregistration performed successfully"); } @@ -2044,6 +2045,7 @@ module OneM2M_Functions { function f_cse_retrieveResource(integer p_resourceIndex, in template(omit) XSD.ID p_virtualResource := omit) runs on AeSimu return PrimitiveContent{ var XSD.ID v_resourceAddress; + var MsgIn v_retrievedResponse; if(isvalue(p_virtualResource)) { v_resourceAddress := f_getResourceAddress(p_resourceIndex) & "/" & valueof(p_virtualResource); @@ -2051,14 +2053,14 @@ module OneM2M_Functions { v_resourceAddress := f_getResourceAddress(p_resourceIndex); } - f_send(e_mcaPort, m_request(m_retrieve(v_resourceAddress, f_getOriginator(p_resourceIndex)))); + f_send(e_mcaPort, m_request(m_retrieve(v_resourceAddress, 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"); } @@ -2069,7 +2071,7 @@ module OneM2M_Functions { f_checkAeSimuStatus(); - return vc_response.primitive.responsePrimitive.primitiveContent; + return v_retrievedResponse.primitive.responsePrimitive.primitiveContent; }// end f_cse_retrieveResource @@ -2084,6 +2086,7 @@ module OneM2M_Functions { function f_cse_retrieveResourceWithRoleToken(integer p_resourceIndex, template (omit) XSD.ID p_roleResourceID := omit, template (omit) XSD.ID p_tokenResourceID := omit) runs on AeSimu return PrimitiveContent{ var template RequestPrimitive v_retrieveRequest; + var MsgIn v_retrievedResponse; v_retrieveRequest := m_retrieve(f_getResourceAddress(p_resourceIndex), f_getOriginator(p_resourceIndex)); if (ispresent(p_roleResourceID)) {v_retrieveRequest.roleIDs := {p_roleResourceID};} if (ispresent(p_tokenResourceID)) {v_retrieveRequest.tokenIDs := {p_tokenResourceID};} @@ -2091,11 +2094,11 @@ module OneM2M_Functions { 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"); } @@ -2106,7 +2109,7 @@ module OneM2M_Functions { f_checkAeSimuStatus(); - return vc_response.primitive.responsePrimitive.primitiveContent; + return v_retrievedResponse.primitive.responsePrimitive.primitiveContent; }// end f_cse_retrieveResourceWithRole @@ -3668,7 +3671,7 @@ module OneM2M_Functions { * @param p_resourceType Type of the resource to be created * @return Index of internal created resource */ - function f_generateAndSetLocalResource(in template(omit) PrimitiveContent p_resource := omit, in integer p_parentIndex := vc_cSEBaseIndex, in ResourceType p_resourceType) runs on CseSimu return integer { + function f_generateAndSetLocalResource(in template(omit) PrimitiveContent p_resource := omit, in integer p_parentIndex := 0, in ResourceType p_resourceType) runs on CseSimu return Integer { //vc_cSEBaseIndex, in ResourceType p_resourceType) runs on CseSimu return Integer { var PrimitiveContent v_localResource; var integer v_localResourceIndex; @@ -3688,7 +3691,7 @@ module OneM2M_Functions { * @param p_resourceType Type of the resource to be created * @return Internal created resource */ - function f_generateLocalResource(in template(omit) PrimitiveContent p_resource := omit, in integer p_parentIndex := vc_cSEBaseIndex, in ResourceType p_resourceType) runs on CseSimu return PrimitiveContent { + function f_generateLocalResource(in template(omit) PrimitiveContent p_resource := omit, in integer p_parentIndex := 0, in ResourceType p_resourceType) runs on CseSimu return PrimitiveContent { //vc_cSEBaseIndex, in ResourceType p_resourceType) runs on CseSimu return PrimitiveContent { var integer v_resourceIndex := lengthof(vc_localResourcesList); var PrimitiveContent v_myResource; @@ -4599,7 +4602,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_mcaPortIn, m_response(v_response)); repeat; } @@ -4608,7 +4611,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_mcaPortIn, m_response(v_response)); repeat; } @@ -4848,7 +4851,7 @@ module OneM2M_Functions { group CseSimuFunctions { - function f_ae_createPollingChannel(template UtTriggerPrimitive p_utRequest := m_utCreateAe, integer p_parentIndex := vc_cSEBaseIndex) runs on CseSimu return integer { + function f_ae_createPollingChannel(template UtTriggerPrimitive p_utRequest := m_utCreateAe, integer p_parentIndex := 0) runs on CseSimu return integer { //vc_cSEBaseIndex) runs on CseSimu return integer { var MsgIn v_request; var PrimitiveContent v_modifiedResource; var integer v_resourceIndex, v_parentIndex; @@ -5898,8 +5901,10 @@ module OneM2M_Functions { v_poa := v_poa & ":" & int2str(p_portDesc.binding.wsBindingDesc.bindingDesc.localPort); } } - v_poa := v_poa & "/" & p_additionalContext; - + if(p_additionalContext != ""){ + v_poa := v_poa & "/" & p_additionalContext; + } + return v_poa; } @@ -5935,7 +5940,9 @@ module OneM2M_Functions { v_poa := v_poa & ":" & int2str(p_portDesc.binding.wsBindingDesc.bindingDesc.remotePort); } } - v_poa := v_poa & "/" & p_additionalContext; + if(p_additionalContext != ""){ + v_poa := v_poa & "/" & p_additionalContext; + } return v_poa; } @@ -6344,7 +6351,7 @@ module OneM2M_Functions { * @return Internal resource index of the saved resource * @verdict */ - function f_setLocalResource(PrimitiveContent p_resource, ResourceType p_resourceType, integer p_parentIndex := vc_cSEBaseIndex) runs on CseSimu return integer { + function f_setLocalResource(PrimitiveContent p_resource, ResourceType p_resourceType, integer p_parentIndex := 0) runs on CseSimu return integer { //vc_cSEBaseIndex) runs on CseSimu return integer { var integer v_newIndex := -1; if(isbound(vc_localResourcesList)) { vc_localResourcesList[lengthof(vc_localResourcesList)] := {p_parentIndex, p_resourceType, p_resource}; @@ -7239,7 +7246,7 @@ module OneM2M_Functions { } } case ("MqttSetDefaultTopicToNotRegistration") { - acPort.send(AcRequestPrimitive:{p_event, {charstring := oct2str(unichar2oct(p_originator))}}); + acPort.send(AcRequestPrimitive:{p_event, {charstring := oct2char(unichar2oct(valueof(p_originator)))}}); } case ("MqttSetDefaultTopicToRegistration") { acPort.send(AcRequestPrimitive:{p_event, {charstring := int2str(p_resourceIndex)}}); @@ -7591,7 +7598,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); @@ -7600,8 +7608,10 @@ module OneM2M_Functions { p_msgOut.serialization := vc_myInterfaces[enum2int(p_interfaceIds)].mySerialization; log("f_send: protocolBinding=", p_msgOut.protocolBinding); if(ischosen(p_msgOut.primitive.requestPrimitive)){ - p_msgOut.primitive.requestPrimitive.requestIdentifier := p_msgOut.primitive.requestPrimitive.requestIdentifier & f_rnd(1, 1000000); - vc_request.primitive.requestPrimitive := valueof(p_msgOut.primitive.requestPrimitive); + p_msgOut.primitive.requestPrimitive.requestIdentifier := valueof(p_msgOut.primitive.requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); + if(p_storingRequest){ + vc_request.primitive.requestPrimitive := valueof(p_msgOut.primitive.requestPrimitive); + } } if(not(vc_componentRegistered)) { if(valueof(p_msgOut.protocolBinding) == "MQTT") { @@ -7610,14 +7620,14 @@ module OneM2M_Functions { if((valueof(p_msgOut.primitive.requestPrimitive.resourceType) != int2) and (valueof(p_msgOut.primitive.requestPrimitive.resourceType) != int16)){ //Modify default topic to publish a non-registration message f_sendAcPrimitive("MqttSetDefaultTopicToNotRegistration", -1, valueof(p_msgOut.primitive.requestPrimitive.from_)); - vc_myInterfaces[enum2int(p_interfaceIds)].myPort.send(p_msgOut); + f_sendWrapper(p_interfaceIds, p_msgOut); f_sendAcPrimitive("MqttSetDefaultTopicToRegistration", -1); return; } } else {//RETRIEVE - UPDATE - DELETE - NOTIFY //Modify default topic to publish a non-registration message f_sendAcPrimitive("MqttSetDefaultTopicToNotRegistration", -1, valueof(p_msgOut.primitive.requestPrimitive.from_)); - vc_myInterfaces[enum2int(p_interfaceIds)].myPort.send(p_msgOut); + f_sendWrapper(p_interfaceIds, p_msgOut); f_sendAcPrimitive("MqttSetDefaultTopicToRegistration", -1); return; } @@ -7625,7 +7635,27 @@ module OneM2M_Functions { } } //TODO: Handle response to normal messages before CSE registration occurs - vc_myInterfaces[enum2int(p_interfaceIds)].myPort.send(p_msgOut); + f_sendWrapper(p_interfaceIds, p_msgOut); + } + + function f_sendWrapper(in InterfaceIds p_interfaceIds,in template MsgOut p_msgOut) runs on Tester { + + select (p_interfaceIds) { + + case (e_mcaPort) { + mcaPort.send(p_msgOut); + } + case (e_mcaPortIn) { + mcaPortIn.send(p_msgOut); + } + case (e_mccPort) { + mccPort.send(p_msgOut); + } + case (e_mccPortIn) { + mccPortIn.send(p_msgOut); + } + } + } /** diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index a286f81817b4197cb83646548b0e37ef983792af..9625cae8492e7f0f5b761cd3d4ef8132a126fdae 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -3627,7 +3627,7 @@ module OneM2M_Templates { subscriberURI := p_subscriberURI//O }; - template (value) EventNotificationCriteria m_eventNotificationCriteria ( in EventNotificationCriteria.notificationEventType_list p_notificationEventType_list := {}, template (omit) EventNotificationCriteria.attribute p_attribute_list := omit) := { //the parameter should be a list of NotificationEventTypeEventType + template (value) EventNotificationCriteria m_eventNotificationCriteria ( template (omit) EventNotificationCriteria.notificationEventType_list p_notificationEventType_list := omit, template (omit) EventNotificationCriteria.attribute p_attribute_list := omit) := { //the parameter should be a list of NotificationEventTypeEventType createdBefore := omit, createdAfter := omit, modifiedSince := omit, @@ -8469,9 +8469,9 @@ module OneM2M_Templates { resultPersistence := omit, resultContent := omit, eventCategory := omit, - filterCriteria := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, + filterCriteria := omit, desiredIdentifierResultType := omit, tokens := omit, tokenIDs := omit, diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn index 66b9933e5f4bf0a660b921ee6069df3ec97caf6a..e53d24386ff207eb3c4a2f22266d91912131d1f8 100644 --- a/LibOneM2M/OneM2M_TestSystem.ttcn +++ b/LibOneM2M/OneM2M_TestSystem.ttcn @@ -30,12 +30,12 @@ module OneM2M_TestSystem { } type record Interface { - OneM2MPort myPort, - charstring myHost, - charstring myProtocolBinding, - charstring mySerialization + InterfaceIds myPort, + charstring myHost, + charstring myProtocolBinding, + charstring mySerialization } - + type record of Interface Interfaces; type component Tester { @@ -43,6 +43,12 @@ module OneM2M_TestSystem { port AdapterControlPort acPort; port InfoPort infoPort; port UpperTesterPort utPort; + //Ports for AeSimu/CseSimu + port OneM2MPort mcaPort; + port OneM2MPort mcaPortIn; + port OneM2MPort mccPort; + port OneM2MPort mccPortIn; + port OneM2MPortInternal mccPortInternal; //Common timers timer tc_ac := PX_TAC; timer tc_wait := PX_TWAIT; @@ -73,9 +79,6 @@ module OneM2M_TestSystem { //Attached components depending on config var AeSimu vc_ae2; var CseSimu vc_cse1;//For CF02 when AeSimu is master - //Ports - port OneM2MPort mcaPort; - port OneM2MPort mcaPortIn; //global variables //About configuration of the component var AeSimuComponentDesc vc_aeSimuDesc; @@ -94,12 +97,6 @@ module OneM2M_TestSystem { //Attached components depending on config var AeSimu vc_ae1;//For CF02 when CseSimu is master var CseSimu vc_cse2; - //Ports - port OneM2MPort mcaPort; - port OneM2MPort mcaPortIn; - port OneM2MPort mccPort; - port OneM2MPort mccPortIn; - port OneM2MPortInternal mccPortInternal; //global variables //About configuration of the component var CseSimuComponentDesc vc_cseSimuDesc; diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index 3738f7b198b9410bef77b6388634e43f9a9a8701..94b75c60b2747f5b62fbbc65507adcabf88a1cca 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -6767,6 +6767,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; @@ -6845,11 +6846,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_mcaPortIn, m_response(v_responsePrimitive)); tc_ac.start; repeat; diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn index 368690adb0aeebc96bd406bc0c0f35e66a5f0c10..11bedb2994b31021ae80fc0a9f3dc2b8e81a923d 100644 --- a/OneM2M_Testcases_CSE_Release_1.ttcn +++ b/OneM2M_Testcases_CSE_Release_1.ttcn @@ -589,7 +589,7 @@ module OneM2M_Testcases_CSE_Release_1 { //Local variables var MsgIn v_request; var template RequestPrimitive v_requestPrimitive; - const charstring v_cseId := PX_CSE_ID; + const charstring v_cseId := oct2char(unichar2oct(PX_CSE_ID)); template XSD.AnyURI v_link := pattern "{v_cseId}/S"; //Test control @@ -656,7 +656,7 @@ module OneM2M_Testcases_CSE_Release_1 { var MsgIn v_request; var template RequestPrimitive v_requestPrimitive; var integer v_cseBaseIndex := -1; - const charstring v_cseId := PX_CSE_ID; + const charstring v_cseId := oct2char(unichar2oct(PX_CSE_ID)); template XSD.AnyURI v_link := pattern "{v_cseId}/?*"; //Test control @@ -724,7 +724,7 @@ module OneM2M_Testcases_CSE_Release_1 { var template RequestPrimitive v_requestPrimitive; var integer v_aeIndex := -1; var integer v_aeAnncIndex := -1; - const charstring v_cseId := PX_CSE_ID; + const charstring v_cseId := oct2char(unichar2oct(PX_CSE_ID)); template XSD.AnyURI v_link := pattern "{v_cseId}/?*"; //Test control @@ -2187,7 +2187,7 @@ module OneM2M_Testcases_CSE_Release_1 { var RequestPrimitive v_request; var integer v_aeAnncIndex := -1; var template PrimitiveContent v_primitiveContent; - const charstring v_cseId := PX_CSE_ID; + const charstring v_cseId := oct2char(unichar2oct(PX_CSE_ID)); template XSD.AnyURI v_link := pattern "{v_cseId}/S*"; template XSD.ID v_resourceID := pattern "S*"; @@ -6220,8 +6220,8 @@ module OneM2M_Testcases_CSE_Release_1 { v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.group_)) { - if(v_primitiveContentRetrieveResource.group_.maxNrOfMembers == 0){ - setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + if(not ispresent(v_primitiveContentRetrieveResource.group_.maxNrOfMembers)){ + setverdict(fail, __SCOPE__ & ": Error: maxNrOfMembers attribute deleted") } } } @@ -6246,8 +6246,8 @@ module OneM2M_Testcases_CSE_Release_1 { v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { - if(v_primitiveContentRetrieveResource.accessControlPolicy.selfPrivileges == v_selfPrivileges) { - setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + if(not ispresent(v_primitiveContentRetrieveResource.accessControlPolicy.selfPrivileges)) { + setverdict(fail, __SCOPE__ & ": Error: selfPrivileges attribute deleted") } } } @@ -6271,8 +6271,8 @@ module OneM2M_Testcases_CSE_Release_1 { v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.subscription)) { - if(v_primitiveContentRetrieveResource.subscription.notificationURI == {"NullTarget"}){ - setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + if(not ispresent(v_primitiveContentRetrieveResource.subscription.notificationURI)){ + setverdict(fail, __SCOPE__ & ": Error: notificationURI attribute deleted") } } } @@ -6618,6 +6618,7 @@ module OneM2M_Testcases_CSE_Release_1 { var AeSimu v_ae1 := AeSimu.create("AE1") alive; var AcpType v_accessControlPolicyIDs_1 := {"NotInitialized_1"}; var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"}; + var RequestPrimitive v_requestPrimitive; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createContainerBase; @@ -6631,10 +6632,11 @@ module OneM2M_Testcases_CSE_Release_1 { if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_requestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { - if(v_responsePrimitive.primitiveContent.container.accessControlPolicyIDs != v_accessControlPolicyIDs_2){ + if(v_responsePrimitive.primitiveContent.container.accessControlPolicyIDs != v_requestPrimitive.primitiveContent.container.accessControlPolicyIDs){ setverdict(fail, __SCOPE__ & ": Error: AccessControlPolicyIDs attribute not updated correctly") } } @@ -6770,6 +6772,7 @@ module OneM2M_Testcases_CSE_Release_1 { var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var RequestPrimitive v_requestPrimitive; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_1; v_updateRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_2; @@ -6780,10 +6783,11 @@ module OneM2M_Testcases_CSE_Release_1 { if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_requestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { - if(v_responsePrimitive.primitiveContent.subscription.accessControlPolicyIDs != v_accessControlPolicyIDs_2){ + if(v_responsePrimitive.primitiveContent.subscription.accessControlPolicyIDs != v_requestPrimitive.primitiveContent.subscription.accessControlPolicyIDs){ setverdict(fail, __SCOPE__ & ": Error: AccessControlPolicyIDs attribute not updated correctly") } } @@ -7410,6 +7414,7 @@ module OneM2M_Testcases_CSE_Release_1 { var ListOfURIs v_membersAccessControlPolicyIDs := {"NotInitialized"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; + var RequestPrimitive v_updateRequestPrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.group_.membersAccessControlPolicyIDs := v_membersAccessControlPolicyIDs; v_ae1.start(f_CSE_DMR_UPD_015(int9, m_createGroupBase, v_updateRequest, true));//Group @@ -7418,10 +7423,11 @@ module OneM2M_Testcases_CSE_Release_1 { if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { - if(v_responsePrimitive.primitiveContent.group_.membersAccessControlPolicyIDs != v_membersAccessControlPolicyIDs){ + if(v_responsePrimitive.primitiveContent.group_.membersAccessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.group_.membersAccessControlPolicyIDs)){ setverdict(fail, __SCOPE__ & ": Error: Members Access Control Policy IDs attribute not updated correctly") } } @@ -7430,7 +7436,7 @@ module OneM2M_Testcases_CSE_Release_1 { //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { - if(v_primitiveContentRetrieveResource.group_.membersAccessControlPolicyIDs != v_membersAccessControlPolicyIDs){ + if(v_primitiveContentRetrieveResource.group_.membersAccessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.group_.membersAccessControlPolicyIDs)){ setverdict(fail, __SCOPE__ & ": Error: Members Access Control Policy IDs attribute not updated correctly") } } @@ -7480,7 +7486,7 @@ module OneM2M_Testcases_CSE_Release_1 { testcase TC_CSE_DMR_UPD_016_CSR_ET() runs on Tester system CseSystem { var verdicttype v_verdict; var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Timestamp v_expirationTime := "21001231T012345"; + var Timestamp v_expirationTime := "20301231T012345"; var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -7546,7 +7552,7 @@ module OneM2M_Testcases_CSE_Release_1 { testcase TC_CSE_DMR_UPD_016_AE_ET() runs on Tester system CseSystem { var verdicttype v_verdict; var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Timestamp v_expirationTime := "21001231T012345"; + var Timestamp v_expirationTime := "20301231T012345"; var template RequestPrimitive v_updateRequest := m_updateAeBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -7614,7 +7620,7 @@ module OneM2M_Testcases_CSE_Release_1 { testcase TC_CSE_DMR_UPD_016_CNT_ET() runs on Tester system CseSystem { var verdicttype v_verdict; var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Timestamp v_expirationTime := "21001231T012345"; + var Timestamp v_expirationTime := "20301231T012345"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -7648,7 +7654,7 @@ module OneM2M_Testcases_CSE_Release_1 { testcase TC_CSE_DMR_UPD_016_ACP_ET() runs on Tester system CseSystem { var verdicttype v_verdict; var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Timestamp v_expirationTime := "21001231T012345"; + var Timestamp v_expirationTime := "20301231T012345"; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -7748,7 +7754,7 @@ module OneM2M_Testcases_CSE_Release_1 { testcase TC_CSE_DMR_UPD_016_SUB_ET() runs on Tester system CseSystem { var verdicttype v_verdict; var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Timestamp v_expirationTime := "21001231T012345"; + var Timestamp v_expirationTime := "20301231T012345"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -7785,6 +7791,7 @@ module OneM2M_Testcases_CSE_Release_1 { var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ListOfURIs v_notificationURI := {"NotReachableNotificationURI"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var RequestPrimitive v_updateRequestPrimitive; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -7796,10 +7803,11 @@ module OneM2M_Testcases_CSE_Release_1 { if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { - if(v_responsePrimitive.primitiveContent.subscription.notificationURI != v_notificationURI){ + if(v_responsePrimitive.primitiveContent.subscription.notificationURI != v_updateRequestPrimitive.primitiveContent.subscription.notificationURI){ setverdict(fail, __SCOPE__ & ": Error: Notification URI attribute not updated correctly") } } @@ -7808,7 +7816,7 @@ module OneM2M_Testcases_CSE_Release_1 { //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { - if(v_primitiveContentRetrieveResource.subscription.notificationURI != v_notificationURI){ + if(v_primitiveContentRetrieveResource.subscription.notificationURI != v_updateRequestPrimitive.primitiveContent.subscription.notificationURI){ setverdict(fail, __SCOPE__ & ": Error: Notification URI attribute not updated correctly") } } @@ -7852,7 +7860,7 @@ module OneM2M_Testcases_CSE_Release_1 { testcase TC_CSE_DMR_UPD_016_GRP_ET() runs on Tester system CseSystem { var verdicttype v_verdict; var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Timestamp v_expirationTime := "21001231T012345"; + var Timestamp v_expirationTime := "20301231T012345"; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -7922,6 +7930,7 @@ module OneM2M_Testcases_CSE_Release_1 { var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ListOfURIs v_memberIDs := {"NotInitialized"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; + var RequestPrimitive v_updateRequestPrimitive; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.group_.memberIDs := v_memberIDs; @@ -7932,10 +7941,11 @@ module OneM2M_Testcases_CSE_Release_1 { if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { - if(v_responsePrimitive.primitiveContent.group_.memberIDs != v_memberIDs){ + if(v_responsePrimitive.primitiveContent.group_.memberIDs != v_updateRequestPrimitive.primitiveContent.group_.memberIDs){ setverdict(fail, __SCOPE__ & ": Error: Member IDs attribute not updated correctly") } } @@ -7944,7 +7954,7 @@ module OneM2M_Testcases_CSE_Release_1 { //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { - if(v_primitiveContentRetrieveResource.group_.memberIDs != v_memberIDs){ + if(v_primitiveContentRetrieveResource.group_.memberIDs != v_updateRequestPrimitive.primitiveContent.group_.memberIDs){ setverdict(fail, __SCOPE__ & ": Error: Member IDs attribute not updated correctly") } } diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index 6afe2af5d59d77bc99d3bf2c9d13426130ac3da8..0a28580f4e7400d21704cea5199ac0ecc4a0aecd 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -1415,7 +1415,7 @@ module OneM2M_Testcases_CSE_Release_2 { var verdicttype v_verdict; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; - var Timestamp v_expirationTime_2 := "20401020T012345"; + var Timestamp v_expirationTime_2 := "20301231T012340"; var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; @@ -1445,7 +1445,7 @@ module OneM2M_Testcases_CSE_Release_2 { var verdicttype v_verdict; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; - var Timestamp v_expirationTime_2 := "20401020T012345"; + var Timestamp v_expirationTime_2 := "20301231T012340"; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createContainerBase; @@ -1567,7 +1567,7 @@ module OneM2M_Testcases_CSE_Release_2 { var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; - var Timestamp v_expirationTime_2 := "20401020T012345"; + var Timestamp v_expirationTime_2 := "20301231T012340"; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; @@ -3364,6 +3364,7 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_req2; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2; + var RequestID v_expectedRequestIdentifier; // Test control @@ -3390,7 +3391,8 @@ module OneM2M_Testcases_CSE_Release_2 { vc_cse1.start(f_cse_notifyProcedure_notify(valueof(v_req2))); v_req2.from_ := PX_TS_CSE1.cseId; - v_req2.requestIdentifier := pattern "{v_req2.requestIdentifier}*"; + v_expectedRequestIdentifier := valueof(v_req2.requestIdentifier); + v_req2.requestIdentifier := pattern "{v_expectedRequestIdentifier}*"; tc_ac.start; alt { @@ -3475,6 +3477,7 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_req2; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2; + var RequestID v_expectedRequestIdentifier; // Test control @@ -3497,7 +3500,8 @@ module OneM2M_Testcases_CSE_Release_2 { vc_cse1.start(f_cse_notifyProcedure_notify(valueof(v_req2))); v_req2.from_ := PX_TS_CSE1.cseId; - v_req2.requestIdentifier := pattern "{v_req2.requestIdentifier}*"; + v_expectedRequestIdentifier := valueof(v_req2.requestIdentifier); + v_req2.requestIdentifier := pattern "{v_expectedRequestIdentifier}*"; v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); f_send(e_mcaPort, m_request(v_req1)); @@ -3583,7 +3587,8 @@ module OneM2M_Testcases_CSE_Release_2 { var RequestPrimitive v_req3; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2;//Response to a Notify Request - + var RequestID v_expectedRequestIdentifier; + // Test control @@ -3609,7 +3614,8 @@ module OneM2M_Testcases_CSE_Release_2 { vc_cse1.start(f_cse_notifyProcedure_notify(valueof(v_req2))); v_req2.from_ := PX_TS_CSE1.cseId; - v_req2.requestIdentifier := pattern "{v_req2.requestIdentifier}*"; + v_expectedRequestIdentifier := valueof(v_req2.requestIdentifier); + v_req2.requestIdentifier := pattern "{v_expectedRequestIdentifier}*"; tc_ac.start; alt {