diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index ee98977043dc358c65e140c6f253d90cfbc945cd..9af3402db911a23fae30ce75c85ed1d10d028452 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -7,7 +7,7 @@ * * @author ETSI * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $ - * $Id: OneM2M_Functions.ttcn 201 2016-12-14 13:47:17Z berge $ + * $Id: OneM2M_Functions.ttcn 202 2016-12-15 15:08:33Z reinaortega $ * @desc Module containing functions for oneM2M * */ @@ -24,41 +24,41 @@ module OneM2M_Functions { // import from OneM2M_AdditionalTypes all; - group configFunctions { - /** - @desc Ports mapping and default behaviour activation for Config 1 - */ - function f_cf01Up() runs on CseTester { - + group ConfigFunctions { + /** + @desc Ports mapping and default behaviour activation for Config 1 + */ + function f_cf01Up() runs on CseTester { + // Variables - + // Map map(self:mcaPort, system:mcaPort); map(self:acPort, system:acPort); activate(a_default()); activate(a_cse_cf01()); - + // Connect - + //Initialze the IUT - + } // end f_cf01Up function f_cf02Up() runs on CseTester { - + // Variables - + // Map map(self:mcaPort, system:mcaPort); map(self:mccPort, system:mccPort); map(self:acPort, system:acPort); activate(a_default()); activate(a_cse_cf02()); - + // Connect - + //Initialze the IUT - + } // end f_cf02Up /** @@ -94,237 +94,235 @@ module OneM2M_Functions { * @verdict */ function f_cf01Down() runs on CseTester { - + unmap(self:mcaPort, system:mcaPort); unmap(self:acPort, system:acPort); //stop; } - + function f_cf02Down() runs on CseTester { - + unmap(self:mcaPort, system:mcaPort); unmap(self:mccPort, system:mccPort); unmap(self:acPort, system:acPort); //stop; } - + }//end group configFunctions - group cseFunctions { + group CseFunctions { - group preambleFunctions { + group PreambleFunctions { - /** - * @desc Creation of auxiliar resources ACP for correct execution of the test case - * @param p_allowedOperations Allowed operations for the auxiliar AE resource - * @return Internal ACP resource index - * @verdict - */ - function f_cse_preamble_createAcpAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) AccessControlOperations p_allowedOperations := int63) runs on CseTester return integer {//c_CRUDNDi - - return f_cse_createAccessControlPolicyAux(p_acpName, p_allowedOperations); - - } + /** + * @desc Creation of auxiliar resources ACP for correct execution of the test case + * @param p_allowedOperations Allowed operations for the auxiliar AE resource + * @return Internal ACP resource index + * @verdict + */ + function f_cse_preamble_createAcpAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) AccessControlOperations p_allowedOperations := int63) runs on CseTester return integer {//c_CRUDNDi + + return f_cse_createAccessControlPolicyAux(p_acpName, p_allowedOperations); + + } - - /** - * @desc Creation of auxiliar resources ACP and AE for correct execution of the test case - * @param p_allowedOperations Allowed operations for the auxiliar AE resource - * @return Internal AE resource index - * @verdict - */ - function f_cse_preamble_registerAe(template (omit) AcpType p_accessControlPolicyIDs := omit, in template (omit) PoaList p_poaList := omit) runs on CseTester return integer {//c_CRUDNDi - - var RequestPrimitive v_request; - var MsgIn v_response; - var integer v_aeAuxIndex := -1; - - v_request := valueof(m_createAeAux(p_accessControlPolicyIDs, p_poaList)); - v_request.to_ := f_getResourceAddress(); + + /** + * @desc Creation of auxiliar resources ACP and AE for correct execution of the test case + * @param p_allowedOperations Allowed operations for the auxiliar AE resource + * @return Internal AE resource index + * @verdict + */ + function f_cse_preamble_registerAe(template (omit) AcpType p_accessControlPolicyIDs := omit, in template (omit) PoaList p_poaList := omit) runs on CseTester return integer {//c_CRUDNDi + + var RequestPrimitive v_request; + var MsgIn v_response; + var integer v_aeAuxIndex := -1; + + v_request := valueof(m_createAeAux(p_accessControlPolicyIDs, p_poaList)); + v_request.to_ := f_getResourceAddress(); mcaPort.send(m_request(v_request)); - - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - log("Preamble: Application registered successfuly"); - if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].AE_optional)) { - vc_aeAux := v_response.primitive.responsePrimitive.primitiveContent.any_1[0].AE_optional; - + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + log(__SCOPE__&":INFO: Application registered successfuly"); + if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].AE_optional)) { + vc_aeAux := v_response.primitive.responsePrimitive.primitiveContent.any_1[0].AE_optional; + f_checkAttributesToBeSaved(int2, v_request, v_response.primitive.responsePrimitive); - v_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent); - vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_aeAuxIndex}; - - if(ispresent(vc_aeAux.aE_ID)){ - f_sendAcPrimitive("AE-ID_changed", oct2char(unichar2oct(vc_aeAux.aE_ID))); - } else { - f_sendAcPrimitive("AE-ID_changed", "0"); - } - }; - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(inconc, "Preamble: Error while registering application"); - stop; - } - [] mcaPort.receive { - tc_ac.stop; - setverdict(inconc, "Preamble: Unexpected message received"); - stop; - } - [] tc_ac.timeout { - setverdict(inconc, "Preamble: No answer while registering resource"); - stop; - } - } - - return v_aeAuxIndex; - - } - - /** - * @desc Creation of auxiliar resources ACP and AE for correct execution of the test case - * @param p_allowedOperations Allowed operations for the auxiliar AE resource - * @return Internal AE resource index - * @verdict - */ - function f_cse_preamble_registerAeWithId(XSD.ID p_appId, in template (value) AccessControlOperations p_allowedOperations := int63) runs on CseTester return integer {//c_CRUDNDi - - var RequestPrimitive v_request; - var MsgIn v_response; - var integer v_aeAuxIndex := -1; - var integer v_acpAuxIndex := -1; - - if(PICS_ACP_SUPPORT){ - v_acpAuxIndex := f_cse_createAccessControlPolicyAux(p_allowedOperations := p_allowedOperations); - vc_acpAuxIndex := v_acpAuxIndex; - } - - if(v_acpAuxIndex != -1) { - vc_resourcesIndexToBeDeleted := {v_acpAuxIndex}; - v_request := valueof(m_createAe(p_appId, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -)); - - //TODO Test, to be removed - v_request.to_ := f_getResourceAddress(); - - mcaPort.send(m_request(v_request)); - //mcaPort.send(m_request(m_createAeAux(p_name, {PX_URI_CSE & PX_CSE_NAME & "/" & PX_ACPAUX_NAME}))); - } else { - mcaPort.send(m_request(m_createAe(p_appId))); - } - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - log("Preamble: Application registered successfuly"); - if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].AE_optional)) { - vc_aeAux := v_response.primitive.responsePrimitive.primitiveContent.any_1[0].AE_optional; - - v_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent); - vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_aeAuxIndex}; - - if(ispresent(vc_aeAux.aE_ID)){ - f_sendAcPrimitive("AE-ID_changed", oct2char(unichar2oct(vc_aeAux.aE_ID))); - } else { - f_sendAcPrimitive("AE-ID_changed", "0"); - } - } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(inconc, "Preamble: Error while registering application"); - stop; - } - [] mcaPort.receive { - tc_ac.stop; - setverdict(inconc, "Preamble: Unexpected message received"); - stop; - } - [] tc_ac.timeout { - setverdict(inconc, "Preamble: No answer while registering resource"); - stop; - } - } - - return v_aeAuxIndex; - - } - - //Added by @Naum - function f_cse_preamble_createServiceSubscribedAppRule(in template ListOfM2MID p_allowedAEs := {""}, in template (value) AccessControlOperations p_allowedOperations := int63) runs on CseTester return integer {//c_CRUDNDi - - var MsgIn v_response; - var integer v_serviceSubscribedAppRuleIndex := -1; - var RequestPrimitive v_request; - - v_serviceSubscribedAppRuleIndex := f_cse_createResource(int19, m_createServiceSubscribedAppRule({"None"}, {PX_APP_ID}, valueof(p_allowedAEs))); - - return v_serviceSubscribedAppRuleIndex; - - } - + v_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent); + vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_aeAuxIndex}; + + if(ispresent(vc_aeAux.aE_ID)){ + f_sendAcPrimitive("AE-ID_changed", oct2char(unichar2oct(vc_aeAux.aE_ID))); + } else { + f_sendAcPrimitive("AE-ID_changed", "0"); + } + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(inconc, "Preamble: Error while registering application"); + stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(inconc, "Preamble: Unexpected message received"); + stop; + }; + [] tc_ac.timeout { + setverdict(inconc, "Preamble: No answer while registering resource"); + stop; + } + } + + return v_aeAuxIndex; + + } + + /** + * @desc Creation of auxiliar resources ACP and AE for correct execution of the test case + * @param p_allowedOperations Allowed operations for the auxiliar AE resource + * @return Internal AE resource index + * @verdict + */ + function f_cse_preamble_registerAeWithId(XSD.ID p_appId, in template (value) AccessControlOperations p_allowedOperations := int63) runs on CseTester return integer {//c_CRUDNDi + + var RequestPrimitive v_request; + var MsgIn v_response; + var integer v_aeAuxIndex := -1; + var integer v_acpAuxIndex := -1; + + if(PICS_ACP_SUPPORT){ + v_acpAuxIndex := f_cse_createAccessControlPolicyAux(p_allowedOperations := p_allowedOperations); + vc_acpAuxIndex := v_acpAuxIndex; + } + + if(v_acpAuxIndex != -1) { + vc_resourcesIndexToBeDeleted := {v_acpAuxIndex}; + v_request := valueof(m_createAe(p_appId, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -)); + + //TODO Test, to be removed + v_request.to_ := f_getResourceAddress(); + + mcaPort.send(m_request(v_request)); + //mcaPort.send(m_request(m_createAeAux(p_name, {PX_URI_CSE & PX_CSE_NAME & "/" & PX_ACPAUX_NAME}))); + } else { + mcaPort.send(m_request(m_createAe(p_appId))); + } + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + log(__SCOPE__&": INFO: Application registered successfuly"); + if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].AE_optional)) { + vc_aeAux := v_response.primitive.responsePrimitive.primitiveContent.any_1[0].AE_optional; + + v_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent); + vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_aeAuxIndex}; + + if(ispresent(vc_aeAux.aE_ID)){ + f_sendAcPrimitive("AE-ID_changed", oct2char(unichar2oct(vc_aeAux.aE_ID))); + } else { + f_sendAcPrimitive("AE-ID_changed", "0"); + } + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) + { + tc_ac.stop; + setverdict(inconc, "Preamble: Error while registering application"); + stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(inconc, "Preamble: Unexpected message received"); + stop; + } + [] tc_ac.timeout { + setverdict(inconc, "Preamble: No answer while registering resource"); + stop; + } + } + + return v_aeAuxIndex; + + } + + //Added by @Naum + function f_cse_preamble_createServiceSubscribedAppRule(in template ListOfM2MID p_allowedAEs := {""}) runs on CseTester return integer {//c_CRUDNDi + + var integer v_serviceSubscribedAppRuleIndex := -1; + + v_serviceSubscribedAppRuleIndex := f_cse_createResource(int19, m_createServiceSubscribedAppRule({"None"}, {PX_APP_ID}, valueof(p_allowedAEs))); + + return v_serviceSubscribedAppRuleIndex; + + } + function f_cse_preamble_subscriptionVerification(out CseTester p_notifyHandler,in integer p_aeIndex, inout integer p_ae2Index, inout template RequestPrimitive p_createRequestPrimitive,in ResourceType p_resourceType ) runs on CseTester { - if(p_resourceType == int23){ - p_notifyHandler := CseTester.create("NotifyHandler") alive; - p_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE_ID_STEM, "MyAe2", {"http://" & PX_TESTER_ADDRESS & "/"}), -1); // AE2 is registred - if(ischosen(p_createRequestPrimitive.primitiveContent.any_1[0].Subscription_optional)){ //this condition is necessary for Subscription TCs where notification URI is set in m_createSubscriptionAdvanced - p_createRequestPrimitive.primitiveContent.any_1[0].Subscription_optional.notificationURI := {f_getResourceAddress(p_ae2Index)}; - } - p_notifyHandler.start(f_subscriptionVerificationHandler(f_getResourceAddress(p_aeIndex))); - } + if(p_resourceType == int23){ + p_notifyHandler := CseTester.create("NotifyHandler") alive; + p_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE_ID_STEM, "MyAe2", {"http://" & PX_TESTER_ADDRESS & "/"}), -1); // AE2 is registred + if(ischosen(p_createRequestPrimitive.primitiveContent.any_1[0].Subscription_optional)){ //this condition is necessary for Subscription TCs where notification URI is set in m_createSubscriptionAdvanced + p_createRequestPrimitive.primitiveContent.any_1[0].Subscription_optional.notificationURI := {f_getResourceAddress(p_ae2Index)}; + } + p_notifyHandler.start(f_subscriptionVerificationHandler(f_getResourceAddress(p_aeIndex))); + } } - - }//end group preambleFunctions - - group postambleFunctions { - - /** - * @desc Deletion of all resources created during the test case execution. IUT gets clean and ready for next execution - * @verdict - */ - function f_cse_postamble_deleteResources() runs on CseTester { - var integer i; - var XSD.ID v_resourceAddress; - var MsgIn v_response; - var RequestPrimitive v_request; - - if (PX_RUN_POSTAMBLE) { - - for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) { + + }//end group preambleFunctions + + group PostambleFunctions { + + /** + * @desc Deletion of all resources created during the test case execution. IUT gets clean and ready for next execution + * @verdict + */ + function f_cse_postamble_deleteResources() runs on CseTester { + var integer i; + var XSD.ID v_resourceAddress; + var RequestPrimitive v_request; + + if (PX_RUN_POSTAMBLE) { + + for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) { - v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); + v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); - v_request := valueof(m_deleteRequest(v_resourceAddress)); - - if(PX_FROM_IS_AE_ID){ + v_request := valueof(m_deleteRequest(v_resourceAddress)); + + if(PX_FROM_IS_AE_ID){ if(ischosen(vc_resourcesList[vc_resourcesIndexToBeDeleted[i]].resource.any_1[0].AE_optional)) { v_request.from_ := vc_resourcesList[vc_resourcesIndexToBeDeleted[i]].resource.any_1[0].AE_optional.aE_ID; } - } - mcaPort.send(m_request(v_request)); - - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { - tc_ac.stop; - log("Postamble: AE Resource deleted"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - log("Postamble: Error while deleting resource"); - } - [] tc_ac.timeout { - log("Postamble: No answer while deleting resource"); - } - } - } - } - - f_cse_postamble_default(); - } - + } + mcaPort.send(m_request(v_request)); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + log(__SCOPE__&"INFO: Resource" & v_resourceAddress & " deleted"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + log(__SCOPE__&"INFO: Error while deleting resource " & v_resourceAddress); + } + [] tc_ac.timeout { + log(__SCOPE__&"INFO: No answer while deleting resource " & v_resourceAddress); + } + } + } + } + + f_cse_postamble_default(); + } + /** * @desc Default postamble * @verdict @@ -333,7 +331,7 @@ module OneM2M_Functions { } function f_is_component_done(in CseTester p_notifyHandler) runs on CseTester { - + tc_ac.start(10.0); alt { [] p_notifyHandler.done { @@ -344,128 +342,126 @@ module OneM2M_Functions { } } } //end f_is_component_done - - - }//end group postambleFunctions - - group helpingFunctions { - - /** - * @desc Creation of a resource - * @param p_resourceType Resource type of the resource to be created - * @param p_requestPrimitive Template request primitive - * @param p_parentIndex Internal resource index which indicates the parent of the resource to be created - * @return Internal resource index of the created resource - * @verdict - */ - function f_cse_createResource(in ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive := m_create, integer p_parentIndex := -1) runs on CseTester return integer { - - var MsgIn v_response; - var RequestPrimitive v_request; - var XSD.ID v_resourceId; - var integer v_resourceIndex := -1; - - v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, p_parentIndex); - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(pass, "f_createResource: Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly"); + + + }//end group postambleFunctions + + group HelpingFunctions { + + /** + * @desc Creation of a resource + * @param p_resourceType Resource type of the resource to be created + * @param p_requestPrimitive Template request primitive + * @param p_parentIndex Internal resource index which indicates the parent of the resource to be created + * @return Internal resource index of the created resource + * @verdict + */ + function f_cse_createResource(in ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive := m_create, integer p_parentIndex := -1) runs on CseTester return integer { + + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_resourceIndex := -1; + + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, p_parentIndex); + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(pass, "f_createResource: Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly"); f_checkAttributesToBeSaved(p_resourceType, v_request, v_response.primitive.responsePrimitive); - v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_parentIndex); + v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_parentIndex); if(match(int2, p_resourceType) or match(-1, p_parentIndex)) {//If created resource is an AE or created under CSEBase, it needs to be added to the resourceToBeDeleted list vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_resourceIndex}; } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(inconc, "f_createResource: Error while creating resource type " & int2str(enum2int(p_resourceType))); - } - [] mcaPort.receive { - tc_ac.stop; - setverdict(inconc, "f_createResource: Unexpected message received"); - } - [] tc_ac.timeout { - setverdict(inconc, "f_createResource: No answer while creating resource type " & int2str(enum2int(p_resourceType))); - } - } - - return v_resourceIndex; - - } - - /** - * @desc Creation of the auxiliar ACP resource - * @param p_acpName ACP name - * @param p_allowedOperations Allowed operations - * @return Internal resource index of the created auxiliar ACP resource - * @verdict - */ - function f_cse_createAccessControlPolicyAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) AccessControlOperations p_allowedOperations := int63) runs on CseTester return integer{ - var RequestPrimitive v_request; - var MsgIn v_response; - var integer v_acpAuxIndex := -1; - - v_request := valueof(m_createAcpAux(p_acpName := p_acpName, p_allowedOperations := p_allowedOperations)); - - v_request.to_ := f_getResourceAddress(); - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(pass, "f_createAccessControlPolicy: Resource type " & int2str(1) & " created successfuly"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(inconc, "f_createResource: Error while creating resource type " & int2str(enum2int(p_resourceType))); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(inconc, "f_createResource: Unexpected message received"); + } + [] tc_ac.timeout { + setverdict(inconc, "f_createResource: No answer while creating resource type " & int2str(enum2int(p_resourceType))); + } + } + + return v_resourceIndex; + + } + + /** + * @desc Creation of the auxiliar ACP resource + * @param p_acpName ACP name + * @param p_allowedOperations Allowed operations + * @return Internal resource index of the created auxiliar ACP resource + * @verdict + */ + function f_cse_createAccessControlPolicyAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) AccessControlOperations p_allowedOperations := int63) runs on CseTester return integer{ + var RequestPrimitive v_request; + var MsgIn v_response; + var integer v_acpAuxIndex := -1; + + v_request := valueof(m_createAcpAux(p_acpName := p_acpName, p_allowedOperations := p_allowedOperations)); + + v_request.to_ := f_getResourceAddress(); + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(pass, "f_createAccessControlPolicy: Resource type " & int2str(1) & " created successfuly"); f_checkAttributesToBeSaved(int1, v_request, v_response.primitive.responsePrimitive); v_acpAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent); - vc_acpAuxIndex := v_acpAuxIndex; + vc_acpAuxIndex := v_acpAuxIndex; vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_acpAuxIndex}; } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(inconc, "f_createAccessControlPolicy: Error while creating resource type " & int2str(1)); - } - [] mcaPort.receive { - tc_ac.stop; - setverdict(inconc, "f_createAccessControlPolicy: Unexpected message received"); - } - [] tc_ac.timeout { - setverdict(inconc, "f_createAccessControlPolicy: No answer while creating resource type " & int2str(1)); - } - } - - return v_acpAuxIndex; - - } - - - /** - * @desc Creation of the auxiliar Container resource - * @param p_parentIndex Internal resource index which indicates the parent of the Container resource to be created - * @return Internal resource index of the created Container resource - * @verdict - */ - function f_cse_createContainerResourceAux (integer p_parentIndex := -1) runs on CseTester return integer { - - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_acpAuxIndex := -1; - var integer v_containerResourceIndex := -1; - - v_acpAuxIndex := f_cse_createAccessControlPolicyAux(p_acpName := c_acpAuxName);//"MyAcp_2" - - v_request := valueof(m_createContainerBase); - v_request.primitiveContent.any_1[0].Container_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}; - v_request.primitiveContent.any_1[0].Container_optional.resourceName := "MyContainerAux"; - - v_containerResourceIndex := f_cse_createResource(int3, v_request, p_parentIndex); - - return v_containerResourceIndex; - - } - + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(inconc, "f_createAccessControlPolicy: Error while creating resource type " & int2str(1)); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(inconc, "f_createAccessControlPolicy: Unexpected message received"); + } + [] tc_ac.timeout { + setverdict(inconc, "f_createAccessControlPolicy: No answer while creating resource type " & int2str(1)); + } + } + + return v_acpAuxIndex; + + } + + + /** + * @desc Creation of the auxiliar Container resource + * @param p_parentIndex Internal resource index which indicates the parent of the Container resource to be created + * @return Internal resource index of the created Container resource + * @verdict + */ + function f_cse_createContainerResourceAux (integer p_parentIndex := -1) runs on CseTester return integer { + + var RequestPrimitive v_request; + var integer v_acpAuxIndex := -1; + var integer v_containerResourceIndex := -1; + + v_acpAuxIndex := f_cse_createAccessControlPolicyAux(p_acpName := c_acpAuxName);//"MyAcp_2" + + v_request := valueof(m_createContainerBase); + v_request.primitiveContent.any_1[0].Container_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}; + v_request.primitiveContent.any_1[0].Container_optional.resourceName := "MyContainerAux"; + + v_containerResourceIndex := f_cse_createResource(int3, v_request, p_parentIndex); + + return v_containerResourceIndex; + + } + /** * @desc * @param p_requestPrimitive @@ -494,47 +490,47 @@ module OneM2M_Functions { } } }// end f_cse_updateResource - - /** - * @desc Update of the auxiliar ACP resource - * @param p_allowedOperations New allowed operations - * @verdict - */ - function f_cse_updateAcpAuxResource (in template (value) AccessControlOperations p_allowedOperations) runs on CseTester { - var RequestPrimitive v_request; - - v_request := valueof(m_updateAcpBase); - - v_request.to_ := f_getResourceAddress(vc_acpAuxIndex); + + /** + * @desc Update of the auxiliar ACP resource + * @param p_allowedOperations New allowed operations + * @verdict + */ + function f_cse_updateAcpAuxResource (in template (value) AccessControlOperations p_allowedOperations) runs on CseTester { + var RequestPrimitive v_request; + + v_request := valueof(m_updateAcpBase); + + v_request.to_ := f_getResourceAddress(vc_acpAuxIndex); v_request.from_ := f_getOriginator(vc_acpAuxIndex); - v_request.primitiveContent.any_1[0].AccessControlPolicy_optional.privileges.accessControlRule_list := { - { - accessControlOriginators := PX_ACOR, //{"admin:admin"} - accessControlOperations := valueof(p_allowedOperations), - accessControlContexts_list := {}, + v_request.primitiveContent.any_1[0].AccessControlPolicy_optional.privileges.accessControlRule_list := { + { + accessControlOriginators := PX_ACOR, //{"admin:admin"} + accessControlOperations := valueof(p_allowedOperations), + accessControlContexts_list := {}, accessControlAuthenticationFlag := omit, accessControlObjectDetails_list := {} - } - }; - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { - tc_ac.stop; - setverdict(pass, "f_updateAcpAuxResource: " & v_request.to_ & " resource updated successfuly"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, "f_updateAcpAuxResource: Error while updating " & v_request.to_ & " resource"); - } - [] tc_ac.timeout { - setverdict(inconc, "f_updateAcpAuxResource: No answer while updating " & v_request.to_ & " resource" ); - } - } - } - - function f_subscriptionVerificationHandler(in XSD.ID p_creator, in ResponseStatusCode v_responseStatusCode := int2001) runs on CseTester { + } + }; + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(pass, "f_updateAcpAuxResource: " & v_request.to_ & " resource updated successfuly"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, "f_updateAcpAuxResource: Error while updating " & v_request.to_ & " resource"); + } + [] tc_ac.timeout { + setverdict(inconc, "f_updateAcpAuxResource: No answer while updating " & v_request.to_ & " resource" ); + } + } + } + + function f_subscriptionVerificationHandler(in XSD.ID p_creator, in ResponseStatusCode p_responseStatusCode := int2001) runs on CseTester { // Local variables var MsgIn v_response; var ResponsePrimitive v_responsePrimitive; @@ -544,15 +540,15 @@ module OneM2M_Functions { map(self:mcaPort, system:mcaPort); map(self:acPort, system:acPort); - v_notificationResponse.any_1 := {{Notification := valueof(mw_contentNotificationAllOmit)}}; + v_notificationResponse.any_1 := {{Notification := valueof(m_contentNotification_allOmit)}}; v_notificationRequest.verificationRequest := true; //v_notificationRequest.creator := p_creator; TODO To check what address format is to be expected //Some participants use SP relative UNSTRUCTURED //v_notificationRequest.subscriptionReference := "I Don't know which URI is expected"; // TODO mandatory parameter - v_responsePrimitive := valueof(m_responseNotification(v_responseStatusCode,v_notificationResponse));//TODO No PrimitiveContent is expected + v_responsePrimitive := valueof(m_responseNotification(p_responseStatusCode,v_notificationResponse));//TODO No PrimitiveContent is expected - if(v_responseStatusCode != int2001){ + if(p_responseStatusCode != int2001){ v_responsePrimitive.primitiveContent := omit; } @@ -687,75 +683,75 @@ module OneM2M_Functions { } //end f_check_notificationContent function f_cse_notifyProcedure(template PrimitiveContent p_primitiveContent) runs on CseTester { - // Local variables - var MsgIn v_response; - - map(self:mcaPort, system:mcaPort); - map(self:acPort, system:acPort); - - tc_ac.start; - alt { - [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_response { - tc_ac.stop; - if(f_check_notificationContent(v_response.primitive.requestPrimitive, p_primitiveContent)){ - setverdict(pass, testcasename() & ": Notification received"); + // Local variables + var MsgIn v_response; + + map(self:mcaPort, system:mcaPort); + map(self:acPort, system:acPort); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_response { + tc_ac.stop; + if(f_check_notificationContent(v_response.primitive.requestPrimitive, p_primitiveContent)){ + setverdict(pass, testcasename() & ": Notification received"); mcaPort.send(m_response(valueof(m_responseNotification(int2001)))); - } - else{ - setverdict(fail, testcasename() & ": Notification received but the content doesn't match"); - } - } - [] mcaPort.receive{ - tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); - } - [] tc_ac.timeout { - setverdict(inconc, testcasename() & ": No notification received"); - } - } - - - unmap(self:mcaPort, system:mcaPort); - unmap(self:acPort, system:acPort); - - } //end f_cse_notifyProcedure - - - }//end group helpingFunctions - - group altstepFunctions { - + } + else{ + setverdict(fail, testcasename() & ": Notification received but the content doesn't match"); + } + } + [] mcaPort.receive{ + tc_ac.stop; + setverdict(fail, testcasename() & ": Error, unexpected message received"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No notification received"); + } + } + + + unmap(self:mcaPort, system:mcaPort); + unmap(self:acPort, system:acPort); + + } //end f_cse_notifyProcedure + + + }//end group helpingFunctions + + group CseAltstepFunctions { + /** * @desc Cse altstep for config 01 */ altstep a_cse_cf01() runs on CseTester { [] mcaPort.receive { - log("a_default: WARNING: Unexpected message received"); + log(__SCOPE__&": WARNING: Unexpected message received"); repeat; } } - + /** * @desc Cse altstep for config 02 */ altstep a_cse_cf02() runs on CseTester { - + [] mcaPort.receive { - log("a_default: WARNING: Unexpected message received"); + log(__SCOPE__&": WARNING: Unexpected message received"); repeat; } [] mccPort.receive { - log("a_default: WARNING: Unexpected message received"); + log(__SCOPE__&": WARNING: Unexpected message received"); repeat; } } }//end group altstepFunctions - + }//end cseFunctions - group aeFunctions { + group AeFunctions { group preambleFunctions { @@ -814,7 +810,7 @@ module OneM2M_Functions { var integer v_resourceIndex; - // AE + // AE TODO To review the code (use of indexes, generation of value for certain attributes, etc..) if(p_resourceType == int2 and ischosen(p_resource.any_1[0].AE_optional)) { var AE_optional v_ae := p_resource.any_1[0].AE_optional; var AE_optional v_aeModified; @@ -865,7 +861,7 @@ module OneM2M_Functions { } [] mcaPort.receive { - log("a_default: WARNING: Unexpected message received"); + log("a_ae_default: WARNING: Unexpected message received"); repeat; } } @@ -903,8 +899,8 @@ module OneM2M_Functions { }//end of aeFunctions - group getSetFunctions { - + group GetSetFunctions { + /** * @desc Creation of a CREATE request primitive from a template request primitive * @param p_resourceType Type of resource to be created @@ -914,14 +910,13 @@ module OneM2M_Functions { * @verdict */ function f_getCreateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_request := m_create, integer p_parentIndex) runs on CseTester return RequestPrimitive { - var integer p_locresourceIndex := p_parentIndex; - var template ListOfURIs v_defaultListOfURIs := {"NotInitialized"}; - + var template ListOfURIs v_defaultListOfURIs := {"NotInitialized"}; + if(p_resourceType != int2) { p_request.from_ := f_getOriginator(p_parentIndex); } p_request.to_ := f_getResourceAddress(p_parentIndex); - + if (p_resourceType == int1) {//AccessControlPolicy } @@ -932,9 +927,9 @@ module OneM2M_Functions { } if(p_resourceType == int3){//container - //when a container is created by hosting cse for storing location information, the container is seen as a location container + //when a container is created by hosting cse for storing location information, the container is seen as a location container if(PX_IS_LOC_CONTAINER){ - p_request.primitiveContent.any_1[0].Container_optional.locationID := f_getResourceId(vc_resourcesList[p_locresourceIndex].resource);//resourceID of the locationPolicy + p_request.primitiveContent.any_1[0].Container_optional.locationID := f_getResourceId(vc_resourcesList[p_parentIndex].resource);//resourceID of the locationPolicy } } @@ -946,12 +941,12 @@ module OneM2M_Functions { if (p_resourceType == int18) {//schedule } - + if (p_resourceType == int23) {//subscription if(match(valueof(p_request.primitiveContent.any_1[0].Subscription_optional.notificationURI), v_defaultListOfURIs )){ p_request.primitiveContent.any_1[0].Subscription_optional.notificationURI := {f_getResourceAddress(p_parentIndex)}; } - /*if(PX_FROM_IS_AE_ID) { + /*if(PX_FROM_IS_AE_ID) { if(PX_UNSTRUCTURED){ p_request.primitiveContent.any_1[0].Subscription_optional.notificationURI := {vc_aeAux.aE_ID}; } else { @@ -961,10 +956,10 @@ module OneM2M_Functions { p_request.primitiveContent.any_1[0].Subscription_optional.notificationURI := {"/" & PX_CSE_NAME & "/" & PX_AEAUX_NAME};//c_aeAuxName }*/ } - + return valueof(p_request); } - + /** * @desc Creation of an UPDATE request primitive from a template request primitive * @param p_resourceType Type of resource to be created @@ -974,37 +969,37 @@ module OneM2M_Functions { * @verdict */ function f_getUpdateRequestPrimitive(in ResourceType p_resourceType, integer p_resourceIndex, template RequestPrimitive p_request) runs on CseTester return RequestPrimitive { - + p_request.from_ := f_getOriginator(p_resourceIndex); - + p_request.to_ := f_getResourceAddress(p_resourceIndex); - + if (p_resourceType == int3) {//Container - + //TODO } - + if (p_resourceType == int9) {//group //TODO - + } - + if (p_resourceType == int18) {//schedule //TODO - + } - + if (p_resourceType == int15) {//pollingChannel //TODO } - + if (p_resourceType == int23) {//subscription //TODO } - + return valueof(p_request); } - + /** * @desc Extraction from a primitiveContent field the resourceID attribute * @param p_contentResource primitiveContent field @@ -1012,7 +1007,7 @@ module OneM2M_Functions { * @verdict */ function f_getResourceId(PrimitiveContent p_contentResource) return XSD.ID { - + if(ischosen(p_contentResource.any_1[0].AccessControlPolicy_optional)) { return p_contentResource.any_1[0].AccessControlPolicy_optional.resourceID; } @@ -1046,7 +1041,7 @@ module OneM2M_Functions { } } - + /** * @desc Extraction from a primitiveContent field the resourceName attribute * @param p_contentResource primitiveContent field @@ -1054,7 +1049,7 @@ module OneM2M_Functions { * @verdict */ function f_getResourceName(PrimitiveContent p_contentResource) return XSD.ID { - + if(ischosen(p_contentResource.any_1[0].AccessControlPolicy_optional)) { return p_contentResource.any_1[0].AccessControlPolicy_optional.resourceName; } @@ -1087,7 +1082,7 @@ module OneM2M_Functions { return "1"; } } - + /** * @desc Resolution of the originator field (from) for a given resource * @param p_targetResourceIndex Internal resource index of the given resource @@ -1095,11 +1090,11 @@ module OneM2M_Functions { * @verdict */ function f_getOriginator(integer p_targetResourceIndex := -1) runs on CseTester return XSD.AnyURI { - + if(p_targetResourceIndex == -1) { return PX_SUPER_USER; } - + if(PX_FROM_IS_AE_ID) { if(ischosen(vc_resourcesList[p_targetResourceIndex].resource.any_1[0].AE_optional)) { return vc_resourcesList[p_targetResourceIndex].resource.any_1[0].AE_optional.aE_ID; @@ -1110,7 +1105,7 @@ module OneM2M_Functions { return PX_SUPER_USER; } } - + /** * @desc Return of a index of a specific attribute from an attributeList by attributeName * @param p_attributeList Target attributeList @@ -1120,18 +1115,17 @@ module OneM2M_Functions { */ function f_getAttribute(in AttributeList p_attributeList, in XSD.NCName p_attributeName) return integer { var integer i; - var Attribute v_attribute := {-, -}; - + for (i:=0; i < lengthof(p_attributeList); i := i + 1){ if(p_attributeList[i] == p_attributeName){ return i; } } - + return -1; - + } - + /** * @desc Resolution of the resource index for a given resource address (URI) @@ -1150,9 +1144,9 @@ module OneM2M_Functions { */ function f_getResourceAddress(integer p_targetResourceIndex := -1) runs on Tester return XSD.ID { var XSD.ID v_resourceAddress; - + if(PX_ADDRESSING_FORMAT == e_cseRelative) { - + if(PX_UNSTRUCTURED) { if(p_targetResourceIndex == -1) { return PX_CSE_RESOURCE_ID; @@ -1167,7 +1161,7 @@ module OneM2M_Functions { return v_resourceAddress; } } - + } else if (PX_ADDRESSING_FORMAT == e_spRelative) { if(PX_UNSTRUCTURED) { if(p_targetResourceIndex == -1) { @@ -1203,7 +1197,7 @@ module OneM2M_Functions { } else { return ""; } - + } /** * @desc Saving of a resource and its parent index in the internal resource list @@ -1213,17 +1207,16 @@ module OneM2M_Functions { * @verdict */ function f_setResource(PrimitiveContent p_resource, integer p_parentIndex := -1) runs on Tester return integer { - + if(isbound(vc_resourcesList)) { vc_resourcesList[lengthof(vc_resourcesList)] := {p_parentIndex, p_resource}; } else { vc_resourcesList[0] := {p_parentIndex, p_resource}; } return lengthof(vc_resourcesList)-1; - + } - /** * @desc Set Acpid into the requestPrimitive * @param p_requestPrimitive RequestPrimitive to be modified @@ -1272,7 +1265,7 @@ module OneM2M_Functions { }//end group getSetFunctions - group commonFunctions { + group CommonFunctions { /** * @desc Sending of an Adapter Control primitive @@ -1280,27 +1273,28 @@ module OneM2M_Functions { * @param data Corresponding information for the correct execution of the given action * @verdict */ - function f_sendAcPrimitive(in charstring event, in charstring data) runs on Tester { + function f_sendAcPrimitive(in charstring p_event, in charstring p_data) runs on Tester { + - var charstring v_data := "" & data; // clear encoding rules (ttwb issue ?) - acPort.send(AcRequestPrimitive:{event, {charstring := v_data}}); + var charstring v_data := "" & p_data; // clear encoding rules (ttwb issue ?) + acPort.send(AcRequestPrimitive:{p_event, {charstring := v_data}}); } - group altstepFunctions { - + group AltstepFunctions { + /** * @desc Default altstep */ altstep a_default() runs on Tester { - + [] tc_wait.timeout { setverdict(inconc,"a_default: ERROR: Timeout while awaiting reaction of the IUT prior to Upper Tester action"); } [] tc_ac.timeout { setverdict(inconc,"a_default: ERROR: Timeout while awaiting the reception of a message"); } - } + } }//end group altstepFunctions diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn index 7b3d45d34c4b7d1339f5321d1a2f4c9fd0d41701..cb0e60b576719227cdabfb63855086a27fb1475f 100644 --- a/LibOneM2M/OneM2M_Pixits.ttcn +++ b/LibOneM2M/OneM2M_Pixits.ttcn @@ -7,7 +7,7 @@ * * @author ETSI * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Pixits.ttcn $ - * $Id: OneM2M_Pixits.ttcn 199 2016-12-04 21:49:51Z reinaortega $ + * $Id: OneM2M_Pixits.ttcn 202 2016-12-15 15:08:33Z reinaortega $ * @desc Module containing Pixits for oneM2M * */ @@ -16,7 +16,7 @@ module OneM2M_Pixits { import from XSD all; import from OneM2M_Types all; - group testAdapterParameters {} + group TestAdapterParameters {} modulepar boolean PX_DELETE_CREATED_RESOURCES := true; @@ -71,7 +71,7 @@ module OneM2M_Pixits { modulepar charstring PX_LOCATION_UPDATE_PERIOD := "PT10M10S" ;//10 Minute 10 Seconds modulepar charstring PX_LOCATION_CONTAINER_NAME := "myLoContainer"; - modulepar Labels LABELS := {"VALUE_1"}; + modulepar Labels PX_LABELS := {"VALUE_1"}; modulepar boolean PX_IS_LOC_CONTAINER := false;//default //set it to true when the container is created to store location information modulepar boolean PX_DISABLE_STOP_ON_ERROR := false; diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 8f9c39972882fb9ed22ef58ffff1fbfbd13fff25..39a346f00e855a56268500b5dc9628cf7106a4e1 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -7,7 +7,7 @@ * * @author ETSI * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $ - * $Id: OneM2M_Templates.ttcn 200 2016-12-14 10:33:01Z berge $ + * $Id: OneM2M_Templates.ttcn 202 2016-12-15 15:08:33Z reinaortega $ * @desc Module containing templates for oneM2M * */ @@ -37,7 +37,7 @@ module OneM2M_Templates { /* Templates */ - group primitives { + group Primitives { /** * @desc Base template for request sending operations * @param p_requestPrimitive @@ -322,12 +322,12 @@ module OneM2M_Templates { }; //@Martin - template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.Duration locationUpdatePeriod) modifies m_update := { + template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod) modifies m_update := { to_ := p_locResourceAddress, from_ := PX_AE_ID_STEM, //AE originator id e.g. requestIdentifier := "m_updateLocationPolicy", primitiveContent := { - any_1 := {{ LocationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIDs, locationUpdatePeriod) }} + any_1 := {{ LocationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod) }} } }; @@ -397,14 +397,14 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for AE resource (AUX) */ //Added by @Naum - template RequestPrimitive mw_createAEannc(template (omit) AcpType p_accessControlPolicyIDs := omit,template (omit) XSD.ID p_from := omit, XSD.ID p_appId) := { + template RequestPrimitive mw_createAEannc(template (omit) AcpType p_accessControlPolicyIds := omit,template (omit) XSD.ID p_from := omit, XSD.ID p_appId) := { operation := int1, to_ := ?, from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c" requestIdentifier := ?, resourceType := int10002, primitiveContent := { - any_1 := {{AEAnnc_optional := mw_contentCreateAEannc(c_aeAuxName, p_accessControlPolicyIDs, p_appId)}} + any_1 := {{AEAnnc_optional := mw_contentCreateAEannc(c_aeAuxName, p_accessControlPolicyIds, p_appId)}} }, roleIDs := *, originatingTimestamp := *, @@ -426,12 +426,12 @@ module OneM2M_Templates { }; //Added by @Naum - template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIDs := omit,template (omit) XSD.ID p_from := omit, template (omit) ResourceName p_resourceName := c_aeAuxName, in template (omit) PoaList p_poaList := omit) modifies m_create := { + template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIds := omit,template (omit) XSD.ID p_from := omit, template (omit) ResourceName p_resourceName := c_aeAuxName, in template (omit) PoaList p_poaList := omit) modifies m_create := { from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c" requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000), resourceType := int2, primitiveContent := { - any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIDs,p_resourceName, p_appId, p_poaList)}} + any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}} } }; @@ -445,12 +445,12 @@ module OneM2M_Templates { } }; - template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIDs := omit, in template (omit) PoaList p_poaList) modifies m_create := { + template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := { from_ := PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"//@Martin requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000), resourceType := int2, primitiveContent := { - any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIDs, c_aeAuxName, -, p_poaList)}} + any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}} } }; @@ -575,7 +575,7 @@ module OneM2M_Templates { template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers, in template (value) ListOfURIs p_memberIds := {"NotInitialized"}, - in template (omit) AcpType p_accessControlPolicyIDs, + in template (omit) AcpType p_accessControlPolicyIds, in template (omit) MemberType p_memberType := omit, in template (omit) ConsistencyStrategy p_consistencyStrategy := omit, in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit, @@ -583,7 +583,7 @@ module OneM2M_Templates { requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000), resourceType := int9, primitiveContent := { - any_1 := {{Group_optional := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIDs, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}} //TODO: p_resourceId + any_1 := {{Group_optional := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}} //TODO: p_resourceId } }; @@ -599,7 +599,7 @@ module OneM2M_Templates { } }; - template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId, in template (omit) AcpType p_accessControlPolicyIDs ) modifies m_create := { + template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := { to_ := p_parentResourceAddress, from_ := p_originatorId, requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000), @@ -626,17 +626,17 @@ module OneM2M_Templates { requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000), resourceType := int18, primitiveContent := { - any_1 := {{Schedule_optional := m_contentCreateSchedule (p_scheduleElement)}} + any_1 := {{Schedule_optional := m_contentCreateSchedule (p_scheduleElement, p_name)}} } }; //Added by @Naum - template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedApp_IDs, in ListOfM2MID p_allowedAEs) modifies m_create := { + template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := { from_ := PX_AE_ID_STEM, requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000), resourceType := int19,//FIXME Is this the correct value? primitiveContent := { - any_1 := {{ServiceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedApp_IDs, p_allowedAEs)}} + any_1 := {{ServiceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}} } }; @@ -677,19 +677,20 @@ module OneM2M_Templates { }; //@Martin - template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource locationSource, in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.Duration locationUpdatePeriod, in template (omit) NodeID locationTargetID, in template (omit) XSD.AnyURI locationServerAddress) modifies m_create := { + template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := { + requestIdentifier := testcasename() & "-m_createLocationPolicy" & f_rnd(1, 1000000), //the requestIdentifier is supposed to be set similar as "C190XX7T/001" by prepending the AE-ID-Stem and slash(‘/’) in front of it resourceType := int10, primitiveContent := { - any_1 := {{ LocationPolicy_optional := m_contentCreateLocationPolicy(locationSource, p_accessControlPolicyIDs, locationUpdatePeriod, locationTargetID, locationServerAddress) }} + any_1 := {{ LocationPolicy_optional := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) }} }, resultContent := int1//default }; //@Martin - template (value) RequestPrimitive m_createNotification(in template (value) Representation resourcePresentation, in template (omit)NotificationEventType notifEventType, in template (omit) XSD.AnyURI subscriptionReference, in template (omit) XSD.AnyURI notifForwardingURI) modifies m_create := { + template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := { requestIdentifier := testcasename() & "-m_createNotification" & f_rnd(1, 1000000), primitiveContent := { - any_1 := {{ Notification := m_contentCreateNotification(resourcePresentation, notifEventType, subscriptionReference, notifForwardingURI)}} + any_1 := {{ Notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)}} }, resultContent := int1 //default @@ -844,36 +845,36 @@ module OneM2M_Templates { group ContentCreate { - template (value) AEAnnc_optional mw_contentCreateAEannc (in template (omit) XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIDs, XSD.ID p_appId := PX_APP_ID) := { + template AEAnnc_optional mw_contentCreateAEannc (in template (omit) XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIds, XSD.ID p_appId := PX_APP_ID) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP - labels := omit,//O - accessControlPolicyIDs := p_accessControlPolicyIDs,//O - expirationTime := omit,//O + labels := *,//O + accessControlPolicyIDs := p_accessControlPolicyIds,//O + expirationTime := *,//O dynamicAuthorizationConsultationIDs := omit, //TODO Check whether it is optional or mandatory for create operation - link := omit,//O - appName := omit,//O + link := *,//O + appName := *,//O app_ID := p_appId,//M aE_ID := omit,//NP - pointOfAccess := omit, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA - ontologyRef := omit,//O + pointOfAccess := *, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA + ontologyRef := *,//O nodeLink := omit,//NP - requestReachability := true,//M - contentSerialization := omit,//O - e2eSecInfo := omit, //TODO Check whether it is optional or mandatory for create operation + requestReachability := ?,//M + contentSerialization := *,//O + e2eSecInfo := omit, //O TODO Check whether it is optional or mandatory for create operation choice := omit//NP }; /** * @desc Base primitiveContent for CREATE operation for AE resource * @param p_name Resource name - * @param p_accessControlPolicyIDs ACP IDs for the AE + * @param p_accessControlPolicyIds ACP IDs for the AE */ - template (value) AE_optional m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.String p_name := c_defaultResourceName, in template (omit) XSD.ID p_appId := PX_APP_ID, in template (omit) PoaList p_poaList) := { + template (value) AE_optional m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.String p_name := c_defaultResourceName, in template (omit) XSD.ID p_appId := PX_APP_ID, in template (omit) PoaList p_poaList) := { resourceName := p_name,//O resourceType := omit,//NP @@ -882,7 +883,7 @@ module OneM2M_Templates { creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O - accessControlPolicyIDs := p_accessControlPolicyIDs,//O + accessControlPolicyIDs := p_accessControlPolicyIds,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O @@ -934,7 +935,7 @@ module OneM2M_Templates { } //added by @Naum - template (value) CSEBase_optional m_contentCreateCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) := { + template (value) CSEBase_optional m_contentCreateCSEBase (in template (value) ServiceSubscribedAppRule p_serviceSubscribedAppRule) := { resourceName := omit, resourceType := omit, resourceID := omit, @@ -960,12 +961,12 @@ module OneM2M_Templates { * @desc Base primitiveContent for CREATE operation for Group resource * @param p_maxNrOfMembers Max number of members * @param p_memberIds Member IDs - * @param p_accessControlPolicyIDs ACP IDs for the Group + * @param p_accessControlPolicyIds ACP IDs for the Group * @param p_name Resource name */ template (value) Group_optional m_contentCreateGroup ( in template (value) XSD.NonNegativeInteger p_maxNrOfMembers, in template (value) ListOfURIs p_memberIds, - in template (omit) AcpType p_accessControlPolicyIDs, + in template (omit) AcpType p_accessControlPolicyIds, in template (omit) MemberType p_memberType := omit, in template (omit) ConsistencyStrategy p_consistencyStrategy := omit, in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit, @@ -977,7 +978,7 @@ module OneM2M_Templates { creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O - accessControlPolicyIDs := p_accessControlPolicyIDs,//O + accessControlPolicyIDs := p_accessControlPolicyIds,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O @@ -996,7 +997,7 @@ module OneM2M_Templates { /** * @desc Base primitiveContent for CREATE operation for PollingChannel resource - * @param p_accessControlPolicyIDs ACP IDs for the PollingChannel + * @param p_accessControlPolicyIds ACP IDs for the PollingChannel * @param p_name Resource name */ template (value) PollingChannel_optional m_contentCreatePollingChannel (in template (omit) XSD.String p_name := c_defaultResourceName) := { @@ -1031,7 +1032,7 @@ module OneM2M_Templates { choice := omit//NP }; - template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedApp_IDs, in ListOfM2MID p_allowedAEs) := { + template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) := { resourceName := omit,//TODO TS-0004 7.4.29.1 2 Missing attribute resourceType := omit,//NP resourceID := omit,//NP @@ -1043,7 +1044,7 @@ module OneM2M_Templates { expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O applicableCredIDs := p_applicableCredIDs,//O - allowedApp_IDs := p_allowedApp_IDs,//O + allowedApp_IDs := p_allowedAppIDs,//O allowedAEs := p_allowedAEs,//O choice := omit //O } @@ -1186,23 +1187,23 @@ module OneM2M_Templates { }; //@Martin - template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource locationSource, in template (omit) AcpType p_accessControlPolicyIDs, in template (value) XSD.Duration locationUpdatePeriod, in template (value) NodeID locationTargetID, in template (value) XSD.AnyURI locationServerAddress) := { + template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod, in template (value) NodeID p_locationTargetID, in template (value) XSD.AnyURI p_locationServerAddress) := { resourceName := c_defaultResourceName, //O resourceType := omit, //NP resourceID := omit, //NP parentID := omit, //NP creationTime := omit, //NP lastModifiedTime := omit, //NP - labels := LABELS,//O - accessControlPolicyIDs := p_accessControlPolicyIDs, //O + labels := PX_LABELS,//O + accessControlPolicyIDs := p_accessControlPolicyIds, //O expirationTime := omit, //O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit, //O announcedAttribute := omit, //O - locationSource := locationSource, //M - locationUpdatePeriod := locationUpdatePeriod, //O - locationTargetID := locationTargetID, //O - locationServer := locationServerAddress,//O + locationSource := p_locationSource, //M + locationUpdatePeriod := p_locationUpdatePeriod, //O + locationTargetID := p_locationTargetID, //O + locationServer := p_locationServerAddress,//O locationContainerID := omit, //NP locationContainerName := PX_LOCATION_CONTAINER_NAME,//O locationStatus := omit, //NP @@ -1443,21 +1444,21 @@ module OneM2M_Templates { }; //@Martin - template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIDs, in template (value) XSD.Duration locationUpdatePeriod) := { + template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP - labels := LABELS,//O - accessControlPolicyIDs := p_accessControlPolicyIDs,//O + labels := PX_LABELS,//O + accessControlPolicyIDs := p_accessControlPolicyIds,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//O locationSource := omit,//NP - locationUpdatePeriod := locationUpdatePeriod, //O + locationUpdatePeriod := p_locationUpdatePeriod, //O locationTargetID := omit, //NP locationServer := omit, //NP locationContainerID := omit, //NP @@ -1468,7 +1469,7 @@ module OneM2M_Templates { }//end group ContentUpdate - group responseContent { + group ResponseContent { template AE_optional mw_contentAeBase := { resourceName := ?,//M @@ -1495,7 +1496,7 @@ module OneM2M_Templates { choice := *//O }; - template AE_optional mw_contentAe_allOmit := { + template AE_optional m_contentAe_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -1519,6 +1520,31 @@ module OneM2M_Templates { e2eSecInfo:= omit, //O choice := omit//O }; + + template AE_optional mw_contentAe_any := { + resourceName := *,//M + resourceType := *,//M + resourceID := *,//M + parentID := *,//M + creationTime := *,//M + lastModifiedTime := *,//M + labels := *,//O + accessControlPolicyIDs := *,//O + expirationTime := *,//M + dynamicAuthorizationConsultationIDs := *, //O + announceTo := *,//O + announcedAttribute := *,//M + appName := *,//O + app_ID := *,//M + aE_ID := *,//M + pointOfAccess := *,//O + ontologyRef := *,//O + nodeLink := *,//O + requestReachability := *,//M + contentSerialization := *,//O + e2eSecInfo:= *, //O + choice := *//O + }; template AccessControlPolicy_optional mw_contentAcpBase := { resourceName := ?,//M @@ -1536,7 +1562,23 @@ module OneM2M_Templates { choice := *//O }; - template AccessControlPolicy_optional mw_contentAcp_allOmit modifies mw_contentAcpBase := { + template AccessControlPolicy_optional mw_contentAcp_any := { + resourceName := *,//M + resourceType := *,//M + resourceID := *,//M + parentID := *,//M + creationTime := *,//M + lastModifiedTime := *,//M + labels := *,//O + expirationTime := *,//M + announceTo := *,//O + announcedAttribute := *,//M + privileges := *,//M + selfPrivileges := *,//M + choice := *//O + } + + template AccessControlPolicy_optional m_contentAcp_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -1616,7 +1658,32 @@ module OneM2M_Templates { choice := *//O }; - template Group_optional mw_contentGroup_allOmit modifies mw_contentGroupBase := { + template Group_optional mw_contentGroup_any := { + resourceName := *,//M + resourceType := *,//M + resourceID := *,//M + parentID := *,//M + creationTime := *,//M + lastModifiedTime := *,//M + labels := *,//O + accessControlPolicyIDs := *,//O + expirationTime := *,//M + dynamicAuthorizationConsultationIDs := *,//O + announceTo := *,//O + announcedAttribute := *,//M + creator := *,//O + memberType := *,//M + currentNrOfMembers := *,//M + maxNrOfMembers := *,//M + memberIDs := *,//M + membersAccessControlPolicyIDs := *,//O + memberTypeValidated := *,//M + consistencyStrategy := *,//O + groupName := *,//O + choice := *//O + } + + template Group_optional m_contentGroup_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -1699,7 +1766,18 @@ module OneM2M_Templates { expirationTime := ?//M }; - template PollingChannel_optional mw_contentPollingChannel_allOmit := { + template PollingChannel_optional mw_contentPollingChannel_any := { + resourceName := *,//M + resourceType := *,//M + resourceID := *,//M + parentID := *,//M + creationTime := *,//M + lastModifiedTime := *,//M + labels := *,//O + expirationTime := *//M + }; + + template PollingChannel_optional m_contentPollingChannel_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -1725,7 +1803,22 @@ module OneM2M_Templates { choice := *//O }; - template Schedule_optional mw_contentSchedule_allOmit modifies mw_contentScheduleBase := { + template Schedule_optional mw_contentSchedule_any := { + resourceName := *,//M + resourceType := *,//M + resourceID := *,//M + parentID := *,//M + creationTime := *,//M + lastModifiedTime := *,//M + labels := *,//O + expirationTime := *,//M + announceTo := *,//O + announcedAttribute := *,//M + scheduleElement := *,//M + choice := *//O + } + + template Schedule_optional m_contentSchedule_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -1805,7 +1898,36 @@ module OneM2M_Templates { subscriberURI := *,//O choice := *//O }; - template Subscription_optional mw_contentSubscription_allOmit modifies mw_contentSubscriptionBase := { + template Subscription_optional mw_contentSubscription_any := { + resourceName := *,//M + resourceType := *,//M + resourceID := *,//M + parentID := *,//M + creationTime := *,//M + lastModifiedTime := *,//M + labels := *,//O + accessControlPolicyIDs := *,//O + expirationTime := *,//M + dynamicAuthorizationConsultationIDs := *, //O + creator := *,//O + eventNotificationCriteria := *,//O + expirationCounter := *,//O + notificationURI := *,//M + groupID := *,//O + notificationForwardingURI := *,//O + batchNotify := *,//O + rateLimit := *,//O + preSubscriptionNotify := *,//O + pendingNotification := *,//O + notificationStoragePriority := *,//O + latestNotify := *,//O + notificationContentType := *,//M + notificationEventCat := *,//O + subscriberURI := *,//O + choice := *//O + } + + template Subscription_optional m_contentSubscription_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -1815,7 +1937,7 @@ module OneM2M_Templates { labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M - dynamicAuthorizationConsultationIDs := omit, //O + dynamicAuthorizationConsultationIDs := omit, //O creator := omit,//O eventNotificationCriteria := omit,//O expirationCounter := omit,//O @@ -1833,7 +1955,6 @@ module OneM2M_Templates { subscriberURI := omit,//O choice := omit//O } - template Subscription_optional mw_contentSubscription_rc1 modifies mw_contentSubscriptionBase := { choice := omit //O } @@ -1933,7 +2054,33 @@ module OneM2M_Templates { choice := *//O }; - template Container_optional mw_contentContainer_allOmit modifies mw_contentContainerBase := { + template Container_optional mw_contentContainer_any := { + resourceName := *,//M + resourceType := *,//M + resourceID := *,//M + parentID := *,//M + creationTime := *,//M + lastModifiedTime := *,//M + labels := *,//O + accessControlPolicyIDs := *,//O + expirationTime := *,//M + dynamicAuthorizationConsultationIDs := *, //O + announceTo := *,//O + announcedAttribute := *,//M + stateTag := *,//M + creator := *,//M + maxNrOfInstances := *,//O + maxByteSize := *,//O + maxInstanceAge := *,//O + currentNrOfInstances := *,//M + currentByteSize := *,//M + locationID := *,//O + ontologyRef := *,//O + disableRetrieval := *, //O + choice := *//O + } + + template Container_optional m_contentContainer_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -2007,8 +2154,8 @@ module OneM2M_Templates { } - template Notification mw_contentNotificationAllOmit := { - notificationEvent := omit, + template Notification m_contentNotification_allOmit := { + notificationEvent:= omit, verificationRequest := omit, subscriptionDeletion := omit, subscriptionReference := omit, @@ -2016,6 +2163,17 @@ module OneM2M_Templates { notificationForwardingURI := omit, iPEDiscoveryRequest := omit }; + + template Notification mw_contentNotification_any := { + notificationEvent := *, + verificationRequest := *, + subscriptionDeletion := *, + subscriptionReference := *, + creator := *, + notificationForwardingURI := *, + iPEDiscoveryRequest := * + }; + template Notification mw_contentNotificationBase := { notificationEvent := *,//O @@ -2232,24 +2390,20 @@ module OneM2M_Templates { tokenRequestInformation := * }; - group Notify{ - - template ResponsePrimitive m_responseNotification(ResponseStatusCode p_statusCode, in template(omit) PrimitiveContent p_notification := omit) := { - responseStatusCode := p_statusCode, - requestIdentifier := testcasename() & "-m_responseNotification" & f_rnd(1, 1000000), - primitiveContent := p_notification, - to_ := omit, - from_ := omit, - originatingTimestamp := omit, - resultExpirationTimestamp := omit, - eventCategory := omit, - contentStatus := omit, - contentOffset := omit, - assignedTokenIdentifiers := omit, - tokenRequestInformation := omit - }; - - } + template ResponsePrimitive m_responseNotification(ResponseStatusCode p_statusCode, in template(omit) PrimitiveContent p_notification := omit) := { + responseStatusCode := p_statusCode, + requestIdentifier := testcasename() & "-m_responseNotification" & f_rnd(1, 1000000), + primitiveContent := p_notification, + to_ := omit, + from_ := omit, + originatingTimestamp := omit, + resultExpirationTimestamp := omit, + eventCategory := omit, + contentStatus := omit, + contentOffset := omit, + assignedTokenIdentifiers := omit, + tokenRequestInformation := omit + }; }//end group ResponsePrimitives diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn index d42b37b27cb2757c22086283daf8dccc094ce060..f59209c038383c07680854e37dafb59e1198ebca 100644 --- a/LibOneM2M/OneM2M_TestSystem.ttcn +++ b/LibOneM2M/OneM2M_TestSystem.ttcn @@ -7,16 +7,14 @@ * * @author ETSI * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_TestSystem.ttcn $ - * $Id: OneM2M_TestSystem.ttcn 127 2016-10-10 08:36:57Z reinaortega $ + * $Id: OneM2M_TestSystem.ttcn 202 2016-12-15 15:08:33Z reinaortega $ * @desc Test System module for oneM2M * */ module OneM2M_TestSystem { import from OneM2M_Types all; - import from OneM2M_TypesAndValues all; import from LibCommon_Time {modulepar all}; - import from XSD all; /* Ports */ /** diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn index 58dde46af36351f4d311be9bf9b9fe994c3d4dcc..a3f167558e3fab1a510146585f555ad43ce62144 100644 --- a/LibOneM2M/OneM2M_Types.ttcn +++ b/LibOneM2M/OneM2M_Types.ttcn @@ -7,7 +7,7 @@ * * @author ETSI * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $ - * $Id: OneM2M_Types.ttcn 201 2016-12-14 13:47:17Z berge $ + * $Id: OneM2M_Types.ttcn 202 2016-12-15 15:08:33Z reinaortega $ * @desc Test System module for oneM2M * */ @@ -6400,7 +6400,7 @@ with { /* Additional types */ -group optionalResourceTypes { +group OptionalResourceTypes { //Added by @Naum type record AEAnnc_optional @@ -7063,7 +7063,7 @@ group optionalResourceTypes { }//end group -group invalidTypes { +group InvalidTypes { type record AE_update_invalid { Labels labels optional, @@ -7185,7 +7185,7 @@ group invalidTypes { }//end group invalidTypes - group otherTypes { + group OtherTypes { type NhURI ParentID; diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index 74ddfd1bb282c4e78ee0dad4bcd4fc1c8f548d76..260aa9f9f786a7ecbbbf161c72fdfefecc861161 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -7,7 +7,7 @@ * * @author ETSI * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $ - * $Id: OneM2M_Testcases.ttcn 197 2016-12-02 04:58:45Z reinaortega $ + * $Id: OneM2M_Testcases.ttcn 202 2016-12-15 15:08:33Z reinaortega $ * @desc Module containing test cases for oneM2M * */ @@ -1754,7 +1754,7 @@ module OneM2M_Testcases { // Test Body if(p_resourceType == int15) { - v_request := valueof(m_createPollingChannel(f_getResourceAddress(v_aeIndex), PX_AE_ID_STEM, omit)); + v_request := valueof(m_createPollingChannel(f_getResourceAddress(v_aeIndex), PX_AE_ID_STEM)); } else { v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); } @@ -2091,7 +2091,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Container_optional := mw_contentContainer_allOmit; + v_contentResponse.any_1[0].Container_optional := m_contentContainer_allOmit; v_contentResponse.any_1[0].Container_optional.parentID := ?; f_CSE_DMR_RET_BV_004(int3, m_createContainerBase, v_contentResponse);//Container @@ -2101,7 +2101,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Group_optional := mw_contentGroup_allOmit; + v_contentResponse.any_1[0].Group_optional := m_contentGroup_allOmit; v_contentResponse.any_1[0].Group_optional.parentID := ?; f_CSE_DMR_RET_BV_004(int9, m_createGroupBase, v_contentResponse);//Group @@ -2111,7 +2111,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].AccessControlPolicy_optional := mw_contentAcp_allOmit; + v_contentResponse.any_1[0].AccessControlPolicy_optional := m_contentAcp_allOmit; v_contentResponse.any_1[0].AccessControlPolicy_optional.parentID := ?; f_CSE_DMR_RET_BV_004(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy @@ -2121,7 +2121,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Schedule_optional := mw_contentSchedule_allOmit; + v_contentResponse.any_1[0].Schedule_optional := m_contentSchedule_allOmit; v_contentResponse.any_1[0].Schedule_optional.parentID := ?; f_CSE_DMR_RET_BV_004(int18, m_createScheduleBase,v_contentResponse);//Schedule @@ -2131,7 +2131,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].PollingChannel_optional := mw_contentPollingChannel_allOmit; + v_contentResponse.any_1[0].PollingChannel_optional := m_contentPollingChannel_allOmit; v_contentResponse.any_1[0].PollingChannel_optional.parentID := ?; f_CSE_DMR_RET_BV_004(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel @@ -2141,7 +2141,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Subscription_optional := mw_contentSubscription_allOmit; + v_contentResponse.any_1[0].Subscription_optional := m_contentSubscription_allOmit; v_contentResponse.any_1[0].Subscription_optional.parentID := ?; f_CSE_DMR_RET_BV_004(int23, m_createSubscriptionBase, v_contentResponse);//Subscription @@ -2211,7 +2211,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Container_optional := mw_contentContainer_allOmit; + v_contentResponse.any_1[0].Container_optional := m_contentContainer_allOmit; v_contentResponse.any_1[0].Container_optional.parentID := ?; f_CSE_DMR_RET_BV_005(int3, m_createContainerBase, v_contentResponse);//Container @@ -2221,7 +2221,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Group_optional := mw_contentGroup_allOmit; + v_contentResponse.any_1[0].Group_optional := m_contentGroup_allOmit; v_contentResponse.any_1[0].Group_optional.parentID := ?; f_CSE_DMR_RET_BV_005(int9, m_createGroupBase, v_contentResponse);//Group @@ -2231,7 +2231,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].AccessControlPolicy_optional := mw_contentAcp_allOmit; + v_contentResponse.any_1[0].AccessControlPolicy_optional := m_contentAcp_allOmit; v_contentResponse.any_1[0].AccessControlPolicy_optional.parentID := ?; f_CSE_DMR_RET_BV_005(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy @@ -2241,7 +2241,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Schedule_optional := mw_contentSchedule_allOmit; + v_contentResponse.any_1[0].Schedule_optional := m_contentSchedule_allOmit; v_contentResponse.any_1[0].Schedule_optional.parentID := ?; f_CSE_DMR_RET_BV_005(int18, m_createScheduleBase, v_contentResponse);//Schedule @@ -2251,7 +2251,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].PollingChannel_optional := mw_contentPollingChannel_allOmit; + v_contentResponse.any_1[0].PollingChannel_optional := m_contentPollingChannel_allOmit; v_contentResponse.any_1[0].PollingChannel_optional.parentID := ?; f_CSE_DMR_RET_BV_005(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel @@ -2261,7 +2261,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Subscription_optional := mw_contentSubscription_allOmit; + v_contentResponse.any_1[0].Subscription_optional := m_contentSubscription_allOmit; v_contentResponse.any_1[0].Subscription_optional.parentID := ?; f_CSE_DMR_RET_BV_005(int23, m_createSubscriptionBase, v_contentResponse);//Subscription @@ -2331,7 +2331,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Container_optional := mw_contentContainer_allOmit; + v_contentResponse.any_1[0].Container_optional := m_contentContainer_allOmit; v_contentResponse.any_1[0].Container_optional.parentID := ?; v_contentResponse.any_1[0].Container_optional.creationTime := ?; @@ -2342,7 +2342,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Group_optional := mw_contentGroup_allOmit; + v_contentResponse.any_1[0].Group_optional := m_contentGroup_allOmit; v_contentResponse.any_1[0].Group_optional.parentID := ?; v_contentResponse.any_1[0].Group_optional.creationTime := ?; @@ -2353,7 +2353,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].AccessControlPolicy_optional := mw_contentAcp_allOmit; + v_contentResponse.any_1[0].AccessControlPolicy_optional := m_contentAcp_allOmit; v_contentResponse.any_1[0].AccessControlPolicy_optional.parentID := ?; v_contentResponse.any_1[0].AccessControlPolicy_optional.creationTime := ?; @@ -2364,7 +2364,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Schedule_optional := mw_contentSchedule_allOmit; + v_contentResponse.any_1[0].Schedule_optional := m_contentSchedule_allOmit; v_contentResponse.any_1[0].Schedule_optional.parentID := ?; v_contentResponse.any_1[0].Schedule_optional.creationTime := ?; @@ -2375,7 +2375,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].PollingChannel_optional := mw_contentPollingChannel_allOmit; + v_contentResponse.any_1[0].PollingChannel_optional := m_contentPollingChannel_allOmit; v_contentResponse.any_1[0].PollingChannel_optional.parentID := ?; v_contentResponse.any_1[0].PollingChannel_optional.creationTime := ?; @@ -2386,7 +2386,7 @@ module OneM2M_Testcases { // Local variables var template PrimitiveContent v_contentResponse; - v_contentResponse.any_1[0].Subscription_optional := mw_contentSubscription_allOmit; + v_contentResponse.any_1[0].Subscription_optional := m_contentSubscription_allOmit; v_contentResponse.any_1[0].Subscription_optional.parentID := ?; v_contentResponse.any_1[0].Subscription_optional.creationTime := ?; @@ -7377,7 +7377,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_updateRequest := m_updateAeBase; var template PrimitiveContent v_contentResponse; var Labels v_labels_1:= {"VALUE_1"}; - v_contentResponse.any_1[0].AE_optional := mw_contentAe_allOmit; // TODO make a new template with all attributes set to * for exemple + v_contentResponse.any_1[0].AE_optional := m_contentAe_allOmit; v_contentResponse.any_1[0].AE_optional.labels := ?; v_updateRequest.primitiveContent.any_1[0].AE_optional.labels := v_labels_1; @@ -8340,7 +8340,7 @@ module OneM2M_Testcases { var integer v_ae2Index := -1; v_updateRequest.primitiveContent.any_1[0].AE_optional.labels := v_labels_1; - v_contentResponse.any_1[0].AE_optional := mw_contentAe_allOmit; // only modified attribute expected + v_contentResponse.any_1[0].AE_optional := m_contentAe_allOmit; // only modified attribute expected v_contentResponse.any_1[0].AE_optional.labels := ?; // Test control @@ -8416,7 +8416,7 @@ module OneM2M_Testcases { var integer v_ae2Index := -1; v_updateRequest.primitiveContent.any_1[0].AE_optional.labels := v_labels_1; - v_contentResponse.any_1[0].AE_optional := mw_contentAe_allOmit; // only modified attribute expected + v_contentResponse.any_1[0].AE_optional := m_contentAe_allOmit; // only modified attribute expected v_contentResponse.any_1[0].AE_optional.resourceID := ?; // Test control