diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 9d2b322cb6499379efdcd06f8135c871aa76b8d6..37a8cf4d07ceed91debf3f307c6208254c35d8b7 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -2162,7 +2162,7 @@ module OneM2M_Functions { v_myResource.contentInstance.resourceType := p_resourceType; v_myResource.contentInstance.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource); v_myResource.contentInstance.creationTime := fx_generateTimestamp(); - v_myResource.contentInstance.lastModifiedTime := v_myResource.container.creationTime; + v_myResource.contentInstance.lastModifiedTime := v_myResource.contentInstance.creationTime; if(not(ispresent(p_resource.contentInstance.expirationTime))) { v_myResource.contentInstance.expirationTime := "20301231T012345"; } @@ -2324,20 +2324,8 @@ module OneM2M_Functions { log(__SCOPE__&": WARNING: Unexpected CREATE message received"); tc_ac.stop; - v_parentResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - if(v_parentResourceIndex == -1) { - log(__SCOPE__&": ERROR: Target resource not found"); - v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier)); - - } else { - v_localResource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentResourceIndex, v_request.primitive.requestPrimitive.resourceType); - v_localResourceIndex := f_setLocalResource(v_localResource, v_request.primitive.requestPrimitive.resourceType, v_parentResourceIndex); + v_localResourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive); - v_response := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier)); - v_response.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource; - } - v_response.from_ := PX_CSE1_ID; - v_response.to_ := v_request.primitive.requestPrimitive.from_; mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response))); tc_ac.start(10.0); repeat; @@ -2346,25 +2334,11 @@ module OneM2M_Functions { tc_ac.stop; log(__SCOPE__&": WARNING: Unexpected RETRIEVE message received"); - v_localResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - if(v_localResourceIndex == -1) - { - log(__SCOPE__&": ERROR: Resource Index not valid"); - v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier)); - v_response.from_ := PX_CSE1_ID; - v_response.to_ := v_request.primitive.requestPrimitive.from_; - mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response))); + f_processRetrieveRequestPrimitive(v_request.primitive.requestPrimitive); + if(ischosen(vc_response.primitive.responsePrimitive.primitiveContent.cSEBase)) { + mccPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive, {{"parentID", omit}}))); } else { - v_response := valueof(m_responsePrimitive(int2000,v_request.primitive.requestPrimitive.requestIdentifier)); - v_response.from_ := PX_CSE1_ID; - v_response.to_ := v_request.primitive.requestPrimitive.from_; - v_response.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource; - if(ischosen(vc_localResourcesList[v_localResourceIndex].resource.cSEBase)) { - mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response, {{"parentID", omit}}))); - } else { - mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response))); - } - + mccPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); } tc_ac.start(10.0); repeat; @@ -2373,22 +2347,8 @@ module OneM2M_Functions { tc_ac.stop; log(__SCOPE__&": WARNING: Unexpected UPDATE message received"); - v_localResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - if(v_localResourceIndex == -1) - { - log(__SCOPE__&": ERROR: Resource Index not valid"); - v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier)); - v_response.from_ := PX_CSE1_ID; - v_response.to_ := v_request.primitive.requestPrimitive.from_; - mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response))); - } else { - v_response := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier)); - v_response.from_ := PX_CSE1_ID; - v_response.to_ := v_request.primitive.requestPrimitive.from_; - f_updateLocalResource(v_localResourceIndex, v_request.primitive.requestPrimitive.primitiveContent); - v_response.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource; - mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response))); - } + f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive); + mccPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); tc_ac.start(10.0); repeat; } @@ -2396,20 +2356,8 @@ module OneM2M_Functions { tc_ac.stop; log(__SCOPE__&": WARNING: Unexpected DELETE message received"); - v_localResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - if(v_localResourceIndex == -1) - { - log(__SCOPE__&": ERROR: Resource Index not valid"); - v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier)); - v_response.from_ := PX_CSE1_ID; - v_response.to_ := v_request.primitive.requestPrimitive.from_; - mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response))); - } else { - v_response := valueof(m_responsePrimitive(int2002,v_request.primitive.requestPrimitive.requestIdentifier)); - v_response.from_ := PX_CSE1_ID; - v_response.to_ := v_request.primitive.requestPrimitive.from_; - mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response))); - } + f_processDeleteRequestPrimitive(v_request.primitive.requestPrimitive); + mccPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); tc_ac.start(10.0); repeat; } @@ -3079,10 +3027,10 @@ module OneM2M_Functions { } else { - log("Non Hierarchical method: " & v_cleanedURI); for(i:=0; i < lengthof(vc_localResourcesList); i := i+1){ if(v_cleanedURI == f_getResourceId(vc_localResourcesList[i].resource)){ v_resourceIndex := i; + log("Non Hierarchical method: " & v_cleanedURI); break; } } @@ -3091,6 +3039,10 @@ module OneM2M_Functions { //Try CSEBase if(v_resourceIndex == -1) { if(v_cleanedURI == f_getResourceName(vc_localResourcesList[vc_cSEBaseIndex].resource)) { + log("Hierarchical method: " & v_cleanedURI); + v_resourceIndex := vc_cSEBaseIndex; + } else if (v_cleanedURI == f_getResourceId(vc_localResourcesList[vc_cSEBaseIndex].resource)) { + log("Non Hierarchical method: " & v_cleanedURI); v_resourceIndex := vc_cSEBaseIndex; } } @@ -3360,9 +3312,9 @@ module OneM2M_Functions { } // end f_getAnnouncedResourceType /** - * @desc Proccessing of the request primitive + * @desc Proccessing of the CREATE request primitive * @param p_request Request primitive to be processed - * @return p_response Response primitive to be sent back + * @return Local resource index */ function f_processCreateRequestPrimitive(in RequestPrimitive p_request) runs on CseSimu return integer { var integer v_parentIndex := -1; @@ -3387,7 +3339,73 @@ module OneM2M_Functions { return v_localResourceIndex; } + + /** + * @desc Proccessing of the UPDATE request primitive + * @param p_request Request primitive to be processed + */ + function f_processUpdateRequestPrimitive(in RequestPrimitive p_request) runs on CseSimu { + var integer v_targetLocalResourceIndex := -1; + + v_targetLocalResourceIndex := f_getResourceIndex(p_request.to_); + if(v_targetLocalResourceIndex == -1) { + setverdict(inconc,__SCOPE__&": ERROR: Target resource not found"); + vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int4004,p_request.requestIdentifier)); + + } else { + setverdict(pass, __SCOPE__&":INFO: Resource created successfuly"); + f_updateLocalResource(v_targetLocalResourceIndex, p_request.primitiveContent); + vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int2001,p_request.requestIdentifier)); + vc_response.primitive.responsePrimitive.primitiveContent := vc_localResourcesList[v_targetLocalResourceIndex].resource; + } + vc_response.primitive.responsePrimitive.from_ := PX_CSE1_ID; + vc_response.primitive.responsePrimitive.to_ := p_request.from_; + + } + + /** + * @desc Proccessing of the RETRIEVE request primitive + * @param p_request Request primitive to be processed + */ + function f_processRetrieveRequestPrimitive(in RequestPrimitive p_request) runs on CseSimu { + var integer v_targetLocalResourceIndex := -1; + + v_targetLocalResourceIndex := f_getResourceIndex(p_request.to_); + if(v_targetLocalResourceIndex == -1) { + setverdict(inconc,__SCOPE__&": ERROR: Target resource not found"); + vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int4004,p_request.requestIdentifier)); + + } else { + setverdict(pass, __SCOPE__&":INFO: Resource created successfuly"); + vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int2001,p_request.requestIdentifier)); + vc_response.primitive.responsePrimitive.primitiveContent := vc_localResourcesList[v_targetLocalResourceIndex].resource; + } + vc_response.primitive.responsePrimitive.from_ := PX_CSE1_ID; + vc_response.primitive.responsePrimitive.to_ := p_request.from_; + + } + /** + * @desc Proccessing of the DELETE request primitive + * @param p_request Request primitive to be processed + */ + function f_processDeleteRequestPrimitive(in RequestPrimitive p_request) runs on CseSimu { + var integer v_targetLocalResourceIndex := -1; + + v_targetLocalResourceIndex := f_getResourceIndex(p_request.to_); + if(v_targetLocalResourceIndex == -1) { + setverdict(inconc,__SCOPE__&": ERROR: Target resource not found"); + vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int4004,p_request.requestIdentifier)); + + } else { + setverdict(pass, __SCOPE__&":INFO: Resource created successfuly"); + vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int2001,p_request.requestIdentifier)); + } + vc_response.primitive.responsePrimitive.from_ := PX_CSE1_ID; + vc_response.primitive.responsePrimitive.to_ := p_request.from_; + + } + }//end group getSetFunctions group CheckingFunctions { diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index 72bbe9088ca7451d6a8234e48dc2e0df85c2d164..0b475b9c0c473a5cbeb7d198b0ddedfe61711aa6 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -31,13 +31,9 @@ module OneM2M_PermutationFunctions { function f_AE_GEN_CRE_001(PrimitiveScope p_primitiveScope) runs on CseSimu { - var ResponsePrimitive v_responsePrimitive; var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; - var UtTriggerAckPrimitive v_trigger_response; - var integer v_parentIndex := -1; var integer v_resourceIndex := -1; var MsgIn v_request; - var PrimitiveContent v_resource; var universal charstring v_action := __SCOPE__ & ": Please, send a valid CREATE Request for container to "; if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -56,15 +52,12 @@ module OneM2M_PermutationFunctions { [] mcaPortIn.receive(mw_request(mw_createContainer(-,v_utRequest.requestPrimitive.to_))) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container creation request received successfuly"); - v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType); - v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex); - v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(v_responsePrimitive)))); + v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)))); } - [] mcaPortIn.receive(mw_request(?)) { + [] mcaPortIn.receive(mw_request(mw_createContainer())) -> value v_request { tc_ac.stop; - setverdict(fail, __SCOPE__ & " : Error while creating container"); + setverdict(fail, __SCOPE__ & " : Create Request with unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))))); stop; } @@ -79,12 +72,8 @@ module OneM2M_PermutationFunctions { } function f_AE_GEN_CRE_002(PrimitiveScope p_primitiveScope) runs on CseSimu { var MsgIn v_request; - var Integer v_parentIndex := -1; var Integer v_resourceIndex := -1; - var ResponsePrimitive v_responsePrimitive; var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; - var UtTriggerAckPrimitive v_trigger_response; - var PrimitiveContent v_resource; var universal charstring v_action := __SCOPE__ & ": Please, send a valid CREATE Request for container to "; //Test Control @@ -102,18 +91,15 @@ module OneM2M_PermutationFunctions { tc_ac.start; alt { - [] mcaPortIn.receive(mw_request(mw_createContainer(-,v_utRequest.requestPrimitive.to_))) -> value (v_request) { + [] mcaPortIn.receive(mw_request(mw_createContainer(-,v_utRequest.requestPrimitive.to_))) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container creation request received successfuly"); - v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType); - v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex); - v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)))); } - [] mcaPortIn.receive(mw_request(?)) { + [] mcaPortIn.receive(mw_request(mw_createContainer())) -> value v_request { tc_ac.stop; - setverdict(fail, __SCOPE__ & " : Error while creating container"); + setverdict(fail, __SCOPE__ & " : Create Request with unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); stop; } @@ -133,9 +119,7 @@ module OneM2M_PermutationFunctions { function f_AE_GEN_UPD_001(PrimitiveScope p_primitiveScope) runs on CseSimu { var MsgIn v_request; - var ResponsePrimitive v_responsePrimitive; var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; - var UtTriggerAckPrimitive v_trigger_response; var integer v_resourceIndex; var PrimitiveContent v_localResource; var universal charstring v_action := __SCOPE__ & ": Please, send a valid UPDATE Request for container to "; @@ -159,14 +143,12 @@ module OneM2M_PermutationFunctions { [] mcaPortIn.receive(mw_request(mw_updateContainer(-,v_utRequest.requestPrimitive.to_))) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container update request received successfuly"); - v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - f_updateLocalResource(v_resourceIndex, v_request.primitive.requestPrimitive.primitiveContent); - v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); } - [] mcaPortIn.receive(mw_request(?)) { + [] mcaPortIn.receive(mw_request(mw_updateContainer())) { tc_ac.stop; - setverdict(fail, __SCOPE__ & " : Error while updating container"); + setverdict(fail, __SCOPE__ & " : Update Request with unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); stop; } @@ -181,9 +163,7 @@ module OneM2M_PermutationFunctions { } function f_AE_GEN_UPD_002(PrimitiveScope p_primitiveScope) runs on CseSimu { var MsgIn v_request; - var ResponsePrimitive v_responsePrimitive; var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; - var UtTriggerAckPrimitive v_trigger_response; var integer v_resourceIndex := -1; var PrimitiveContent v_localResource; var universal charstring v_action := __SCOPE__ & ": Please, send a valid UPDATE Request for container to "; @@ -206,14 +186,12 @@ module OneM2M_PermutationFunctions { [] mcaPortIn.receive(mw_request(mw_updateContainer(-,v_utRequest.requestPrimitive.to_))) -> value (v_request) { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container update request received successfuly"); - v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - f_updateLocalResource(v_resourceIndex, v_request.primitive.requestPrimitive.primitiveContent); - v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); } - [] mcaPortIn.receive(mw_request(?)) { + [] mcaPortIn.receive(mw_request(mw_updateContainer())) { tc_ac.stop; - setverdict(fail, __SCOPE__ & " : Error while updating container"); + setverdict(fail, __SCOPE__ & " : Update Request with unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); stop; } @@ -233,11 +211,8 @@ module OneM2M_PermutationFunctions { function f_AE_GEN_RET_001(PrimitiveScope p_primitiveScope) runs on CseSimu { var MsgIn v_request; - var ResponsePrimitive v_responsePrimitive; - var template UtTriggerPrimitive v_utRequestTemplate; - var UtTriggerPrimitive v_utRequest; - var UtTriggerAckPrimitive v_trigger_response; - var integer v_resourceIndex := -1; + var template UtTriggerPrimitive v_utRequest; + var integer v_resourceIndex := -1; var PrimitiveContent v_localResource; var universal charstring v_action := __SCOPE__ & ": Please, send a valid RETRIEVE Request for container to "; @@ -251,22 +226,20 @@ module OneM2M_PermutationFunctions { //Send Trigger Message v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3); v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex); - v_utRequestTemplate := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope)); - f_sendUtPrimitive(v_utRequestTemplate,v_action & f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope)); - v_utRequest := valueof(v_utRequestTemplate); - + v_utRequest := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope)); + f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope)); + tc_ac.start; alt { - [] mcaPortIn.receive(mw_request(mw_retrieve(v_utRequest.requestPrimitive.to_))) -> value (v_request) { + [] mcaPortIn.receive(mw_request(mw_retrieve(v_utRequest.requestPrimitive.to_))) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container retrieve request received successfuly"); - v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + f_processRetrieveRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); } - [] mcaPortIn.receive(mw_request(?)) { + [] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request { tc_ac.stop; - setverdict(fail, __SCOPE__ & " : Error while retrieving container"); + setverdict(fail, __SCOPE__ & " : Retrieve request with unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); stop; } @@ -281,11 +254,8 @@ module OneM2M_PermutationFunctions { } function f_AE_GEN_RET_002(PrimitiveScope p_primitiveScope) runs on CseSimu { var MsgIn v_request; - var ResponsePrimitive v_responsePrimitive; - var template UtTriggerPrimitive v_utRequestTemplate; - var UtTriggerPrimitive v_utRequest; - var UtTriggerAckPrimitive v_trigger_response; - var integer v_resourceIndex := -1; + var template UtTriggerPrimitive v_utRequest; + var integer v_resourceIndex := -1; var PrimitiveContent v_localResource; var universal charstring v_action := __SCOPE__ & ": Please, send a valid RETRIEVE Request for container to "; @@ -299,22 +269,20 @@ module OneM2M_PermutationFunctions { //Send Trigger Message v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3); v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex); - v_utRequestTemplate := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope)); + v_utRequest := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope)); f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope)); - v_utRequest := valueof(v_utRequestTemplate); tc_ac.start; alt { [] mcaPortIn.receive(mw_request(mw_retrieve(v_utRequest.requestPrimitive.to_))) -> value (v_request) { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container retrieve request received successfuly"); - v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + f_processRetrieveRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); } - [] mcaPortIn.receive(mw_request(?)) { + [] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request { tc_ac.stop; - setverdict(fail, __SCOPE__ & " : Error while retrieving container"); + setverdict(fail, __SCOPE__ & " : Retrieve request with unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); stop; } @@ -334,9 +302,7 @@ module OneM2M_PermutationFunctions { function f_AE_GEN_DEL_001(PrimitiveScope p_primitiveScope) runs on CseSimu { var MsgIn v_request; - var ResponsePrimitive v_responsePrimitive; var template UtTriggerPrimitive v_utRequest := m_utDelete; - var UtTriggerAckPrimitive v_trigger_response; var integer v_auxInteger; var PrimitiveContent v_localResource; var universal charstring v_action := __SCOPE__ & ": Please, send a valid DELETE Request for container to "; @@ -356,15 +322,15 @@ module OneM2M_PermutationFunctions { tc_ac.start; alt { - [] mcaPortIn.receive(mw_request(mw_delete(v_utRequest.requestPrimitive.to_))) -> value (v_request) { + [] mcaPortIn.receive(mw_request(mw_delete(v_utRequest.requestPrimitive.to_))) -> value v_request { tc_ac.stop; - setverdict(pass, __SCOPE__ & " : Container update request received successfuly"); - v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, omit)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + setverdict(pass, __SCOPE__ & " : Container delete request received successfuly"); + f_processDeleteRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); } - [] mcaPortIn.receive(mw_request(?)) { + [] mcaPortIn.receive(mw_request(mw_delete(?))) -> value v_request { tc_ac.stop; - setverdict(fail, __SCOPE__ & " : Error while updating container"); + setverdict(fail, __SCOPE__ & " : Delete request with unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); stop; } @@ -379,9 +345,7 @@ module OneM2M_PermutationFunctions { } function f_AE_GEN_DEL_002(PrimitiveScope p_primitiveScope) runs on CseSimu { var MsgIn v_request; - var ResponsePrimitive v_responsePrimitive; var template UtTriggerPrimitive v_utRequest := m_utDelete; - var UtTriggerAckPrimitive v_trigger_response; var integer v_auxInteger; var PrimitiveContent v_localResource; var universal charstring v_action := __SCOPE__ & ": Please, send a valid DELETE Request for container to "; @@ -402,15 +366,15 @@ module OneM2M_PermutationFunctions { tc_ac.start; alt { - [] mcaPortIn.receive(mw_request(mw_delete(v_utRequest.requestPrimitive.to_))) -> value (v_request) { + [] mcaPortIn.receive(mw_request(mw_delete(v_utRequest.requestPrimitive.to_))) -> value v_request { tc_ac.stop; - setverdict(pass, __SCOPE__ & " : Container update request received successfuly"); - v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, omit)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + setverdict(pass, __SCOPE__ & " : Container delete request received successfuly"); + f_processDeleteRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); } - [] mcaPortIn.receive(mw_request(?)) { + [] mcaPortIn.receive(mw_request(mw_delete(?))) -> value v_request { tc_ac.stop; - setverdict(fail, __SCOPE__ & " : Error while updating container"); + setverdict(fail, __SCOPE__ & " : Delete request with unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); stop; } @@ -491,13 +455,10 @@ module OneM2M_PermutationFunctions { function f_AE_DMR_CRE_003(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request, in universal charstring p_action) runs on CseSimu { var MsgIn v_request; - var integer v_parentIndex := -1; var integer v_resourceIndex := -1; - var PrimitiveContent v_resource; var PrimitiveContent v_localResource; var integer v_containerIndex := -1; - var ResponsePrimitive v_responsePrimitive; - + //Test component configuration f_cf03Up(); @@ -513,19 +474,15 @@ module OneM2M_PermutationFunctions { alt{ //receive MsgIn requestPrimitive - [] mcaPortIn.receive(mw_request(p_request)) -> value (v_request) { + [] mcaPortIn.receive(mw_request(p_request)) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & " : ContentInstance creation request is accepted!!"); - v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType); - v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex); - v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - + v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive); //send back responsePrimitive - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)))); } - [] mcaPortIn.receive(mw_request(mw_create)) { + [] mcaPortIn.receive(mw_request(mw_create)) -> value v_request{ tc_ac.stop; setverdict(fail, __SCOPE__ & " : Unexpected CREATE request "); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); @@ -540,11 +497,8 @@ module OneM2M_PermutationFunctions { } function f_AE_DMR_CRE_004(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request, in universal charstring p_action) runs on CseSimu { var MsgIn v_request; - var integer v_parentIndex := -1; var integer v_resourceIndex := -1; - var PrimitiveContent v_resource; - var ResponsePrimitive v_responsePrimitive; - + //Test component configuration f_cf03Up(); @@ -561,13 +515,9 @@ module OneM2M_PermutationFunctions { [] mcaPortIn.receive(mw_request(p_request)) -> value (v_request) { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container creation request is accepted!!"); - v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType); - v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex); - v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - + v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive); //send back responsePrimitive - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)))); } [] mcaPortIn.receive(mw_request(mw_create)) { tc_ac.stop; @@ -593,8 +543,7 @@ module OneM2M_PermutationFunctions { var MsgIn v_request; var integer v_resourceIndex := -1; var PrimitiveContent v_localResource; - var ResponsePrimitive v_responsePrimitive; - + f_cf03Up(); //Preamble @@ -612,11 +561,9 @@ module OneM2M_PermutationFunctions { [] mcaPortIn.receive(mw_request(p_expectedUpdateRequest)) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & " : AE update request is accepted!"); - v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - f_updateLocalResource(v_resourceIndex, v_request.primitive.requestPrimitive.primitiveContent); - v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); - } + f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); + } [] mcaPortIn.receive(mw_request(mw_update)) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Unexpected UPDATE request"); @@ -634,7 +581,6 @@ module OneM2M_PermutationFunctions { function f_AE_DMR_UPD_002(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request, in universal charstring p_action) runs on CseSimu { var MsgIn v_request; - var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_localResource; var integer v_resourceIndex := -1; @@ -655,18 +601,14 @@ module OneM2M_PermutationFunctions { [] mcaPortIn.receive(mw_request(p_request)) -> value (v_request) { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container update request is accepted!!"); - v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - f_updateLocalResource(v_resourceIndex, v_request.primitive.requestPrimitive.primitiveContent); - v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))); } - [] mcaPortIn.receive(mw_request(mw_update)) { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Unexpected UPDATE request"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); } - [] tc_ac.timeout{ setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!"); } diff --git a/OneM2M_Testcases_AE_Release_1.ttcn b/OneM2M_Testcases_AE_Release_1.ttcn index 9570871a1eed84ca1f82aff585e7a1b42e364b20..6c456ad2a20eb8b42c39fa6d63de916ce54b1d6f 100644 --- a/OneM2M_Testcases_AE_Release_1.ttcn +++ b/OneM2M_Testcases_AE_Release_1.ttcn @@ -812,11 +812,8 @@ module OneM2M_Testcases_AE_Release_1 { //variables var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; var MsgIn v_request; - var integer v_parentIndex := -1; var integer v_resourceIndex := -1; - var PrimitiveContent v_resource; var template RequestPrimitive v_requestPrimitive := mw_createContainer; - var ResponsePrimitive v_responsePrimitive; var universal charstring v_action := __SCOPE__ & ": Please, send a valid CREATE Request for container to "; f_cf03Up(); @@ -832,15 +829,11 @@ module OneM2M_Testcases_AE_Release_1 { [] mcaPortIn.receive(mw_request(v_requestPrimitive)) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & " : Container creation request is accepted!"); - v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType); - v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex); - v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - + v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive); //send back responsePrimitive - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)))); } - [] mcaPortIn.receive(mw_request(mw_create)) { + [] mcaPortIn.receive(mw_request(mw_create)) -> value v_request{ tc_ac.stop; setverdict(fail, __SCOPE__ & " : Unexpected CREATE request "); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); @@ -872,13 +865,10 @@ module OneM2M_Testcases_AE_Release_1 { var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance; var MsgIn v_request; - var integer v_parentIndex := -1; var integer v_resourceIndex := -1; - var PrimitiveContent v_resource; var PrimitiveContent v_localResource; var integer v_containerIndex := -1; var template RequestPrimitive v_requestPrimitive := mw_createContentInstance; - var ResponsePrimitive v_responsePrimitive; var universal charstring v_action := __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance to "; //Test component configuration @@ -899,15 +889,11 @@ module OneM2M_Testcases_AE_Release_1 { [] mcaPortIn.receive(mw_request(v_requestPrimitive)) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & " : ContentInstance creation request is accepted!!"); - v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_); - v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType); - v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex); - v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); - + v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive); //send back responsePrimitive - mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); + mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)))); } - [] mcaPortIn.receive(mw_request(mw_create)) { + [] mcaPortIn.receive(mw_request(mw_create)) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Unexpected CREATE request "); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); @@ -1470,7 +1456,7 @@ module OneM2M_Testcases_AE_Release_1 { v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); } - [] mcaPortIn.receive(mw_request(mw_retrieve(?))) { + [] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Retrieve Request for unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); @@ -1532,7 +1518,7 @@ module OneM2M_Testcases_AE_Release_1 { v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); } - [] mcaPortIn.receive(mw_request(mw_retrieve(?))) { + [] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Retrieve Request for unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); @@ -1590,7 +1576,7 @@ module OneM2M_Testcases_AE_Release_1 { v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); } - [] mcaPortIn.receive(mw_request(mw_retrieve(?))) { + [] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Retrieve Request for unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); @@ -1650,7 +1636,7 @@ module OneM2M_Testcases_AE_Release_1 { v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource)); mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); } - [] mcaPortIn.receive(mw_request(mw_retrieve(?))) { + [] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Retrieve Request for unexpected target"); mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); @@ -1717,9 +1703,10 @@ module OneM2M_Testcases_AE_Release_1 { mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); tc_ac.stop; } - [] mcaPortIn.receive (mw_request(mw_delete(?))) { + [] mcaPortIn.receive (mw_request(mw_delete(?))) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Delete request for unexpected target"); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); } [] tc_ac.timeout{ setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!"); @@ -1779,9 +1766,10 @@ module OneM2M_Testcases_AE_Release_1 { mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); tc_ac.stop; } - [] mcaPortIn.receive (mw_request(mw_delete(?))) { + [] mcaPortIn.receive (mw_request(mw_delete(?))) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Delete request for unexpected target"); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); } [] tc_ac.timeout{ setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!"); @@ -1841,9 +1829,10 @@ module OneM2M_Testcases_AE_Release_1 { mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); tc_ac.stop; } - [] mcaPortIn.receive (mw_request(mw_delete(?))) { + [] mcaPortIn.receive (mw_request(mw_delete(?))) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Delete request for unexpected target"); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); } [] tc_ac.timeout{ setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!"); @@ -1905,9 +1894,10 @@ module OneM2M_Testcases_AE_Release_1 { mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive))); tc_ac.stop; } - [] mcaPortIn.receive (mw_request(mw_delete(?))) { + [] mcaPortIn.receive (mw_request(mw_delete(?))) -> value v_request { tc_ac.stop; setverdict(fail, __SCOPE__ & " : Delete request for unexpected target"); + mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))); } [] tc_ac.timeout{ setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!");