diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 43a74af3eb65d33858186970a4c5ce5b766cb555..1fa34a1ab1a52e668ab94ac6578fdf6b33e56517 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -787,6 +787,29 @@ module OneM2M_Functions { return v_resourceIndex; } + + /** + * @desc Getting the address of the last resource saved in the vc_resourcesList + * @param p_tester Given component + */ + function f_getLatestResourceAddress(in Tester p_component, AddressingMethod p_addressingMethod := PX_ADDRESSING_METHOD, PrimitiveScope p_primitiveScope := PX_PRIMITIVE_SCOPE) runs on Tester return XSD.ID { + var XSD.ID v_resourceAddress; + + f_connectInfoPort(p_component); + + p_component.start(f_sendLatestResourceAddress(p_addressingMethod, p_primitiveScope)); + alt { + []infoPort.receive(mw_resourceAddress) -> value v_resourceAddress{ + } + } + + p_component.done; + f_disconnectInfoPort(p_component); + + return v_resourceAddress; + + } + /** * @desc Getting the latest local resource from an CseSimu component @@ -933,6 +956,16 @@ module OneM2M_Functions { } + /** + * @desc Sending the address of the last resource saved in the vc_resourcesList + */ + function f_sendLatestResourceAddress(AddressingMethod p_addressingMethod := PX_ADDRESSING_METHOD, PrimitiveScope p_primitiveScope := PX_PRIMITIVE_SCOPE) runs on Tester { + + infoPort.send(f_getResourceAddress(lengthof(vc_resourcesList)-1, p_addressingMethod, p_primitiveScope)); + + } + + /** * @desc Sending of the latest resource through InfoPort */ @@ -1018,6 +1051,7 @@ module OneM2M_Functions { f_checkAttributesToBeSaved(int2, v_request, v_response.primitive.responsePrimitive); vc_aeIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int2); + vc_componentRegistered := true; if(ispresent(v_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID)){ f_sendAcPrimitive("AE-ID_changed", vc_aeIndex); @@ -1027,11 +1061,9 @@ module OneM2M_Functions { [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Error while registering application"); - stop; } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while registering resource"); - stop; } } @@ -1076,6 +1108,7 @@ module OneM2M_Functions { if(ischosen(vc_response.primitive.responsePrimitive.primitiveContent.aE)) { vc_aeIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, int2); + vc_componentRegistered := true; if(ispresent(vc_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID)){ f_sendAcPrimitive("AE-ID_changed", vc_aeIndex); @@ -1086,16 +1119,13 @@ module OneM2M_Functions { { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Error while registering application"); - stop; } [] mcaPort.receive { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); - stop; } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while registering resource"); - stop; } } @@ -1410,6 +1440,7 @@ module OneM2M_Functions { v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, p_parentIndex); if(p_resourceType == int2) { vc_aeIndex := v_resourceIndex; + vc_componentRegistered := true; if(ispresent(vc_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID)){ f_sendAcPrimitive("AE-ID_changed", vc_aeIndex); } @@ -2386,6 +2417,12 @@ module OneM2M_Functions { v_localResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, p_responseStatusCode); f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); } + [] mccPortIn.receive(mw_request(mw_create)) -> value vc_request { + tc_ac.stop; + v_localResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000); + f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); + setverdict(inconc, __SCOPE__&":INFO: Wrong expected create request"); + } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No creation for resource received"); } @@ -2527,6 +2564,12 @@ module OneM2M_Functions { f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); } + [] mccPortIn.receive(mw_request(mw_update)) -> value vc_request { + tc_ac.stop; + v_targetResourceIndex := f_processUpdateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000); + f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); + setverdict(inconc, __SCOPE__&":INFO: Wrong expected update request"); + } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while updating resource"); } @@ -2562,6 +2605,12 @@ module OneM2M_Functions { f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); } + [] mccPortIn.receive(mw_request(mw_retrieve(?))) -> value vc_request { + tc_ac.stop; + v_targetResourceIndex := f_processRetrieveRequestPrimitive(vc_request.primitive.requestPrimitive, int4000); + f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); + setverdict(inconc, __SCOPE__&":INFO: Wrong expected retrieve request"); + } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while retrieving resource"); } @@ -2676,6 +2725,12 @@ module OneM2M_Functions { f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); } + [] mccPortIn.receive(mw_request(mw_delete)) -> value vc_request { + tc_ac.stop; + v_targetResourceIndex := f_processDeleteRequestPrimitive(vc_request.primitive.requestPrimitive, int4000); + f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); + setverdict(inconc, __SCOPE__&":INFO: Wrong expected delete request"); + } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while retrieving resource"); } @@ -2783,6 +2838,10 @@ module OneM2M_Functions { setverdict(pass, __SCOPE__&":INFO: Resource type remoteCSE created successfuly"); f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive); vc_remoteCseIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16, -1); + vc_componentRegistered := true; + if(ispresent(v_response.primitive.responsePrimitive.primitiveContent.remoteCSE.cSE_ID)){ + f_sendAcPrimitive("CSE-ID_changed", vc_remoteCseIndex); + } v_localRemoteCSEResource := f_generateLocalResource(valueof(m_primitiveContentRemoteCSE(m_contentLocalRemoteCSEResource(f_getLocalPoA(PX_TS_CSE1.mccPortIn, "")))), vc_cSEBaseIndex, int16); // FIXME To be review not sure we have to use CSE1 vc_localRemoteCseIndex := f_setLocalResource(v_localRemoteCSEResource, int16, vc_cSEBaseIndex); } @@ -2829,6 +2888,7 @@ module OneM2M_Functions { tc_ac.stop; setverdict(pass, __SCOPE__&":INFO: Resource type remoteCSE created successfuly"); v_localRemoteCSEResource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, vc_cSEBaseIndex, int16);//TODO Get index from v_request.primitive.requestPrimitive.to_ + v_localRemoteCSEResource.remoteCSE.cSE_ID := v_request.primitive.requestPrimitive.from_; vc_localRemoteCseIndex := f_setLocalResource(v_localRemoteCSEResource, int16, vc_cSEBaseIndex); v_response := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier)); @@ -2838,6 +2898,7 @@ module OneM2M_Functions { f_send(e_mcc_in_port, m_response(v_response)); vc_remoteCseIndex := f_setResource(valueof(m_primitiveContentRemoteCSE(m_contentMyRemoteCSEResource(f_getLocalPoA(PX_TS_CSE1.mcaPortIn, "")))), int16, -1, true); + vc_componentRegistered := true; v_resourceIndex := vc_remoteCseIndex; v_remoteCSERegistered:=true; tc_ac.start(10.0); @@ -3414,6 +3475,7 @@ module OneM2M_Functions { v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, p_parentIndex); if(p_resourceType == int16) { //remoteCSE vc_remoteCseIndex := v_resourceIndex; + vc_componentRegistered := true; } } [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) { @@ -4297,6 +4359,13 @@ module OneM2M_Functions { } } } else if (p_resourceType == int4) {//contentInstance + } else if (p_resourceType == int30) {//timeSeriesInstance + //dataGenerationTime + if(ispresent(p_request.primitiveContent.timeSeriesInstance.dataGenerationTime)) { + if(match(valueof(p_request.primitiveContent.timeSeriesInstance.dataGenerationTime), {alt_ := "29991231T000000"} )){ + p_request.primitiveContent.timeSeriesInstance.dataGenerationTime := {alt_ := fx_generateTimestamp()}; + } + } } return valueof(p_request); @@ -5589,7 +5658,7 @@ module OneM2M_Functions { * @param data Corresponding information for the correct execution of the given action * @verdict */ - function f_sendAcPrimitive(in charstring p_event, in integer p_aeIndex) runs on Tester { + function f_sendAcPrimitive(in charstring p_event, in integer p_resourceIndex, template (omit) XSD.ID p_originator := omit) runs on Tester { var XSD.ID v_aeResourceAddress; var charstring v_spRelativeAeIdForMqtt; @@ -5597,8 +5666,8 @@ module OneM2M_Functions { case ("AE-ID_changed") { //Calculate the SP-Relative-AE-ID following format defined in TS-0010 MQTT - v_aeResourceAddress := f_getResourceAddress(p_aeIndex, e_nonHierarchical, e_spRelative); - if(vc_resourcesList[p_aeIndex].resource.aE.aE_ID[0] == "S") { + v_aeResourceAddress := f_getResourceAddress(p_resourceIndex, e_nonHierarchical, e_spRelative); + if(vc_resourcesList[p_resourceIndex].resource.aE.aE_ID[0] == "S") { v_spRelativeAeIdForMqtt := oct2char(unichar2oct(f_resourceIdCleaner(v_aeResourceAddress))); } else { v_spRelativeAeIdForMqtt := f_getSpRelativeAeIdForMqtt(v_aeResourceAddress); @@ -5621,6 +5690,25 @@ module OneM2M_Functions { } } } + case ("CSE-ID_changed") { + //TODO Check for other resource address formats + v_spRelativeAeIdForMqtt := oct2char(unichar2oct(f_resourceIdCleaner(vc_resourcesList[p_resourceIndex].resource.remoteCSE.cSE_ID))); + + if((((vc_config == e_cf02) or (vc_config == e_cf02CseSimuMaster)) and (vc_testSystemRole == e_cse)) or (vc_config == e_cf04)) { + if(vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_in_port))].myProtocolBinding == "MQTT") { + acPort.send(AcRequestPrimitive:{p_event & "_mccPort", {charstring := v_spRelativeAeIdForMqtt}}); + } + if(vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_in_port))].myProtocolBinding == "MQTT") { + acPort.send(AcRequestPrimitive:{p_event & "_mccPortIn", {charstring := v_spRelativeAeIdForMqtt}}); + } + } + } + case ("MqttSetDefaultTopicToNotRegistration") { + acPort.send(AcRequestPrimitive:{p_event, {charstring := oct2char(unichar2oct(p_originator))}}); + } + case ("MqttSetDefaultTopicToRegistration") { + acPort.send(AcRequestPrimitive:{p_event, {charstring := int2str(p_resourceIndex)}}); + } } } }//end of group AcFunctions @@ -5676,6 +5764,9 @@ module OneM2M_Functions { if(p_responseStatusCode == int2001) { setverdict(pass, __SCOPE__&":INFO: Resource created successfuly"); v_localResource := f_generateLocalResource(p_request.primitiveContent, v_parentIndex, p_request.resourceType); + if(p_request.resourceType == int16){ + v_localResource.remoteCSE.cSE_ID := p_request.from_; + } v_localResourceIndex := f_setLocalResource(v_localResource, p_request.resourceType, v_parentIndex); vc_response.primitive.responsePrimitive.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource; } else { @@ -5938,9 +6029,47 @@ module OneM2M_Functions { p_msgOut.protocolBinding := vc_myInterfaces[enum2int(p_interfaceIds)].myProtocolBinding; 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); + } + if(not(vc_componentRegistered)) { + if(valueof(p_msgOut.protocolBinding) == "MQTT") { + if(ischosen(p_msgOut.primitive.requestPrimitive)) { + if(ispresent(p_msgOut.primitive.requestPrimitive.resourceType)) { + 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_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_sendAcPrimitive("MqttSetDefaultTopicToRegistration", -1); + return; + } + } + } + } + //TODO: Handle response to normal messages before CSE registration occurs vc_myInterfaces[enum2int(p_interfaceIds)].myPort.send(p_msgOut); } + /** + * @desc Get a converted to string random number + * @param p_lower Lower limit + * @param p_upper Upper limit + * @return Random number converted to string + * @verdict + */ + function f_rnd(in integer p_lower, in integer p_upper) return charstring { + + return int2str(float2int(rnd() * int2float(p_upper - p_lower + 1)) + p_lower); + } + }//end of commonFunctions group externalFunctions { diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 92f447192d72f341f9fbfb1754841a791298b3dc..aa52cf85fe79b0fec33ff7d15bfd4a1a2d3bf076 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -15,21 +15,7 @@ module OneM2M_Templates { import from OneM2M_Types all; import from OneM2M_TypesAndValues all; import from OneM2M_Pixits all; - import from OneM2M_Functions all; - - /** - * @desc Get a converted to string random number - * @param p_lower Lower limit - * @param p_upper Upper limit - * @return Random number converted to string - * @verdict - */ - function f_rnd(in integer p_lower, in integer p_upper) return charstring { - - return int2str(float2int(rnd() * int2float(p_upper - p_lower + 1)) + p_lower); - } - - + /* Templates */ group Primitives { @@ -101,7 +87,7 @@ module OneM2M_Templates { operation := int2, to_ := p_targetResourceAddress, from_ := p_originator, - requestIdentifier := "m_retrieve" & f_rnd(1, 1000000), + requestIdentifier := "m_retrieve", resourceType := omit, primitiveContent := omit, roleIDs := omit, @@ -161,10 +147,10 @@ module OneM2M_Templates { * @desc Base Receive RETRIEVE request primitive * @param p_targetResourceAddress Target resource address */ - template RequestPrimitive mw_retrieve(template XSD.ID p_targetResourceAddress) := { + template RequestPrimitive mw_retrieve(template XSD.ID p_targetResourceAddress, template XSD.ID p_from := ?) := { operation := int2, to_ := p_targetResourceAddress, - from_ := ?, + from_ := p_from, requestIdentifier := ?, resourceType := omit, primitiveContent := *, @@ -198,7 +184,7 @@ module OneM2M_Templates { operation := int2, to_ := p_targetResourceAddress, from_ := p_originator, - requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000), + requestIdentifier := "m_retrieveResourceAttributeOptionTo", resourceType := omit, primitiveContent := omit, roleIDs := omit, @@ -232,7 +218,7 @@ module OneM2M_Templates { operation := int2, to_ := p_targetResourceAddress, from_ := p_originator, - requestIdentifier := "m_retrieveResourceAttributeContentOption" & f_rnd(1, 1000000), + requestIdentifier := "m_retrieveResourceAttributeContentOption", resourceType := omit, primitiveContent := {attributeList := p_attributeList}, roleIDs := omit, @@ -263,7 +249,7 @@ module OneM2M_Templates { * @param p_originator Originator (from) */ template (value) RequestPrimitive m_retrieveFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage) modifies m_retrieve := { - requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000), + requestIdentifier := "m_retrieveResourceFilterUsageOption", filterCriteria := { createdBefore := omit, createdAfter := omit, @@ -297,7 +283,7 @@ module OneM2M_Templates { * @param p_originator Originator (from) */ template (value) RequestPrimitive m_retrieveFilterCriteria(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterCriteria p_filterCriteria) modifies m_retrieve := { - requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000), + requestIdentifier := "m_retrieveResourceFilterUsageOption", filterCriteria := p_filterCriteria }; @@ -309,7 +295,7 @@ module OneM2M_Templates { * @param p_labels Labels */ template (value) RequestPrimitive m_retrieveFilterUsageOptionLabel(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage, in Labels p_labels) modifies m_retrieve := { - requestIdentifier := "m_retrieveResourceFilterUsageOptionLabel" & f_rnd(1, 1000000), + requestIdentifier := "m_retrieveResourceFilterUsageOptionLabel", filterCriteria := { createdBefore := omit, createdAfter := omit, @@ -342,7 +328,7 @@ module OneM2M_Templates { * @param p_originator Originator (from) */ template (value) RequestPrimitive m_retrieveDiscResTypeFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) DesIdResType p_desIdResType, in template (value) FilterUsage p_filterUsage) modifies m_retrieve := { - requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000), + requestIdentifier := "m_retrieveResourceFilterUsageOption", filterCriteria := { createdBefore := omit, createdAfter := omit, @@ -377,7 +363,7 @@ module OneM2M_Templates { * @param p_originator Originator (from) */ template (value) RequestPrimitive m_retrieveInvalidFormatOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_retrieve := { - requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000), + requestIdentifier := "m_retrieveResourceFilterUsageOption", filterCriteria := { createdBefore := omit, createdAfter := omit, @@ -477,7 +463,7 @@ module OneM2M_Templates { }; - template RequestPrimitive mw_update(template XSD.ID p_from := *, template XSD.ID p_to := ?) := { + template RequestPrimitive mw_update(template XSD.ID p_from := ?, template XSD.ID p_to := ?) := { operation := int3, to_ := p_to, from_ := p_from, @@ -916,17 +902,17 @@ module OneM2M_Templates { /** * @desc Base CREATE request primitive for remoteCSE resource */ - template (value) RequestPrimitive m_createRemoteCSEBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName := c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId) modifies m_create := { + template (value) RequestPrimitive m_createRemoteCSEBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName := c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId) modifies m_create := { requestIdentifier := testcasename() & "-m_createRemoteCSE", resourceType := int16, - primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)} + primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase)} }; /** * @desc CREATE request primitive for remoteCSE resource with poa */ template (value) RequestPrimitive m_createRemoteCSE_poa(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName := c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId, in PoaList p_poaList) modifies m_createRemoteCSEBase := { - primitiveContent := {remoteCSE := m_contentCreateRemoteCSE_poa(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID, p_poaList)} + primitiveContent := {remoteCSE := m_contentCreateRemoteCSE_poa(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_poaList)} }; /** @@ -1397,7 +1383,7 @@ module OneM2M_Templates { operation := int4, to_ := p_resourceAddress, from_ := p_originator, - requestIdentifier := testcasename() & "-m_delete" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_delete", resourceType := omit, primitiveContent := omit, roleIDs := omit, @@ -1421,10 +1407,10 @@ module OneM2M_Templates { vendorInformation := omit }; - template RequestPrimitive mw_delete(template XSD.ID p_resourceAddress := ?, template XSD.ID p_from := *) := { + template RequestPrimitive mw_delete(template XSD.ID p_resourceAddress := ?, template XSD.ID p_from := ?) := { operation := int4, to_ := p_resourceAddress, - from_ := ?, + from_ := p_from, requestIdentifier := ?, resourceType := omit, primitiveContent := omit, @@ -1468,7 +1454,7 @@ module OneM2M_Templates { operation := int5, to_ := p_resourceAddress, from_ := "NotInitialized", - requestIdentifier := testcasename() & "-m_notify" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_notify", resourceType := omit, primitiveContent := {notification := m_contentNotification_allOmit}, roleIDs := omit, @@ -1515,7 +1501,7 @@ module OneM2M_Templates { operation := int5, to_ := "NotInitialized", from_ := omit, - requestIdentifier := testcasename() & "-m_notifyAggregatedNotification" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_notifyAggregatedNotification", resourceType := omit, primitiveContent := {aggregatedNotification := {notification_list := {m_contentNotification_allOmit,m_contentNotification_allOmit}}}, roleIDs := omit, @@ -2503,7 +2489,7 @@ module OneM2M_Templates { announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//O - contentInfo := "a",//O + contentInfo := "text/strings:0",//O contentSize := omit,//NP contentRef := omit, //O ontologyRef := omit,//O @@ -2681,7 +2667,7 @@ module OneM2M_Templates { * @desc Base primitiveContent for CREATE operation for RemoteCSE resource * @param p_name Resource name */ - template (value) RemoteCSE_optional m_contentCreateRemoteCSE (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId):= { + template (value) RemoteCSE_optional m_contentCreateRemoteCSE (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId):= { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP @@ -2697,7 +2683,7 @@ module OneM2M_Templates { cseType := omit,//O pointOfAccess := omit,//O cSEBase := valueof(p_cSEBase),//M - cSE_ID := valueof(p_cSE_ID),//M + cSE_ID := omit,//O m2M_Ext_ID := omit,//O trigger_Recipient_ID := omit,//O requestReachability := false,//M @@ -2712,7 +2698,7 @@ module OneM2M_Templates { * @desc PrimitiveContent for CREATE operation for RemoteCSE resource with poa * @param p_name Resource name */ - template (value) RemoteCSE_optional m_contentCreateRemoteCSE_poa (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId, in PoaList p_poaList):= { + template (value) RemoteCSE_optional m_contentCreateRemoteCSE_poa (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in PoaList p_poaList):= { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP @@ -2728,7 +2714,7 @@ module OneM2M_Templates { cseType := omit,//O pointOfAccess := p_poaList,//O cSEBase := valueof(p_cSEBase),//M - cSE_ID := valueof(p_cSE_ID),//M + cSE_ID := omit,//O m2M_Ext_ID := omit,//O trigger_Recipient_ID := omit,//O requestReachability := true,//M @@ -2758,7 +2744,7 @@ module OneM2M_Templates { cseType := *,//O pointOfAccess := *,//O cSEBase := ?,//M - cSE_ID := ?,//M + cSE_ID := *,//O m2M_Ext_ID := *,//O trigger_Recipient_ID := *,//O requestReachability := ?,//M @@ -3247,7 +3233,7 @@ module OneM2M_Templates { expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O - dataGenerationTime := {alt_ := fx_generateTimestamp()},//M + dataGenerationTime := {alt_ := "29991231T000000"},//M content := "AnyValue",//M sequenceNr := omit,//O contentSize := omit//NP @@ -4370,7 +4356,7 @@ module OneM2M_Templates { metaInformation := ?,//M primitiveContent := *,//O requestStatus := ?,//M - operationResult := ?,//M + operationResult := *,//O TODO Check when new XSD available choice := *//O }; @@ -5433,7 +5419,7 @@ module OneM2M_Templates { template (value) ResponsePrimitive m_responseNotification(ResponseStatusCode p_statusCode, in template(omit) PrimitiveContent p_notification := omit) := { responseStatusCode := p_statusCode, - requestIdentifier := testcasename() & "-m_responseNotification" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_responseNotification", primitiveContent := p_notification, to_ := omit, from_ := omit, @@ -5481,7 +5467,7 @@ module OneM2M_Templates { operation := int1, to_ := "NotInitialized", from_ := "UNINITIALIZED", - requestIdentifier := testcasename() & "-m_utCreate" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utCreate", resourceType := omit, primitiveContent := omit, roleIDs := omit, @@ -5509,7 +5495,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utCreateAe modifies m_utCreate := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utCreateAe" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utCreateAe", resourceType := int2, primitiveContent := {aE := m_contentAe_allOmit} } @@ -5517,7 +5503,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utCreateContainer modifies m_utCreate := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utCreateContainer" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utCreateContainer", resourceType := int3, primitiveContent := {container := valueof(mw_contentContainer_allOmit)} } @@ -5525,7 +5511,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utCreateContentInstance modifies m_utCreate := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utCreateContentInstance" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utCreateContentInstance", resourceType := int4, primitiveContent := {contentInstance := m_contentContentInstance_allOmit} } @@ -5533,7 +5519,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utCreateSubscription modifies m_utCreate := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utCreateSubscription" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utCreateSubscription", resourceType := int23, primitiveContent := {subscription := m_contentSubscription} } @@ -5541,7 +5527,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utCreateRemoteCSE modifies m_utCreate := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utCreateRemoteCSE" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utCreateRemoteCSE", resourceType := int16, primitiveContent := {remoteCSE := m_contentRemoteCSE_allOmit} } @@ -5549,7 +5535,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utCreatePollingChannel modifies m_utCreate := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utCreatePollingChannel" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utCreatePollingChannel", resourceType := int15, primitiveContent := {pollingChannel := m_contentPollingChannel_allOmit} } @@ -5560,7 +5546,7 @@ module OneM2M_Templates { operation := int2, to_ := p_targetResourceAddress, from_ := "UNINITIALIZED", - requestIdentifier := "m_utRetrieveResource" & f_rnd(1, 1000000), + requestIdentifier := "m_utRetrieveResource", resourceType := omit, primitiveContent := omit, roleIDs := omit, @@ -5588,7 +5574,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utRetrievePollingChannelUri(XSD.ID p_targetResourceAddress) modifies m_utRetrieve := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utRetrievePollingChannelUri" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utRetrievePollingChannelUri", resourceType := int15, primitiveContent := {pollingChannel := m_contentRetrievePollingChannel} } @@ -5599,7 +5585,7 @@ module OneM2M_Templates { operation := int3, to_ := "NotInitialized", from_ := "UNINITIALIZED", - requestIdentifier := testcasename() & "-m_utUpdate" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utUpdate", resourceType := omit, primitiveContent := omit, roleIDs := omit, @@ -5627,7 +5613,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utUpdateAe modifies m_utUpdate := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utUpdateContainer" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utUpdateContainer", resourceType := int2, primitiveContent := {aE := m_contentUpdateAe} } @@ -5635,7 +5621,7 @@ module OneM2M_Templates { template (value) UtTriggerPrimitive m_utUpdateContainer modifies m_utUpdate := { requestPrimitive := { - requestIdentifier := testcasename() & "-m_utUpdateContainer" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utUpdateContainer", resourceType := int3, primitiveContent := {container := m_contentUpdateContainer} } @@ -5646,7 +5632,7 @@ module OneM2M_Templates { operation := int4, to_ := "NotInitialized", from_ := "UNINITIALIZED", - requestIdentifier := testcasename() & "-m_utDeleteRequest" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_utDeleteRequest", resourceType := omit, primitiveContent := omit, roleIDs := omit, diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn index 02698923b09f1c8950fcd6622811acca3f357314..fe3b31aa6366f1aa0ec20a90e71b2d88fb9cb94a 100644 --- a/LibOneM2M/OneM2M_TestSystem.ttcn +++ b/LibOneM2M/OneM2M_TestSystem.ttcn @@ -49,6 +49,7 @@ module OneM2M_TestSystem { //About configuration of the component var Configurations vc_config; var TestSystemRole vc_testSystemRole; + var boolean vc_componentRegistered := false; //Default behaviour var default vc_aeSimu := null; var default vc_cseSimu := null; diff --git a/LibOneM2M/oneM2M_Types b/LibOneM2M/oneM2M_Types index 6ed906c421752aec5f64790181e590287b271684..d5bb3d0029d90aae8e4961173a19b045ef1a4adb 160000 --- a/LibOneM2M/oneM2M_Types +++ b/LibOneM2M/oneM2M_Types @@ -1 +1 @@ -Subproject commit 6ed906c421752aec5f64790181e590287b271684 +Subproject commit d5bb3d0029d90aae8e4961173a19b045ef1a4adb diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index 0afa59589b24d383fb8fc5adb966609538e2f56e..b6b78739a2abc7f7a6628c48d4cee6bcf1e1163c 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -2339,6 +2339,7 @@ module OneM2M_PermutationFunctions { var integer v_aeIndex, v_remoteCseIndex, v_targetResourceIndex := -1; var ResponseStatusCode v_responseStatusCode := int2000; var XSD.ID v_targetResourceAddress; + var XSD.ID v_originatorResourceAddress; // Test control @@ -2359,7 +2360,8 @@ module OneM2M_PermutationFunctions { // Test Body v_aeIndex := f_getLatestResource(vc_ae1); - + v_originatorResourceAddress := f_getLatestResourceAddress(vc_ae1, e_nonHierarchical, e_spRelative); + v_targetResourceAddress := f_getLocalResourceAddress(v_targetResourceIndex, PX_ADDRESSING_METHOD, e_spRelative); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); p_requestPrimitive.to_ := v_targetResourceAddress; @@ -2377,25 +2379,25 @@ module OneM2M_PermutationFunctions { tc_ac.start; alt { - [v_responseStatusCode == int2001] mccPortIn.receive(mw_request(mw_create(-, v_targetResourceAddress))) -> value vc_request { + [v_responseStatusCode == int2001] mccPortIn.receive(mw_request(mw_create(v_originatorResourceAddress, v_targetResourceAddress))) -> value vc_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Request primitive retargeted successfully"); f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive); f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); } - [v_responseStatusCode == int2000] mccPortIn.receive(mw_request(mw_retrieve(v_targetResourceAddress))) -> value vc_request { + [v_responseStatusCode == int2000] mccPortIn.receive(mw_request(mw_retrieve(v_targetResourceAddress, v_originatorResourceAddress))) -> value vc_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Request primitive retargeted successfully"); f_processRetrieveRequestPrimitive(vc_request.primitive.requestPrimitive); f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); } - [v_responseStatusCode == int2004] mccPortIn.receive(mw_request(mw_update(-, v_targetResourceAddress))) -> value vc_request { + [v_responseStatusCode == int2004] mccPortIn.receive(mw_request(mw_update(v_originatorResourceAddress, v_targetResourceAddress))) -> value vc_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Request primitive retargeted successfully"); f_processUpdateRequestPrimitive(vc_request.primitive.requestPrimitive); f_send(e_mcc_in_port, m_response(vc_response.primitive.responsePrimitive)); } - [v_responseStatusCode == int2002] mccPortIn.receive(mw_request(mw_delete(v_targetResourceAddress))) -> value vc_request { + [v_responseStatusCode == int2002] mccPortIn.receive(mw_request(mw_delete(v_targetResourceAddress, v_originatorResourceAddress))) -> value vc_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Request primitive retargeted successfully"); f_processDeleteRequestPrimitive(vc_request.primitive.requestPrimitive); @@ -2458,16 +2460,16 @@ module OneM2M_PermutationFunctions { if(valueof(p_requestPrimitive.operation) == int1) { v_responseStatusCode := int2001; - vc_cse1.start(f_cse_createResourceHandler(mw_create(-, v_targetResourceAddress ))); + vc_cse1.start(f_cse_createResourceHandler(mw_create(f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative), v_targetResourceAddress ))); } else if(valueof(p_requestPrimitive.operation) == int2) { v_responseStatusCode := int2000; - vc_cse1.start(f_cse_retrieveResourceHandler(v_targetResourceIndex)); + vc_cse1.start(f_cse_retrieveResourceHandler(v_targetResourceIndex, mw_retrieve(v_targetResourceAddress, f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative)))); } else if(valueof(p_requestPrimitive.operation) == int3) { v_responseStatusCode := int2004; - vc_cse1.start(f_cse_updateResourceHandler(v_targetResourceIndex)); + vc_cse1.start(f_cse_updateResourceHandler(v_targetResourceIndex, mw_update(f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative),v_targetResourceAddress))); } else if(valueof(p_requestPrimitive.operation) == int4) { v_responseStatusCode := int2002; - vc_cse1.start(f_cse_deleteResourceHandler(v_targetResourceIndex)); + vc_cse1.start(f_cse_deleteResourceHandler(v_targetResourceIndex, mw_delete(v_targetResourceAddress,f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative)))); } f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); @@ -7058,7 +7060,6 @@ module OneM2M_PermutationFunctions { p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); // Test Body @@ -7134,8 +7135,7 @@ module OneM2M_PermutationFunctions { p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + // Test Body f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); @@ -7200,8 +7200,7 @@ module OneM2M_PermutationFunctions { p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + // Test Body f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); @@ -7276,8 +7275,7 @@ module OneM2M_PermutationFunctions { p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + // Test Body f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); @@ -7351,8 +7349,7 @@ module OneM2M_PermutationFunctions { p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + // Test Body f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); @@ -7454,8 +7451,7 @@ module OneM2M_PermutationFunctions { p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName; p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN - p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); - + // Test Body f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); @@ -7706,8 +7702,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getResourceId(vc_resourcesList[v_aeIndex2].resource); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -7776,8 +7771,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -7832,7 +7826,6 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := "testDomain"; - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; @@ -7912,8 +7905,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getResourceId(vc_resourcesList[v_aeIndex2].resource); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -7970,8 +7962,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -8040,8 +8031,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -8103,8 +8093,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -8161,8 +8150,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -8217,8 +8205,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -8278,8 +8265,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -8334,8 +8320,7 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_containerIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); - + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { @@ -8397,7 +8382,6 @@ module OneM2M_PermutationFunctions { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_containerIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000); f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; @@ -8719,6 +8703,7 @@ module OneM2M_PermutationFunctions { var RequestStatus v_requestStatus; var URI v_requestResourceURI; var ResponseStatusCode v_statusCode; + var RequestID v_requestIdentifier; var template PrimitiveContent v_primitiveContent; // Test control @@ -8750,6 +8735,8 @@ module OneM2M_PermutationFunctions { // Test Body f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); + v_requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponseUri))) -> value v_response { @@ -8801,7 +8788,7 @@ module OneM2M_PermutationFunctions { v_requestStatus := v_response.primitive.responsePrimitive.primitiveContent.request.requestStatus; if (v_requestStatus==int1){ //COMPLETED tc_ac.stop; - if (valueof(p_requestPrimitive.requestIdentifier) == valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.requestIdentifier) ){ + if (valueof(v_requestIdentifier) == valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.requestIdentifier) ){ setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute correctly received"); }else{ setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute not correctly received"); @@ -9164,8 +9151,10 @@ module OneM2M_PermutationFunctions { f_checkAeSimuStatus(); - vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, {f_getLocalPoA(PX_TS_AE2.mcaPortIn, "")}))); // AE2 is registred + vc_ae2.start(f_cse_createAccessControlPolicyAux("PermissionForNotificationAcp",{"all"}, int63)); // Permissions for NOTIFY + f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); + vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, {f_getLocalPoA(PX_TS_AE2.mcaPortIn, "")}))); // AE2 is registred f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); v_ae2Index := f_getResourceFromAeSimu(vc_ae2); diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn index 0ab9c16ecf2c7e5d2adcb806c913f6d2d98a5477..999104a3c26db664050540606ca29e7ea0e02632 100644 --- a/OneM2M_Testcases_CSE_Release_1.ttcn +++ b/OneM2M_Testcases_CSE_Release_1.ttcn @@ -4604,7 +4604,7 @@ module OneM2M_Testcases_CSE_Release_1 { var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContentInstanceBase; const AttributeList c_optionalAttribute := {"contentInfo"}; - v_createRequest.primitiveContent.contentInstance.contentInfo := "MyContentInfo"; + v_createRequest.primitiveContent.contentInstance.contentInfo := "text/strings:0"; v_ae1.start(f_CSE_DMR_CRE_012(int4, v_createRequest, c_optionalAttribute)); v_ae1.done; diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index 9d8cd4533ff82b4e28e7f001503654422383be85..41faf2f46966ca98443cce1c60a77016b59809e3 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -1487,35 +1487,6 @@ module OneM2M_Testcases_CSE_Release_2 { } } - testcase TC_CSE_DMR_UPD_014_SUB_ACPI() runs on Tester system CseSystem { - // Local variables - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var AcpType v_accessControlPolicyIDs_1 := {"NotInitialized_1"}; - var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"}; - var template RequestPrimitive v_createRequest := m_createSubscriptionBase; - var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; - var ResponsePrimitive v_responsePrimitive; - v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_1; - v_updateRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_2; - - v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription - v_ae1.done; - - - - if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(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){ - setverdict(fail, __SCOPE__ & ": Error: AccessControlPolicyIDs attribute not updated correctly") - } - } - } - } - - } - testcase TC_CSE_DMR_UPD_014_SUB_BN() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; @@ -3364,7 +3335,8 @@ module OneM2M_Testcases_CSE_Release_2 { // Local variables var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var RequestPrimitive v_req1, v_req2, v_req3; + var RequestPrimitive v_req1, v_req3; + var template RequestPrimitive v_req2; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2; @@ -3388,11 +3360,12 @@ module OneM2M_Testcases_CSE_Release_2 { v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); f_send(e_mca_port, m_request(v_req1)); - v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_TS_CSE1.cseId))); + v_req2 := m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_TS_CSE1.cseId)); - vc_cse1.start(f_cse_notifyProcedure_notify(v_req2)); + vc_cse1.start(f_cse_notifyProcedure_notify(valueof(v_req2))); v_req2.from_ := PX_TS_CSE1.cseId; + v_req2.requestIdentifier := pattern "{v_req2.requestIdentifier}*"; tc_ac.start; alt { @@ -3473,7 +3446,8 @@ module OneM2M_Testcases_CSE_Release_2 { // Local variables var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var RequestPrimitive v_req1, v_req2, v_req3; + var RequestPrimitive v_req1, v_req3; + var template RequestPrimitive v_req2; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2; @@ -3494,10 +3468,11 @@ module OneM2M_Testcases_CSE_Release_2 { v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex); - v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_TS_CSE1.cseId))); + v_req2 := m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_TS_CSE1.cseId)); - vc_cse1.start(f_cse_notifyProcedure_notify(v_req2)); + 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_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); f_send(e_mca_port, m_request(v_req1)); @@ -3579,7 +3554,7 @@ module OneM2M_Testcases_CSE_Release_2 { var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var RequestPrimitive v_req1; - var RequestPrimitive v_req2; + var template RequestPrimitive v_req2; var RequestPrimitive v_req3; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2;//Response to a Notify Request @@ -3605,10 +3580,11 @@ module OneM2M_Testcases_CSE_Release_2 { v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); f_send(e_mca_port, m_request(v_req1)); - v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_TS_CSE1.cseId))); + v_req2 := m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_TS_CSE1.cseId)); - vc_cse1.start(f_cse_notifyProcedure_notify(v_req2)); + vc_cse1.start(f_cse_notifyProcedure_notify(valueof(v_req2))); v_req2.from_ := PX_TS_CSE1.cseId; + v_req2.requestIdentifier := pattern "{v_req2.requestIdentifier}*"; tc_ac.start; alt {