From 2efc0c271b38a2d6a6b917b5c5bfda644b4f4141 Mon Sep 17 00:00:00 2001 From: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org> Date: Wed, 18 Oct 2017 16:42:20 +0200 Subject: [PATCH] Manual merge from Release 1 branch: - Test architecture modification - Update status of all test cases including those developed for Release 1 - Verification of all test cases groups - Split in different files for AE and CSE test cases Signed-off-by: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org> --- LibOneM2M/OneM2M_Functions.ttcn | 1692 ++- LibOneM2M/OneM2M_Pics.ttcn | 16 +- LibOneM2M/OneM2M_Pixits.ttcn | 161 +- LibOneM2M/OneM2M_Ports.ttcn | 27 +- LibOneM2M/OneM2M_Templates.ttcn | 676 +- LibOneM2M/OneM2M_TestSystem.ttcn | 54 +- LibOneM2M/OneM2M_Types.ttcn | 44 +- OneM2M_TestControl.ttcn | 9 +- OneM2M_Testcases_AE.ttcn | 2394 ++++ ...estcases.ttcn => OneM2M_Testcases_CSE.ttcn | 9760 ++++++++++------- 10 files changed, 10052 insertions(+), 4781 deletions(-) create mode 100644 OneM2M_Testcases_AE.ttcn rename OneM2M_Testcases.ttcn => OneM2M_Testcases_CSE.ttcn (65%) diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index d2cb829..7d34d9f 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -5,9 +5,9 @@ * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). * All rights reserved. * - * @author oneM2M - * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $ - * $Id: OneM2M_Functions.ttcn 354 2017-08-17 15:06:38Z reinaortega $ + * @author ETSI + * @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/LibOneM2M/OneM2M_Functions.ttcn $ + * $Id: OneM2M_Functions.ttcn 347 2017-08-11 08:48:20Z reinaortega $ * @desc Module containing functions for oneM2M * */ @@ -28,19 +28,46 @@ module OneM2M_Functions { /** @desc Ports mapping and default behaviour activation for Config 1 */ - function f_cf01Up() runs on CseTester { - + function f_cf01Up(in boolean p_auxiliaryAe2Required := false) runs on AeSimu { + // Variables vc_config := e_cf01; // Map map(self:mcaPort, system:mcaPort); map(self:acPort, system:acPort); + activate(a_default()); activate(a_cse_cf01()); - // Connect - + // Initialize AE2 + if(p_auxiliaryAe2Required) { + vc_auxiliaryAe2Up := p_auxiliaryAe2Required; + vc_ae2 := AeSimu.create("AE2") alive; + vc_ae2.start(f_cf01UpAe2()); + } + + //Initialze the IUT + + } // end f_cf01Up + + /** + @desc Ports mapping and default behaviour activation for Config 1 on the auxiliary AE2 + */ + function f_cf01UpAe2() runs on AeSimu { + + // Variables + vc_config := e_cf01; + + // Map + map(self:mcaPort, system:mcaPort); + map(self:mcaPortIn, system:mcaPortIn); + map(self:acPort, system:acPort); + + activate(a_default()); + activate(a_cse_cf01()); + activate(a_cse_cf01_ae2()); //For mcaPortIn + //Initialze the IUT } // end f_cf01Up @@ -48,28 +75,51 @@ module OneM2M_Functions { /** * @desc Ports mapping and default behaviour activation for Config 02 */ - function f_cf02Up() runs on CseTester { + function f_cf02Up() runs on AeSimu { // Variables vc_config := e_cf02; + vc_cseSimu := CseSimu.create("CSE1") alive; // Map map(self:mcaPort, system:mcaPort); - map(self:mccPort, system:mccPort); + map(vc_cseSimu:mccPort, system:mccPort); map(self:acPort, system:acPort); activate(a_default()); - activate(a_cse_cf02()); + activate(a_cse_aeSimu()); // Connect - + f_connectInfoPort(vc_cseSimu); //Initialze the IUT } // end f_cf02Up + + /** + * @desc Ports mapping and default behaviour activation for Config 02 + */ + function f_cf02UpCseSimuMaster() runs on CseSimu { + + // Variables + vc_config := e_cf02; + vc_aeSimu := AeSimu.create("AE1") alive; + + // Map + map(self:mccPort, system:mccPort); + map(vc_aeSimu:mcaPort, system:mcaPort); + map(self:acPort, system:acPort); + activate(a_default()); + activate(a_cse_cseSimu()); + + // Connect + f_connectInfoPort(vc_aeSimu); + //Initialze the IUT + + } // end f_cf02UpCseSimuMaster /** * @desc Ports mapping and default behaviour activation for Config 03 */ - function f_cf03Up() runs on AeTester { + function f_cf03Up() runs on CseSimu { // Variables vc_config := e_cf03; @@ -89,7 +139,7 @@ module OneM2M_Functions { /** * @desc Ports mapping and default behaviour activation for Config 04 */ - function f_cf04Up() runs on CseTester { + function f_cf04Up() runs on CseSimu { // Variables vc_config := e_cf04; @@ -110,7 +160,7 @@ module OneM2M_Functions { * @desc Ports unmapping * @verdict */ - function f_cfCseTesterDown() runs on CseTester { + /*function f_cfCseTesterDown() runs on Tester { if(vc_config == e_cf01) { f_cf01Down() @@ -122,35 +172,62 @@ module OneM2M_Functions { * @desc Ports unmapping * @verdict */ - function f_cfAeTesterDown() runs on AeTester { + /*function f_cfAeTesterDown() runs on AeSimu { if(vc_config == e_cf03) { f_cf03Down() } - } + } /** * @desc Ports unmapping * @verdict */ - function f_cf01Down() runs on CseTester { + function f_cf01Down() runs on AeSimu { unmap(self:mcaPort, system:mcaPort); unmap(self:acPort, system:acPort); - } + if(vc_auxiliaryAe2Up) { + vc_ae2.start(f_cf01DownAe2()); + } + } + + /** + * @desc Ports unmapping + * @verdict + */ + function f_cf01DownAe2() runs on AeSimu { + + unmap(self:mcaPort, system:mcaPort); + unmap(self:acPort, system:acPort); + unmap(self:mcaPortIn, system:mcaPortIn); + } + /** * @desc Ports unmapping * @verdict */ - function f_cf02Down() runs on CseTester { + function f_cf02Down() runs on AeSimu { unmap(self:mcaPort, system:mcaPort); + unmap(vc_cseSimu:mccPort, system:mccPort); + unmap(self:acPort, system:acPort); + unmap(vc_cseSimu:acPort, system:acPort); + } + /** + * @desc Ports unmapping + * @verdict + */ + function f_cf02DownCseSimuMaster() runs on CseSimu { + unmap(self:mccPort, system:mccPort); + unmap(vc_aeSimu:mcaPort, system:mcaPort); unmap(self:acPort, system:acPort); + unmap(vc_aeSimu:acPort, system:acPort); } /** * @desc Ports unmapping for Config 03 */ - function f_cf03Down() runs on AeTester { + function f_cf03Down() runs on CseSimu { unmap(self:mcaPort, system:mcaPort); unmap(self:acPort, system:acPort); @@ -159,12 +236,22 @@ module OneM2M_Functions { /** * @desc Ports unmapping for Config 04 */ - function f_cf04Down() runs on CseTester { + function f_cf04Down() runs on CseSimu { unmap(self:mccPort, system:mccPort); unmap(self:acPort, system:acPort); } + function f_connectInfoPort(in Tester p_tester) runs on Tester { + // Connect + connect(self:infoPort, p_tester:infoPort); + } + + function f_disconnectInfoPort(in Tester p_tester) runs on Tester { + // Disconnect + disconnect(self:infoPort, p_tester:infoPort); + } + }//end group configFunctions group CseFunctions { @@ -177,9 +264,9 @@ module OneM2M_Functions { * @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 + function f_cse_preamble_createAcpAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) AccessControlOperations p_allowedOperations := int63) runs on AeSimu return integer {//c_CRUDNDi - return f_cse_createAccessControlPolicyAux(p_acpName, -,p_allowedOperations); + return f_cse_createAccessControlPolicyAux(p_acpName, -, p_allowedOperations); } @@ -190,7 +277,7 @@ module OneM2M_Functions { * @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 + function f_cse_preamble_registerAe(template (omit) AcpType p_accessControlPolicyIDs := omit, in template (omit) PoaList p_poaList := omit) runs on AeSimu return integer {//c_CRUDNDi var RequestPrimitive v_request; var MsgIn v_response; @@ -209,7 +296,6 @@ module OneM2M_Functions { setverdict(pass,__SCOPE__&":INFO: Application registered successfuly"); if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE)) { - f_checkAttributesToBeSaved(int2, v_request, v_response.primitive.responsePrimitive); vc_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int2); @@ -237,7 +323,7 @@ module OneM2M_Functions { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); return vc_aeAuxIndex; } @@ -248,10 +334,9 @@ module OneM2M_Functions { * @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 + function f_cse_preamble_registerAeWithId(XSD.ID p_appId, in template (value) AccessControlOperations p_allowedOperations := int63) runs on AeSimu return integer {//c_CRUDNDi var RequestPrimitive v_request; - var MsgIn v_response; var integer v_aeAuxIndex := -1; var integer v_acpAuxIndex := -1; @@ -274,16 +359,15 @@ module OneM2M_Functions { } tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__&": INFO: Application registered successfuly"); - if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE)) { - + if(ischosen(vc_response.primitive.responsePrimitive.primitiveContent.aE)) { - vc_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int2); + vc_aeAuxIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, int2); - if(ispresent(v_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID)){ - f_sendAcPrimitive("AE-ID_changed", oct2char(unichar2oct(v_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID))); + if(ispresent(vc_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID)){ + f_sendAcPrimitive("AE-ID_changed", oct2char(unichar2oct(vc_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID))); } else { f_sendAcPrimitive("AE-ID_changed", "0"); } @@ -306,12 +390,12 @@ module OneM2M_Functions { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); return vc_aeAuxIndex; } - function f_cse_preamble_createServiceSubscribedAppRule(in template ListOfM2MID p_allowedAEs := {""}) runs on CseTester return integer {//c_CRUDNDi + function f_cse_preamble_createServiceSubscribedAppRule(in template ListOfM2MID p_allowedAEs := {""}) runs on AeSimu return integer {//c_CRUDNDi var integer v_serviceSubscribedAppRuleIndex := -1; @@ -321,14 +405,33 @@ module OneM2M_Functions { } - 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, in ResponseStatusCode p_responseStatusCode := int2001) runs on CseTester { + function f_cse_preamble_createServiceSubscribedProfile(in template ListOfM2MID p_allowedAEs := {""}) runs on AeSimu return integer {//c_CRUDNDi + + var integer v_serviceSubscribedAppRuleIndex := -1; + var integer v_serviceSubscribedProfileIndex := -1; + var template RequestPrimitive m_request := m_createM2mServiceSubscriptionProfileBase; + + //TODO Create/Update serviceSubscribedNode //m_request.primitiveContent.m2mServiceSubscriptionProfile.choice.choice_list[0].serviceSubscribedNode := m_contentServiceSubscribedNode; + v_serviceSubscribedAppRuleIndex := f_cse_createResource(int19, m_createServiceSubscribedAppRule({"None"}, {PX_APP_ID}, valueof(p_allowedAEs))); + m_request.primitiveContent.m2mServiceSubscriptionProfile.choice.choice_list[0].serviceSubscribedNode.ruleLinks := {f_getResourceAddress(v_serviceSubscribedAppRuleIndex)}; + v_serviceSubscribedProfileIndex := f_cse_createResource(int11, m_request); + + return v_serviceSubscribedProfileIndex; + + } + + function f_cse_preamble_subscriptionVerification(inout integer p_ae2Index, inout template RequestPrimitive p_createRequestPrimitive,in ResourceType p_resourceType, in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu { if(p_resourceType == int23){ - p_notifyHandler := CseTester.create("NotifyHandler") alive; - p_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", {f_getAnnouncementTargetPoA("HTTP", PX_AE2_ADDRESS, "")}), -1); // AE2 is registred + + vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", {f_getAnnouncementTargetPoA("HTTP", PX_AE2_ADDRESS, "")}), -1)); // AE2 is registred + + f_checkComponentDoneAndGetVerdict(vc_ae2); + + p_ae2Index := f_getResource(vc_ae2); if(ischosen(p_createRequestPrimitive.primitiveContent.subscription)){ //this condition is necessary for Subscription TCs where notification URI is set in m_createSubscriptionAdvanced p_createRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(p_ae2Index)}; } - p_notifyHandler.start(f_cse_notifyProcedure_subscriptionVerificationHandler(p_aeIndex, p_responseStatusCode)); + vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler(p_responseStatusCode)); } } @@ -340,13 +443,17 @@ module OneM2M_Functions { * @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 { + function f_cse_postamble_deleteResources() runs on AeSimu { var integer i; var XSD.ID v_resourceAddress; var RequestPrimitive v_request; if (PX_RUN_POSTAMBLE) { + if(vc_auxiliaryAe2Up) { + f_cse_postamble_aeSimu(vc_ae2); + } + for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) { v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); @@ -354,7 +461,7 @@ module OneM2M_Functions { v_request := valueof(m_delete(v_resourceAddress, f_getOriginator(vc_resourcesIndexToBeDeleted[i]))); v_request.from_ := f_getOriginator(vc_resourcesIndexToBeDeleted[i]); -// + mcaPort.send(m_request(v_request)); tc_ac.start; @@ -374,31 +481,41 @@ module OneM2M_Functions { } } - - f_cse_postamble_default(); + + } + + /** + * @desc Calls to postamble for AE2 entity + * @verdict + */ + function f_cse_postamble_aeSimu(in AeSimu p_ae) runs on AeSimu { + if(p_ae.running) { + p_ae.stop; + } + p_ae.start(f_cse_postamble_deleteResources()); } /** * @desc Deletion of all resources created during the test case execution. IUT gets clean and ready for next execution * @verdict */ - function f_cse_postamble_deleteResourcesCSE() runs on CseTester { + function f_cse_postamble_deleteResourcesCSE() runs on CseSimu { 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_request := valueof(m_delete(v_resourceAddress, f_getOriginator(vc_resourcesIndexToBeDeleted[i],false))); - + v_request.from_ := PX_SUPER_CSE_ID; mccPort.send(m_request(v_request)); - + tc_ac.start; alt { [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) { @@ -413,38 +530,181 @@ module OneM2M_Functions { log(__SCOPE__&" INFO: No answer while deleting resource " & v_request.to_); } } - + } } - - f_cse_postamble_default(); + } /** - * @desc Default postamble - * @verdict - */ - function f_cse_postamble_default() runs on CseTester { + @desc + */ + function f_getResponsePrimitive(in AeSimu p_ae) runs on Tester return ResponsePrimitive { + var ResponsePrimitive v_response; + + f_connectInfoPort(p_ae); + + p_ae.start(f_sendResponsePrimitive()); + alt { + []infoPort.receive(mw_responsePrimitiveforInfoPort) -> value v_response { + } + } + + f_disconnectInfoPort(p_ae); + + return v_response; + + } + + /** + @desc + */ + function f_getRequestPrimitive(in AeSimu p_ae) runs on Tester return RequestPrimitive { + var RequestPrimitive v_request; + + f_connectInfoPort(p_ae); + + p_ae.start(f_sendRequestPrimitive()); + alt { + []infoPort.receive(mw_requestPrimitiveforInfoPort) -> value v_request { + } + } + + f_disconnectInfoPort(p_ae); + + return v_request; + } - function f_is_component_done(in CseTester p_notifyHandler) runs on CseTester { + function f_getRemoteCseRequestPrimitive(in CseSimu p_cse) runs on Tester return RequestPrimitive { + var RequestPrimitive v_request; + + f_connectInfoPort(p_cse); + + p_cse.start(f_sendRemoteCseRequestPrimitive()); + alt { + []infoPort.receive(mw_requestPrimitiveforInfoPort) -> value v_request { + } + } + + f_disconnectInfoPort(p_cse); + + return v_request; + + } - tc_ac.start(10.0); + + /** + @desc + */ + function f_getPrimitiveContentRetrievedResource(in AeSimu p_ae) runs on Tester return PrimitiveContent { + var PrimitiveContent v_primitiveContent; + + f_connectInfoPort(p_ae); + + p_ae.start(f_sendPrimitiveContentRetrievedResource()); alt { - [] p_notifyHandler.done { - tc_ac.stop; + []infoPort.receive(mw_primitiveContent) -> value v_primitiveContent { } - [] tc_ac.timeout { - setverdict(inconc, __SCOPE__ & "INFO: Notify verification not received"); + } + + f_disconnectInfoPort(p_ae); + + return v_primitiveContent; + + } + + /** + @desc + */ + function f_getRemoteCseResource(in CseSimu p_cse) runs on AeSimu return integer { + var MyResource v_resource; + var integer v_resourceIndex := -1; + + f_connectInfoPort(p_cse); + + p_cse.start(f_sendRemoteCseResource()); + alt { + []infoPort.receive(mw_resource) -> value v_resource { + v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false); + } + } + + f_disconnectInfoPort(p_cse); + + return v_resourceIndex; + + } + + /** + @desc + */ + function f_getResource(in AeSimu p_ae, in integer p_resourceIndex := -1) runs on AeSimu return integer { + var MyResource v_resource; + var integer v_resourceIndex := -1; + + f_connectInfoPort(p_ae); + + p_ae.start(f_sendResource(p_resourceIndex)); + alt { + []infoPort.receive(mw_resource) -> value v_resource { + v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false); } } - } //end f_is_component_done + + f_disconnectInfoPort(p_ae); + + p_ae.done; + + return v_resourceIndex; + + } + + function f_sendResponsePrimitive() runs on AeSimu { + + infoPort.send(vc_response.primitive.responsePrimitive); + + } + + function f_sendRequestPrimitive() runs on AeSimu { + + infoPort.send(vc_request.primitive.requestPrimitive); + + } + + function f_sendRemoteCseRequestPrimitive() runs on CseSimu { + + infoPort.send(vc_request.primitive.requestPrimitive); + + } + + function f_sendPrimitiveContentRetrievedResource() runs on AeSimu { + + infoPort.send(vc_primitiveContentRetrievedResource); + + } + + function f_sendRemoteCseResource() runs on CseSimu { + + infoPort.send(vc_resourcesList[vc_remoteCseIndex]); + + } + + function f_sendResource(in integer p_resourceIndex) runs on AeSimu { + + if(p_resourceIndex == -1) { + infoPort.send(vc_resourcesList[vc_aeAuxIndex]); + } else { + infoPort.send(vc_resourcesList[p_resourceIndex]); + } + + } }//end group postambleFunctions - group HelpingFunctions { - + group AeSimuFunctions { + /** * @desc Creation of a resource * @param p_resourceType Resource type of the resource to be created @@ -453,9 +713,8 @@ module OneM2M_Functions { * @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 { + function f_cse_createResource(in ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive := m_create, integer p_parentIndex := -1) runs on AeSimu return integer { - var MsgIn v_response; var RequestPrimitive v_request; var integer v_resourceIndex := -1; @@ -464,11 +723,14 @@ module OneM2M_Functions { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__&":INFO: 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_resourceType, p_parentIndex); + f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, p_parentIndex); + if(p_resourceType == int2) { + vc_aeAuxIndex := v_resourceIndex; + } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; @@ -483,7 +745,7 @@ module OneM2M_Functions { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); return v_resourceIndex; @@ -496,23 +758,21 @@ module OneM2M_Functions { * @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) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) runs on CseTester return integer{ - var RequestPrimitive v_request; - var MsgIn v_response; + function f_cse_createAccessControlPolicyAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) runs on AeSimu return integer{ var RequestPrimitive v_request; var integer v_acpAuxIndex := -1; v_request := valueof(m_createAcpAux(p_acpName := p_acpName, p_allowedOperations := p_allowedOperations)); v_request := f_getCreateRequestPrimitive(int1, v_request, -1); - + mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__&":INFO: Resource type " & int2str(1) & " created successfuly"); - f_checkAttributesToBeSaved(int1, v_request, v_response.primitive.responsePrimitive); - v_acpAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int1); + f_checkAttributesToBeSaved(int1, v_request, vc_response.primitive.responsePrimitive); + v_acpAuxIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, int1); vc_acpAuxIndex := v_acpAuxIndex; } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { @@ -528,7 +788,7 @@ module OneM2M_Functions { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); return v_acpAuxIndex; @@ -541,7 +801,7 @@ module OneM2M_Functions { * @return Internal resource index of the created Container resource * @verdict */ - function f_cse_createContainerResourceAux (integer p_parentIndex := -1) runs on CseTester return integer { + function f_cse_createContainerResourceAux (integer p_parentIndex := -1) runs on AeSimu return integer { var RequestPrimitive v_request; var integer v_acpAuxIndex := -1; @@ -564,17 +824,16 @@ module OneM2M_Functions { * @param p_requestPrimitive * @verdict */ - function f_cse_updateResource(in RequestPrimitive p_requestPrimitive) runs on CseTester { - var MsgIn v_response; + function f_cse_updateResource(in RequestPrimitive p_requestPrimitive) runs on AeSimu { mcaPort.send(m_request(p_requestPrimitive)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__&":INFO: Attribute of resource updated successfuly"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Error while updating resource"); } @@ -587,7 +846,7 @@ module OneM2M_Functions { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); }// end f_cse_updateResource @@ -596,17 +855,16 @@ module OneM2M_Functions { * @param p_resourceIndex * @verdict */ - function f_cse_retrieveResource(integer p_resourceIndex) runs on CseTester return PrimitiveContent{ - var MsgIn v_response; + function f_cse_retrieveResource(integer p_resourceIndex) runs on AeSimu return PrimitiveContent{ mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_resourceIndex), f_getOriginator(p_resourceIndex)))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__&":INFO: Resource retrieved successfuly"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Error while retrieving resource"); } @@ -619,9 +877,9 @@ module OneM2M_Functions { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); - return v_response.primitive.responsePrimitive.primitiveContent; + return vc_response.primitive.responsePrimitive.primitiveContent; }// end f_cse_retrievingResource @@ -630,7 +888,7 @@ module OneM2M_Functions { * @param p_requestPrimitive * @verdict */ - function f_cse_deleteResource(in integer p_index, in template (omit) RequestPrimitive p_requestPrimitive := omit) runs on CseTester { + function f_cse_deleteResource(in integer p_index, in template (omit) RequestPrimitive p_requestPrimitive := omit) runs on AeSimu { var RequestPrimitive v_request; if(not isvalue(p_requestPrimitive)) { @@ -658,7 +916,7 @@ module OneM2M_Functions { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); }// end f_cse_deleteResource @@ -667,18 +925,18 @@ module OneM2M_Functions { * @param p_resourceIndex Resource index * @return boolean */ - function f_isResourcePresent (integer p_resourceIndex) runs on CseTester return boolean { + function f_isResourcePresent (integer p_resourceIndex) runs on AeSimu return boolean { - //Check to see if the resource is present or not - mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_resourceIndex), f_getOriginator(p_resourceIndex)))); - tc_ac.start; - alt { + //Check to see if the resource is present or not + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_resourceIndex), f_getOriginator(p_resourceIndex)))); + tc_ac.start; + alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource present: " & f_getResourceAddress(p_resourceIndex)); - return true; - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { + setverdict(pass, testcasename() & ": Resource present: " & f_getResourceAddress(p_resourceIndex)); + return true; + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { tc_ac.stop; setverdict(inconc, testcasename() & ": Wrong response status code in the response"); return false; @@ -687,8 +945,8 @@ module OneM2M_Functions { setverdict(inconc, testcasename() & ": No answer while retrieving resource"); return false; } - } - return false; + } + return false; } /** @@ -697,33 +955,30 @@ module OneM2M_Functions { * @param p_resourceName Resource name (Hierarchical method is used) * @return boolean */ - function f_isResourceNotPresent (integer p_parentIndex, XSD.String p_resourceName) runs on CseTester return boolean { - - log(testcasename() & ":INFO: Hierarchical method is required to check the non presence of the resource"); - vc_addressingMethod := e_hierarchical; - //Check to see if the resource has NOT been created - mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_parentIndex) & "/" & p_resourceName, f_getOriginator(p_parentIndex)))); - tc_ac.start; - alt { + function f_isResourceNotPresent (integer p_parentIndex, XSD.String p_resourceName) runs on AeSimu return boolean { + + log(testcasename() & ":INFO: Hierarchical addressing method is required to check the non presence of the resource"); + + //Check to see if the resource has NOT been created + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_parentIndex, e_hierarchical) & "/" & p_resourceName, f_getOriginator(p_parentIndex)))); + tc_ac.start; + alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) { tc_ac.stop; setverdict(pass, testcasename() & ": Resource not present"); - vc_addressingMethod := PX_ADDRESSING_METHOD; return true; } [] mcaPort.receive(mw_response(mw_responsePrimitive(?))) { tc_ac.stop; setverdict(inconc, testcasename() & ": Wrong response status code in the response"); - vc_addressingMethod := PX_ADDRESSING_METHOD; return false; } [] tc_ac.timeout { setverdict(inconc, testcasename() & ": No answer while retrieving resource"); - vc_addressingMethod := PX_ADDRESSING_METHOD; return false; } - } - return false; + } + return false; } /** @@ -731,22 +986,14 @@ module OneM2M_Functions { * @param p_allowedOperations New allowed operations * @verdict */ - function f_cse_updateAcpAuxResource (in template (value) AccessControlOperations p_allowedOperations) runs on CseTester { + function f_cse_updateAcpAuxResource (in template (value) AccessControlOperations p_allowedOperations) runs on AeSimu { 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.accessControlPolicy.privileges.accessControlRule_list := { - { - accessControlOriginators := PX_ACOR, //{"admin:admin"} - accessControlOperations := valueof(p_allowedOperations), - accessControlContexts_list := {}, - accessControlAuthenticationFlag := omit, - accessControlObjectDetails_list := {} - } - }; + v_request.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {valueof(m_createAcr(PX_ACOR, p_allowedOperations))}; mcaPort.send(m_request(v_request)); tc_ac.start; @@ -764,7 +1011,7 @@ module OneM2M_Functions { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); } /** @@ -774,23 +1021,23 @@ module OneM2M_Functions { * @verdict */ //TODO To finalize this function - function f_cse_resourceAnnouncementHandler(template XSD.ID p_from := *, template XSD.ID p_to := ?) runs on CseTester { + function f_cse_resourceAnnouncementHandler(template XSD.ID p_from := *, template XSD.ID p_to := ?) runs on CseSimu { // Local variables var MsgIn v_request; var ResponsePrimitive v_responsePrimitive; - map(self:mccPort, system:mccPort); - map(self:acPort, system:acPort); - tc_ac.start; alt { - [] mcaPort.receive(mw_request(mw_create(p_from, p_to))) -> value v_request { + [] mccPort.receive(mw_request(mw_create(p_from, p_to))) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ":INFO: Announcement received"); + //TODO Save resource and generate required attributes v_responsePrimitive := f_getCreateResponsePrimitive(v_request.primitive.requestPrimitive.resourceType, v_request.primitive.requestPrimitive); - mcaPort.send(m_response(v_responsePrimitive)); + mccPort.send(m_response(v_responsePrimitive)); + f_checkAttributesToBeSaved(v_request.primitive.requestPrimitive.resourceType, v_request.primitive.requestPrimitive, vc_response.primitive.responsePrimitive); + f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, v_request.primitive.requestPrimitive.resourceType, vc_remoteCseIndex); } - [] mcaPort.receive{ + [] mccPort.receive{ tc_ac.stop; setverdict(fail, __SCOPE__ & ":ERROR: Unexpected message received"); } @@ -798,35 +1045,77 @@ module OneM2M_Functions { setverdict(fail, __SCOPE__ & ":ERROR: No announcement received"); } } + + f_checkCseSimuStatus(); + + } //end f_cse_resourceAnnouncementHandler + + /** + * @desc Function for announcement of resources + * @param p_from + * @param p_to + * @verdict + */ + //TODO To finalize this function + function f_cse_announceResource(in ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive := m_create) runs on CseSimu return integer { + // Local variables + var RequestPrimitive v_request; + var ResponsePrimitive v_responsePrimitive; + var integer v_resourceIndex := -1; + + v_request := f_getCreateRequestPrimitive(f_getAnnouncedResourceType(p_resourceType), p_requestPrimitive, vc_remoteCseIndex); + + mccPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(pass, __SCOPE__&":INFO: Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly"); + f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, vc_remoteCseIndex); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(inconc, __SCOPE__&":INFO: Error while creating resource type " & int2str(enum2int(p_resourceType))); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); + } + [] tc_ac.timeout { + setverdict(inconc, __SCOPE__&":INFO: No answer while creating resource type " & int2str(enum2int(p_resourceType))); + } + } + + f_checkCseSimuStatus(); + + return v_resourceIndex; - unmap(self:mccPort, system:mccPort); - unmap(self:acPort, system:acPort); - } //end f_cse_resourceAnnouncementHandler - function f_checkAttributesToBeSaved (ResourceType p_resourceType, RequestPrimitive p_request, inout ResponsePrimitive p_response) { - select (p_resourceType) { - case (int1) { - if(isvalue(p_response.primitiveContent.accessControlPolicy) and - not(ispresent(p_response.primitiveContent.accessControlPolicy.resourceName))) { - p_response.primitiveContent.accessControlPolicy.resourceName := p_request.primitiveContent.accessControlPolicy.resourceName; - log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.accessControlPolicy.resourceName) - } - } - case (int2) { - if(isvalue(p_response.primitiveContent.aE) and - not(ispresent(p_response.primitiveContent.aE.resourceName))) { - p_response.primitiveContent.aE.resourceName := p_request.primitiveContent.aE.resourceName; + function f_checkAttributesToBeSaved (ResourceType p_resourceType, RequestPrimitive p_request, inout ResponsePrimitive p_response) { + select (p_resourceType) { + case (int1) { + if(isvalue(p_response.primitiveContent.accessControlPolicy) and + not(ispresent(p_response.primitiveContent.accessControlPolicy.resourceName))) { + p_response.primitiveContent.accessControlPolicy.resourceName := p_request.primitiveContent.accessControlPolicy.resourceName; + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.accessControlPolicy.resourceName) + } + } + case (int2) { + if(isvalue(p_response.primitiveContent.aE) and + not(ispresent(p_response.primitiveContent.aE.resourceName))) { + p_response.primitiveContent.aE.resourceName := p_request.primitiveContent.aE.resourceName; log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.aE.resourceName) - } - } - case (int3) { - if(isvalue(p_response.primitiveContent.container) and - not(ispresent(p_response.primitiveContent.container.resourceName))) { - p_response.primitiveContent.container.resourceName := p_request.primitiveContent.container.resourceName; + } + } + case (int3) { + if(isvalue(p_response.primitiveContent.container) and + not(ispresent(p_response.primitiveContent.container.resourceName))) { + p_response.primitiveContent.container.resourceName := p_request.primitiveContent.container.resourceName; log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.container.resourceName) - } - } + } + } case (int4) { if(isvalue(p_response.primitiveContent.contentInstance) and not(ispresent(p_response.primitiveContent.contentInstance.resourceName))) { @@ -834,13 +1123,13 @@ module OneM2M_Functions { log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.contentInstance.resourceName) } } - case (int15) { - if (isvalue(p_response.primitiveContent.pollingChannel) and - not(ispresent(p_response.primitiveContent.pollingChannel.resourceName))) { - p_response.primitiveContent.pollingChannel.resourceName := p_request.primitiveContent.pollingChannel.resourceName; + case (int15) { + if (isvalue(p_response.primitiveContent.pollingChannel) and + not(ispresent(p_response.primitiveContent.pollingChannel.resourceName))) { + p_response.primitiveContent.pollingChannel.resourceName := p_request.primitiveContent.pollingChannel.resourceName; log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.pollingChannel.resourceName) - } - } + } + } case (int16) { if (isvalue(p_response.primitiveContent.remoteCSE) and not(ispresent(p_response.primitiveContent.remoteCSE.resourceName))) { @@ -848,78 +1137,77 @@ module OneM2M_Functions { log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.remoteCSE.resourceName) } } - case (int18) { - if (isvalue(p_response.primitiveContent.schedule) and - not(ispresent(p_response.primitiveContent.schedule.resourceName))) { - p_response.primitiveContent.schedule.resourceName := p_request.primitiveContent.schedule.resourceName; + case (int18) { + if (isvalue(p_response.primitiveContent.schedule) and + not(ispresent(p_response.primitiveContent.schedule.resourceName))) { + p_response.primitiveContent.schedule.resourceName := p_request.primitiveContent.schedule.resourceName; log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.schedule.resourceName) - } - } - case (int23) { - if (isvalue(p_response.primitiveContent.subscription) and - not(ispresent(p_response.primitiveContent.subscription.resourceName))) { - p_response.primitiveContent.subscription.resourceName := p_request.primitiveContent.subscription.resourceName; + } + } + case (int23) { + if (isvalue(p_response.primitiveContent.subscription) and + not(ispresent(p_response.primitiveContent.subscription.resourceName))) { + p_response.primitiveContent.subscription.resourceName := p_request.primitiveContent.subscription.resourceName; log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.subscription.resourceName) - } - } - case (int9) { - if (isvalue(p_response.primitiveContent.group_) and - not(ispresent(p_response.primitiveContent.group_.resourceName))) { - p_response.primitiveContent.group_.resourceName := p_request.primitiveContent.group_.resourceName; + } + } + case (int9) { + if (isvalue(p_response.primitiveContent.group_) and + not(ispresent(p_response.primitiveContent.group_.resourceName))) { + p_response.primitiveContent.group_.resourceName := p_request.primitiveContent.group_.resourceName; log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.group_.resourceName) - } - } - case else { - log(__SCOPE__&":WARNING: Resource Type "&int2str(enum2int(p_resourceType))&" not implemented"); - } - } + } + } + case else { + log(__SCOPE__&":WARNING: Resource Type "&int2str(enum2int(p_resourceType))&" not implemented"); + } + } - // TODO test that if the resource name is returned is the same resource name as used in the create message - } + // TODO test that if the resource name is returned is the same resource name as used in the create message + } - function f_compareURIs(in integer p_expectedURIIndex, in XSD.ID p_receivedURI) runs on CseTester return boolean{ - // Local variables - var boolean v_matchResult := false; + function f_compareURIs(in integer p_expectedURIIndex, in XSD.ID p_receivedURI) runs on Tester return boolean{ + // Local variables + var boolean v_matchResult := false; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; - if (f_isNonHierarchical(p_receivedURI)) { - vc_addressingMethod := e_nonHierarchical; - } else if (f_isHierarchical(p_receivedURI)) { - vc_addressingMethod := e_hierarchical; - } + if (f_isNonHierarchical(p_receivedURI)) { + v_addressingMethod := e_nonHierarchical; + } else if (f_isHierarchical(p_receivedURI)) { + v_addressingMethod := e_hierarchical; + } if (f_isScopeCseRelative(p_receivedURI)) { - vc_primitiveScope := e_cseRelative; + v_primitiveScope := e_cseRelative; } if (f_isScopeSpRelative(p_receivedURI)) { - vc_primitiveScope := e_spRelative; + v_primitiveScope := e_spRelative; } if (f_isScopeAbsolute(p_receivedURI)) { - vc_primitiveScope := e_absolute; + v_primitiveScope := e_absolute; } - if(match(f_getResourceAddress(p_expectedURIIndex), p_receivedURI)) { + if(match(f_getResourceAddress(p_expectedURIIndex, v_addressingMethod, v_primitiveScope), p_receivedURI)) { v_matchResult := true; } else { v_matchResult := false; } - - vc_primitiveScope := PX_PRIMITIVE_SCOPE; - vc_addressingMethod := PX_ADDRESSING_METHOD; - - return v_matchResult; + + return v_matchResult; - } //end f_compareURIs + } //end f_compareURIs + + }//end group AeSimu + + group CseSimuFunctions { group NotificationFunctions { - function f_cse_notifyProcedure_subscriptionVerificationHandler(in integer p_creatorIndex, in ResponseStatusCode p_responseStatusCode := int2001) runs on CseTester { + function f_cse_notifyProcedure_subscriptionVerificationHandler(in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu { // Local variables - var MsgIn v_request; var ResponsePrimitive v_responsePrimitive; var template Notification v_notificationRequest := mw_contentNotificationVerification; - - map(self:mcaPort, system:mcaPort); - map(self:acPort, system:acPort); - + //Preparation of expected Notification verification //TODO To add checks for creator and subscription reference //v_notificationRequest.creator := p_creator; TODO To check what address format is to be expected @@ -931,89 +1219,78 @@ module OneM2M_Functions { tc_ac.start; alt { - [] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_request { + [] mcaPortIn.receive(mw_request(mw_notify(v_notificationRequest))) -> value vc_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ":INFO: Notification received"); - v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier; -// if(f_isHierarchical(v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) { -// setverdict(fail, __SCOPE__ & ": Creator cannot contain a hierarchical address"); -// v_responsePrimitive.responseStatusCode := int4000; -// } -// if(f_compareURIs(p_creatorIndex, v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) { -// setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive"); -// } else { -// setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive"); -// v_responsePrimitive.responseStatusCode := int4000; -// } - mcaPort.send(m_httpResponse(v_responsePrimitive)); } - [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request { + [] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value vc_request { tc_ac.stop; setverdict(fail, __SCOPE__ & ":ERROR: Notification received but verificationRequest isn't set to TRUE"); } - [] mcaPort.receive{ + [] mcaPortIn.receive{ tc_ac.stop; setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received"); + stop; } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ":ERROR: No notification received"); + stop; } } - + + v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + if(getverdict == pass) { + mcaPortIn.send(m_httpResponse(v_responsePrimitive)); + } else { + v_responsePrimitive.responseStatusCode := int4000; + mcaPortIn.send(m_httpResponse(v_responsePrimitive)); + } + //mcaPort.send(m_response(v_responsePrimitive)); // TODO have to be deleted - - unmap(self:mcaPort, system:mcaPort); - unmap(self:acPort, system:acPort); - + } //end f_subscriptionVerificationHandler - function f_cse_notifyProcedure_representationHandler(template PrimitiveContent p_primitiveContent) runs on CseTester { - // Local variables - var MsgIn v_request; - - map(self:mcaPort, system:mcaPort); - map(self:acPort, system:acPort); - - tc_ac.start; - alt { - [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request { - tc_ac.stop; - if(f_check_notificationContent(v_request.primitive.requestPrimitive, p_primitiveContent)){ - setverdict(pass, __SCOPE__ & ":INFO: Notification received"); - mcaPort.send(m_response(valueof(m_responseNotification(int2001)))); - } - else{ - setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match"); - } - } - [] mcaPort.receive{ - tc_ac.stop; - setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ":ERROR: No notification received"); - } - } - - - unmap(self:mcaPort, system:mcaPort); - unmap(self:acPort, system:acPort); - - } //end f_cse_notifyProcedure_representationHandler + function f_cse_notifyProcedure_representationHandler(template PrimitiveContent p_primitiveContent) runs on AeSimu { + // Local variables + var ResponsePrimitive v_responsePrimitive; + + tc_ac.start; + alt { + [] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value vc_request { + tc_ac.stop; + if(f_check_notificationContent(vc_request.primitive.requestPrimitive, p_primitiveContent)){ + setverdict(pass, __SCOPE__ & ":INFO: Notification received"); + } + else{ + setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match"); + } + //Send response in any case + v_responsePrimitive := valueof(m_responseNotification(int2001, omit)); + v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + mcaPortIn.send(m_response(v_responsePrimitive)); + } + [] mcaPortIn.receive{ + tc_ac.stop; + setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ":ERROR: No notification received"); + } + } + + } //end f_cse_notifyProcedure_representationHandler - function f_cse_notifyProcedure_aggregatedNoficationHandler(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on CseTester { + function f_cse_notifyProcedure_aggregatedNoficationHandler(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on AeSimu { // Local variables - var MsgIn v_response; - - map(self:mcaPort, system:mcaPort); - map(self:acPort, system:acPort); + var ResponsePrimitive v_responsePrimitive; + var integer v_notificationsReceived := 0; tc_ac.start; alt { - [] mcaPort.receive(mw_request(mw_aggregatedNotifyBase)) -> value v_response { + [] mcaPortIn.receive(mw_request(mw_aggregatedNotifyBase)) -> value vc_request { tc_ac.stop; - if(p_numberOfAggregatedNotification == lengthof(v_response.primitive.requestPrimitive.primitiveContent.aggregatedNotification.notification_list)){ - if(f_check_notificationContent(v_response.primitive.requestPrimitive, p_primitiveContent)){ + if(p_numberOfAggregatedNotification == lengthof(vc_request.primitive.requestPrimitive.primitiveContent.aggregatedNotification.notification_list)){ + if(f_check_notificationContent(vc_response.primitive.requestPrimitive, p_primitiveContent)){ setverdict(pass, __SCOPE__ & ": Notification received"); } else{ @@ -1023,8 +1300,30 @@ module OneM2M_Functions { else { setverdict(fail, __SCOPE__ & ": Number of Notification in Aggregatednotification isn't right"); } + //Send response in any case + v_responsePrimitive := valueof(m_responseNotification(int2001, omit)); + v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + mcaPortIn.send(m_response(v_responsePrimitive)); } - [] mcaPort.receive{ + [] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value vc_request { + tc_ac.stop; + if(f_check_notificationContent(vc_request.primitive.requestPrimitive, p_primitiveContent)){ + setverdict(pass, __SCOPE__ & ":INFO: Notification received"); + } + else{ + setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match"); + } + //Send response in any case + v_responsePrimitive := valueof(m_responseNotification(int2001, omit)); + v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + mcaPortIn.send(m_response(v_responsePrimitive)); + v_notificationsReceived := v_notificationsReceived + 1; + if(v_notificationsReceived < p_numberOfAggregatedNotification) { + tc_ac.start; + repeat; + } + } + [] mcaPortIn.receive{ tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error, unexpected message received"); } @@ -1032,34 +1331,23 @@ module OneM2M_Functions { setverdict(fail, __SCOPE__ & ": No notification received"); } } - - unmap(self:mcaPort, system:mcaPort); - unmap(self:acPort, system:acPort); - + } //end f_cse_notifyProcedure_aggregatedNotificationHandler - function f_cse_notifyProcedure_subscriptionDeletionHandler( template PrimitiveContent p_primitiveContent) runs on CseTester { - var MsgIn v_response; - - map(self:mcaPort, system:mcaPort); - map(self:acPort, system:acPort); - + function f_cse_notifyProcedure_subscriptionDeletionHandler( template Notification p_notification) runs on AeSimu { + var ResponsePrimitive v_responsePrimitive; tc_ac.start; alt { - [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_response { + [] mcaPortIn.receive(mw_request(mw_notify(p_notification))) -> value vc_request { tc_ac.stop; - mcaPort.send(m_response(valueof(m_responseNotification(int2001)))); - if(not(match(v_response.primitive.requestPrimitive.primitiveContent.notification.subscriptionDeletion, true))) { + v_responsePrimitive := valueof(m_responseNotification(int2001, omit)); + v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier; + mcaPortIn.send(m_response(v_responsePrimitive)); + if(not(match(vc_request.primitive.requestPrimitive.primitiveContent.notification.subscriptionDeletion, true))) { setverdict(fail, __SCOPE__ & ":ERROR: subscriptionDeletion attribute have to be set to TRUE"); } - if(f_check_notificationContent(v_response.primitive.requestPrimitive, p_primitiveContent)){ - setverdict(pass, __SCOPE__ & ":INFO: Notification received"); - } - else{ - setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match"); - } } - [] mcaPort.receive{ + [] mcaPortIn.receive{ tc_ac.stop; setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received"); } @@ -1067,22 +1355,15 @@ module OneM2M_Functions { setverdict(fail, __SCOPE__ & ":ERROR: No notification received"); } } - - unmap(self:mcaPort, system:mcaPort); - unmap(self:acPort, system:acPort); - + } //end f_cse_notifyProcedure_subscriptionDeletionHandler - function f_cse_notifyProcedure_noNotificationHandler() runs on CseTester { + function f_cse_notifyProcedure_noNotificationHandler() runs on AeSimu { // Local variables - var MsgIn v_response; - - map(self:mcaPort, system:mcaPort); - map(self:acPort, system:acPort); tc_ac.start(10.0); alt { - [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_response { + [] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value vc_request { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error, Non expected notification received"); } @@ -1090,24 +1371,23 @@ module OneM2M_Functions { setverdict(pass, __SCOPE__ & ": No notification received"); } } - - unmap(self:mcaPort, system:mcaPort); - unmap(self:acPort, system:acPort); - + } //end f_cse_notifyProcedure_noNotification Handler - function f_check_notificationContent(in RequestPrimitive p_requestPrimitive, template PrimitiveContent p_primitiveContent) runs on CseTester return boolean{ + function f_check_notificationContent(in RequestPrimitive p_requestPrimitive, template PrimitiveContent p_primitiveContent) runs on Tester return boolean{ // Local variables var boolean v_matchResult := false; var integer i; var integer v_numberOfAggregatedNotification; if (ischosen(p_primitiveContent.aE)){ - if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) { - v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.aE, p_primitiveContent.aE) + log("Representation contains AE resource representation"); + if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.aE)) { + v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.aE, p_primitiveContent.aE); + log("Expected primitiveContent"); } else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) { - v_matchResult :=match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE) + v_matchResult :=match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE); } else if (ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification)) { v_matchResult := true; @@ -1132,7 +1412,7 @@ module OneM2M_Functions { } if (ischosen(p_primitiveContent.container)){ - if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) { + if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.container)) { v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.container, p_primitiveContent.container) } else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) { @@ -1146,148 +1426,185 @@ module OneM2M_Functions { }// end of group NotificationFunctions - /** - * @desc It determines whether the addressing method of the given address is non-hierarchical. Not valid for CSE-Base as target - * @param p_resourceAddress - * @return boolean - */ - function f_isNonHierarchical(XSD.ID p_resourceAddress) runs on Tester return boolean { - var integer i; - var integer v_nbOfSlashes:= 0; + /** + * @desc Registration of Test System (simulating a CSE) to the CSE IUT (creation of remoteCSE) + * @param p_requestPrimitive Template request primitive + * @return Internal resource index of the created resource + */ + function f_cse_registerRemoteCse(in template RequestPrimitive p_requestPrimitive) runs on CseSimu return integer { - for (i := 0; i < lengthof(p_resourceAddress); i:= i+1){ - if(match (p_resourceAddress[i], "/")){ - v_nbOfSlashes:= v_nbOfSlashes+1; + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_resourceIndex := -1; + + v_request := f_getCreateRequestPrimitive(int16, p_requestPrimitive, -1); + + mccPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__&":INFO: Resource type RemoteCSE created successfuly"); + f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16, -1); } - } - - if(f_isScopeCseRelative(p_resourceAddress)) { - if(v_nbOfSlashes == 0 ) { - return true; - } else { - return false; - } - - } else if (f_isScopeSpRelative(p_resourceAddress)){ - if(v_nbOfSlashes == 2 ) { - return true; - } else { - return false; + [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(inconc, __SCOPE__&":INFO: Error while creating resource type RemoteCSE"); } - } else if (f_isScopeAbsolute(p_resourceAddress)){ - if(v_nbOfSlashes == 4 ) { - return true; - } else { - return false; + [] mccPort.receive { + tc_ac.stop; + setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); + } + [] tc_ac.timeout { + setverdict(inconc, __SCOPE__&":INFO: No answer while creating resource type RemoteCSE"); } - } else { - return false; - } - } - - - /** - * @desc It determines whether the addressing method of the given address is hierarchical. Not valid for CSE-Base as target - * @param p_resourceAddress - * @return boolean - */ - function f_isHierarchical(XSD.ID p_resourceAddress) runs on Tester return boolean { - if(f_isNonHierarchical(p_resourceAddress)) { - return false; - } else { - return true; } - } - - /** - * @desc It determines whether the primitive scope of the given address is CSE-Relative - * @param p_resourceAddress - * @return boolean - */ - function f_isScopeCseRelative(XSD.ID p_resourceAddress) runs on Tester return boolean { - if (p_resourceAddress[0] != "/") { - return true; - } else { - return false; - } + + f_checkCseSimuStatus(); + + return v_resourceIndex; + } /** - * @desc It determines whether the primitive scope of the given address is SP-Relative - * @param p_resourceAddress - * @return boolean + * @desc Registration of the CSE IUT to the Test System (simulating a CSE) + * @param p_requestPrimitive Template request primitive + * @return Internal resource index of the created resource */ - function f_isScopeSpRelative(XSD.ID p_resourceAddress) runs on Tester return boolean { - if ((p_resourceAddress[0] == "/") and (p_resourceAddress[1] != "/")){ - return true; - } else { - return false; - } + function f_cse_registrationRemoteCse(in template RequestPrimitive p_requestPrimitive := ?) runs on CseSimu return integer { + + var MsgIn v_request; + var ResponsePrimitive v_response; + var PrimitiveContent v_remoteCSEResource; + var integer v_resourceIndex := -1; + + tc_ac.start; + alt { + [] mccPortIn.receive(mw_request(p_requestPrimitive)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__&":INFO: Resource type RemoteCSE created successfuly"); + v_resourceIndex := f_cse_createLocalResource(v_request.primitive.requestPrimitive.primitiveContent, 1, int16, v_remoteCSEResource);//TODO Get index from v_request.primitive.requestPrimitive.to_ + } + [] mccPortIn.receive { + tc_ac.stop; + setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); + } + [] tc_ac.timeout { + setverdict(inconc, __SCOPE__&":INFO: No answer while creating resource type RemoteCSE"); + } + } + + f_checkCseSimuStatus(); + + return v_resourceIndex; + } /** - * @desc It determines whether the primitive scope of the given address is Absolute - * @param p_resourceAddress - * @return boolean + * @desc Send a request to the CSE IUT from the Test System (simulating a CSE) + * @param p_requestPrimitive Template request primitive + * @return Internal resource index of the created resource */ - function f_isScopeAbsolute(XSD.ID p_resourceAddress) runs on Tester return boolean { - if ((p_resourceAddress[0] == "/") and (p_resourceAddress[1] == "/")) { - return true; - } else { - return false; - } + function f_cse_sendCreateRequest(in template RequestPrimitive p_requestPrimitive) runs on CseSimu { + +//TODO: To be completed +// var RequestPrimitive v_request; +// +// v_request := f_getCreateRequestPrimitive(p_requestPrimitive); +// +// mccPort.send(m_request(v_request)); + } /** - * @desc Registration of Test System (simulating a CSE) to the CSE IUT (creation of remoteCSE) + * @desc Receive a request from the CSE IUT to the Test System (simulating a CSE) * @param p_requestPrimitive Template request primitive * @return Internal resource index of the created resource */ - function f_cse_registerRemoteCse(in template RequestPrimitive p_requestPrimitive) runs on CseTester return integer { + function f_cse_receiveCreateRequest(in template RequestPrimitive p_requestPrimitive := ?) runs on CseSimu { - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_resourceIndex := -1; - - v_request := f_getCreateRequestPrimitive(int16, p_requestPrimitive, -1); - - mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mccPort.receive(mw_request(p_requestPrimitive)) -> value vc_request { tc_ac.stop; - setverdict(pass, __SCOPE__&":INFO: Resource type RemoteCSE created successfuly"); - f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive); - v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16, -1); + setverdict(pass, __SCOPE__&":INFO: CREATE Request received successfuly"); } - [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) { + [] mccPort.receive(mw_request(?)) { tc_ac.stop; - setverdict(inconc, __SCOPE__&":INFO: Error while creating resource type RemoteCSE"); + setverdict(fail, __SCOPE__&":INFO: Unexpected CREATE Request received"); } [] mccPort.receive { tc_ac.stop; - setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); + setverdict(fail, __SCOPE__&":INFO: Unexpected message received"); } [] tc_ac.timeout { - setverdict(inconc, __SCOPE__&":INFO: No answer while creating resource type RemoteCSE"); + setverdict(fail, __SCOPE__&":INFO: No answer while creating resource type RemoteCSE"); } } - f_checkCseTesterStatus(); + f_checkCseSimuStatus(); + + } + + /** + * @desc Creates specified resource + * @param p_resource Resource to be created + * @param p_parentIndex Parent index of resource to be saved + * @param p_resourceType Type of the resource to be created + * @param p_modifiedResource Assigned and/or modified fields + * @return Internal resource index of the saved resource or -1 + */ + function f_cse_createLocalResource(in PrimitiveContent p_resource, in integer p_parentIndex, in ResourceType p_resourceType, out PrimitiveContent p_myResource) runs on CseSimu return integer { + var integer v_resourceIndex := lengthof(vc_resourcesList); + + // TODO To review the code (use of indexes, generation of value for certain attributes, etc..) + if(p_resourceType == int16 and ispresent(p_resource)) { + if(ischosen(p_resource.remoteCSE)){ + p_myResource.remoteCSE := p_resource.remoteCSE; + + if(not(ispresent(p_resource.remoteCSE.resourceName))) { + p_myResource.remoteCSE.resourceName := "remoteCSE" & int2char(v_resourceIndex); + } + p_myResource.remoteCSE.resourceType := p_resourceType; + p_myResource.remoteCSE.resourceID := "remoteCSE" & int2char(v_resourceIndex); + p_myResource.remoteCSE.parentID := f_getResourceId(vc_resourcesList[p_parentIndex].resource); + p_myResource.remoteCSE.creationTime := fx_generateTimestamp(); + if(not(ispresent(p_resource.remoteCSE.expirationTime))) { + p_myResource.remoteCSE.expirationTime := "20301231T012345"; + } + p_myResource.remoteCSE.lastModifiedTime := p_myResource.remoteCSE. creationTime; + p_myResource.remoteCSE.announceTo := omit; + p_myResource.remoteCSE.announcedAttribute := omit; + + if(not(ispresent(p_resource.remoteCSE.pointOfAccess))) { + //TODO Create a pollingChannel resource + p_myResource.remoteCSE.pointOfAccess := omit; + } + if(vc_resourcesList[v_resourceIndex].resourceType == int5) { + p_myResource.remoteCSE.m2M_Ext_ID := omit; + p_myResource.remoteCSE.trigger_Recipient_ID:= omit; + } + p_myResource.remoteCSE.nodeLink := omit; + + return f_setResource(p_myResource, p_resourceType, p_parentIndex, false); + + } + } return v_resourceIndex; - - } + + }//End of function - - }//end group helpingFunctions + + }//end group CseSimuFunctions group CseAltstepFunctions { /** * @desc Cse altstep for config 01 */ - altstep a_cse_cf01() runs on CseTester { + altstep a_cse_cf01() runs on AeSimu { [] mcaPort.receive { log(__SCOPE__&": WARNING: Unexpected message received"); @@ -1295,10 +1612,28 @@ module OneM2M_Functions { } } + /** + * @desc Cse altstep for config 01 for AE2 + */ + altstep a_cse_cf01_ae2() runs on AeSimu { + + var MsgIn v_request; + var ResponsePrimitive v_responsePrimitive; + + [] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request { + //Send response + v_responsePrimitive := valueof(m_responseNotification(int2001, omit)); + v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier; + mcaPortIn.send(m_response(v_responsePrimitive)); + log(__SCOPE__&": WARNING: Unexpected Notification message received"); + repeat; + } + } + /** * @desc Cse altstep for config 02 */ - altstep a_cse_cf02() runs on CseTester { + altstep a_cse_cf02() runs on CseSimu { [] mcaPort.receive { log(__SCOPE__&": WARNING: Unexpected message received"); @@ -1310,10 +1645,32 @@ module OneM2M_Functions { } } + /** + * @desc CseSimu altstep + */ + altstep a_cse_cseSimu() runs on CseSimu { + + [] mccPort.receive { + log(__SCOPE__&": WARNING: Unexpected message received"); + repeat; + } + } + + /** + * @desc Cse altstep for config 02 + */ + altstep a_cse_aeSimu() runs on AeSimu { + + [] mcaPort.receive { + log(__SCOPE__&": WARNING: Unexpected message received"); + repeat; + } + } + /** * @desc Cse altstep for config 04 */ - altstep a_cse_cf04() runs on CseTester { + altstep a_cse_cf04() runs on CseSimu { [] mccPort.receive { log(__SCOPE__&": WARNING: Unexpected message received"); @@ -1334,13 +1691,19 @@ module OneM2M_Functions { * @return Internal resource index of AE or -1 in case of failure * @verdict inconc if no AE registration request is received */ - function f_ae_preamble_registerAe() runs on AeTester return integer { + function f_ae_preamble_registerAe(template UtTriggerPrimitive p_utRequest := m_create) runs on CseSimu return integer { var MsgIn v_request; var PrimitiveContent v_modifiedResource; var integer v_resourceIndex, v_parentIndex; var RequestPrimitive v_rp; - + + if(not(ispresent(p_utRequest.primitiveContent))) { + p_utRequest.primitiveContent.aE := m_contentCreateAe(omit, omit, omit, omit); + } + + f_sendUtPrimitive(p_utRequest); + tc_ac.start; alt { [] mcaPort.receive(mw_request(mw_createAe)) -> value v_request { @@ -1365,10 +1728,58 @@ module OneM2M_Functions { } } - f_checkAeTesterStatus(); + f_checkCseSimuStatus(); return v_resourceIndex; - } + }//end function f_ae_preamble_register + + + /** + * @desc Waits for Container create request and process it + * @return Internal resource index of Container or -1 in case of failure + * @verdict inconc if no Container create request is received + */ + function f_ae_preamble_createContainer(template UtTriggerPrimitive p_utRequest := m_create) runs on CseSimu return integer { + + var MsgIn v_request; + var PrimitiveContent v_modifiedResource; + var integer v_resourceIndex, v_parentIndex; + var RequestPrimitive v_rp; + + if(not(ispresent(p_utRequest.primitiveContent))) { + p_utRequest.primitiveContent.container := m_contentCreateContainer; + } + + f_sendUtPrimitive(p_utRequest); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_createContainer(?,?))) -> value v_request { + tc_ac.stop; + + v_rp := v_request.primitive.requestPrimitive; + v_parentIndex := f_getResourceIndex(v_rp.to_); + v_resourceIndex := f_ae_createResource(v_rp.primitiveContent, v_parentIndex, v_rp.resourceType, v_modifiedResource); + if(v_resourceIndex != -1) { + mcaPort.send(m_response(m_responsePrimitive_content(int2001, v_rp.requestIdentifier, v_modifiedResource))); + setverdict(pass, __SCOPE__&":INFO: Container created successfuly"); + } + else { + mcaPort.send(m_response(m_responsePrimitive(int5000, v_request.primitive.requestPrimitive.requestIdentifier))); + setverdict(inconc, __SCOPE__&":INFO: Container creation failed"); + } + } + + [] tc_ac.timeout { + setverdict(inconc, __SCOPE__&":INFO: Container create request not received"); + stop; + } + } + + f_checkCseSimuStatus(); + + return v_resourceIndex; + } //end function f_ae_preamble_createContainer } // end preambleFunctions @@ -1382,38 +1793,38 @@ module OneM2M_Functions { * @param p_modifiedResource Assigned and/or modified fields * @return Internal resource index of the saved resource or -1 */ - function f_ae_createResource(in PrimitiveContent p_resource, in integer p_parentIndex, in ResourceType p_resourceType, out PrimitiveContent p_modifiedResource) runs on AeTester return integer { + function f_ae_createResource(in PrimitiveContent p_resource, in integer p_parentIndex, in ResourceType p_resourceType, out PrimitiveContent p_modifiedResource) runs on CseSimu return integer { var integer v_resourceIndex; // AE TODO To review the code (use of indexes, generation of value for certain attributes, etc..) if(p_resourceType == int2 and ispresent(p_resource)) { - if(ischosen(p_resource.aE)){ - var AE_optional v_ae := p_resource.aE; - var AE_optional v_aeModified; + if(ischosen(p_resource.aE)){ + var AE_optional v_ae := p_resource.aE; + var AE_optional v_aeModified; - v_resourceIndex := lengthof(vc_resourcesList) - 1; - v_ae.resourceType := p_resourceType; + v_resourceIndex := lengthof(vc_resourcesList) - 1; + v_ae.resourceType := p_resourceType; - v_ae.parentID := int2str(p_parentIndex); - v_ae.creationTime := fx_generateTimestamp(); - v_ae.lastModifiedTime := v_ae.creationTime; - v_ae.resourceID := "ae" & int2char(v_resourceIndex); - v_ae.aE_ID := "ae" & int2char(v_resourceIndex); - v_ae.resourceName := "ae" & int2char(v_resourceIndex); + v_ae.parentID := int2str(p_parentIndex); + v_ae.creationTime := fx_generateTimestamp(); + v_ae.lastModifiedTime := v_ae.creationTime; + v_ae.resourceID := "ae" & int2char(v_resourceIndex); + v_ae.aE_ID := "ae" & int2char(v_resourceIndex); + v_ae.resourceName := "ae" & int2char(v_resourceIndex); - v_aeModified.parentID := v_ae.parentID; - v_aeModified.creationTime := v_ae.creationTime; - v_aeModified.lastModifiedTime := v_ae.lastModifiedTime; - v_aeModified.resourceID := v_ae.resourceID; - v_aeModified.aE_ID := v_ae.aE_ID; - v_aeModified.resourceName := v_ae.resourceName; + v_aeModified.parentID := v_ae.parentID; + v_aeModified.creationTime := v_ae.creationTime; + v_aeModified.lastModifiedTime := v_ae.lastModifiedTime; + v_aeModified.resourceID := v_ae.resourceID; + v_aeModified.aE_ID := v_ae.aE_ID; + v_aeModified.resourceName := v_ae.resourceName; - p_resource.aE := v_ae; - p_modifiedResource.aE := v_aeModified; - return f_setResource(p_resource, p_resourceType, p_parentIndex); + p_resource.aE := v_ae; + p_modifiedResource.aE := v_aeModified; + return f_setResource(p_resource, p_resourceType, p_parentIndex, false); - } + } } @@ -1430,7 +1841,7 @@ module OneM2M_Functions { /** * @desc Ae altstep */ - altstep a_ae_default() runs on AeTester { + altstep a_ae_default() runs on CseSimu { var MsgIn v_request; @@ -1451,7 +1862,7 @@ module OneM2M_Functions { * @remark This altstep includes a_ae_default * @see a_ae_default */ - altstep a_ae_cf03() runs on AeTester { + altstep a_ae_cf03() runs on CseSimu { var MsgIn v_request; var PrimitiveContent v_modifiedResource; @@ -1489,10 +1900,12 @@ module OneM2M_Functions { * @return Created CREATE request primitive * @verdict */ - function f_getCreateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_request := m_create, integer p_parentIndex) runs on CseTester return RequestPrimitive { + function f_getCreateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_request := m_create, integer p_parentIndex) runs on Tester return RequestPrimitive { var template ListOfURIs v_defaultListOfURIs := {"NotInitialized"}; var template AcpType v_defaultAcpIDs := {"NotInitialized"}; + p_request.requestIdentifier := p_request.requestIdentifier & f_rnd(1, 1000000); + if(p_resourceType != int2) { if(p_resourceType == int16) { p_request.from_ := f_getOriginator(p_parentIndex, false); @@ -1508,11 +1921,11 @@ module OneM2M_Functions { if (p_resourceType == int9) {//group if(match(valueof(p_request.primitiveContent.group_.memberIDs), v_defaultListOfURIs )){ - if (p_parentIndex == -1){ - p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[vc_aeAuxIndex].resource)}; - }else{ - p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[p_parentIndex].resource)}; - } + if ((p_parentIndex == -1) and (isbound(vc_aeAuxIndex))){ + p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[vc_aeAuxIndex].resource)}; + }else{ + p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[p_parentIndex].resource)}; + } } } @@ -1522,9 +1935,9 @@ module OneM2M_Functions { p_request.primitiveContent.container.locationID := f_getResourceId(vc_resourcesList[p_parentIndex].resource);//resourceID of the locationPolicy } if(ispresent(p_request.primitiveContent.container.accessControlPolicyIDs)) { - if(match(valueof(p_request.primitiveContent.container.accessControlPolicyIDs), v_defaultAcpIDs )){ - p_request.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)}; - } + if((match(valueof(p_request.primitiveContent.container.accessControlPolicyIDs), v_defaultAcpIDs )) and (isbound(vc_acpAuxIndex))){ + p_request.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)}; + } } } @@ -1543,10 +1956,10 @@ module OneM2M_Functions { p_request.primitiveContent.subscription.notificationURI := {f_getResourceAddress(p_parentIndex)}; } //creator attribute - if(ispresent(p_request.primitiveContent.subscription.creator)) { + if(ispresent(p_request.primitiveContent.subscription.creator)) { p_request.primitiveContent.subscription.creator := f_getCreator(p_parentIndex); - } - //accessControlPolicyIds + } + //accessControlPolicyIds if(ispresent(p_request.primitiveContent.subscription.accessControlPolicyIDs)) { if(match(valueof(p_request.primitiveContent.subscription.accessControlPolicyIDs), v_defaultAcpIDs )){ p_request.primitiveContent.subscription.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)}; @@ -1571,7 +1984,7 @@ module OneM2M_Functions { * @verdict */ //TODO To be completed - function f_getCreateResponsePrimitive(in ResourceType p_resourceType, template RequestPrimitive p_request := m_create) runs on CseTester return ResponsePrimitive { + function f_getCreateResponsePrimitive(in ResourceType p_resourceType, template RequestPrimitive p_request := m_create) runs on Tester return ResponsePrimitive { var template ResponsePrimitive v_responsePrimitive; if(p_resourceType != int2) { @@ -1614,8 +2027,10 @@ module OneM2M_Functions { * @return Created UPDATE request primitive * @verdict */ - function f_getUpdateRequestPrimitive(in ResourceType p_resourceType, integer p_resourceIndex, template RequestPrimitive p_request) runs on CseTester return RequestPrimitive { + function f_getUpdateRequestPrimitive(in ResourceType p_resourceType, integer p_resourceIndex, template RequestPrimitive p_request) runs on Tester return RequestPrimitive { + p_request.requestIdentifier := p_request.requestIdentifier & f_rnd(1, 1000000); + p_request.from_ := f_getOriginator(p_resourceIndex); p_request.to_ := f_getResourceAddress(p_resourceIndex); @@ -1738,7 +2153,7 @@ module OneM2M_Functions { * @return Originator for a given resource * @verdict */ - function f_getOriginator(integer p_targetResourceIndex := -1, boolean p_testSystemRole := true) runs on CseTester return XSD.AnyURI { + function f_getOriginator(integer p_targetResourceIndex := -1, boolean p_testSystemRole := true) runs on Tester return XSD.AnyURI { if(p_targetResourceIndex == -1) { if(p_testSystemRole) { @@ -1767,7 +2182,7 @@ module OneM2M_Functions { * @return AE-ID or CSE-ID of the entity creating the given resource * @verdict */ - function f_getCreator(integer p_targetResourceIndex := -1) runs on CseTester return XSD.ID { + function f_getCreator(integer p_targetResourceIndex := -1) runs on Tester return XSD.ID { if(p_targetResourceIndex == -1) { return PX_CSE_ID; @@ -1809,9 +2224,9 @@ module OneM2M_Functions { * @return p_annoucementTargetPoA Announcemenet Target PoA */ function f_getAnnouncementTargetPoA(in charstring p_protocolBinding := PX_PROTOCOL_BINDING, in charstring p_announcementTargetAddress := PX_CSE1_ADDRESS, charstring p_announcementTargetResource := "CseBaseTester" ) return charstring { - + if(p_protocolBinding == "HTTP") { - return "http://" & p_announcementTargetAddress & "/" & p_announcementTargetResource; + return "http://" & p_announcementTargetAddress & "/" & p_announcementTargetResource; } else if (p_protocolBinding == "COAP") { return "coap://" & p_announcementTargetAddress & "/" & p_announcementTargetResource; } else if (p_protocolBinding == "MQTT") { @@ -1837,12 +2252,12 @@ module OneM2M_Functions { * @return Resource address for the given resource * @verdict */ - function f_getResourceAddress(integer p_targetResourceIndex := -1) runs on Tester return XSD.ID { + function f_getResourceAddress(integer p_targetResourceIndex := -1, AddressingMethod p_addressingMethod := PX_ADDRESSING_METHOD, PrimitiveScope p_primitiveScope := PX_PRIMITIVE_SCOPE) runs on Tester return XSD.ID { var XSD.ID v_resourceAddress; - if(vc_primitiveScope == e_cseRelative) { + if(p_primitiveScope == e_cseRelative) { - if(vc_addressingMethod == e_nonHierarchical) { + if(p_addressingMethod == e_nonHierarchical) { if(p_targetResourceIndex == -1) { return PX_CSE_RESOURCE_ID; } else { @@ -1852,40 +2267,40 @@ module OneM2M_Functions { if(p_targetResourceIndex == -1) { return PX_CSE_NAME; } else { - v_resourceAddress := f_getResourceAddress(vc_resourcesList[p_targetResourceIndex].parentIndex) & "/" & f_getResourceName(vc_resourcesList[p_targetResourceIndex].resource); + v_resourceAddress := f_getResourceAddress(vc_resourcesList[p_targetResourceIndex].parentIndex, p_addressingMethod, p_primitiveScope) & "/" & f_getResourceName(vc_resourcesList[p_targetResourceIndex].resource); return v_resourceAddress; } } - } else if (vc_primitiveScope == e_spRelative) { - if(vc_addressingMethod == e_nonHierarchical) { + } else if (p_primitiveScope == e_spRelative) { + if(p_addressingMethod == e_nonHierarchical) { if(p_targetResourceIndex == -1) { - return PX_CSE_ID; + return PX_CSE_ID & "/" & PX_CSE_RESOURCE_ID; } else { - v_resourceAddress := f_getResourceAddress() & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource); + v_resourceAddress := PX_CSE_ID & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource); return v_resourceAddress; } } else { if(p_targetResourceIndex == -1) { return PX_CSE_ID & "/" & PX_CSE_NAME; } else { - v_resourceAddress := f_getResourceAddress(vc_resourcesList[p_targetResourceIndex].parentIndex) & "/" & f_getResourceName(vc_resourcesList[p_targetResourceIndex].resource); + v_resourceAddress := f_getResourceAddress(vc_resourcesList[p_targetResourceIndex].parentIndex, p_addressingMethod, p_primitiveScope) & "/" & f_getResourceName(vc_resourcesList[p_targetResourceIndex].resource); return v_resourceAddress; } } - } else if (vc_primitiveScope == e_absolute) { - if(vc_addressingMethod == e_nonHierarchical) { + } else if (p_primitiveScope == e_absolute) { + if(p_addressingMethod == e_nonHierarchical) { if(p_targetResourceIndex == -1) { return PX_SP_ID & PX_CSE_ID; } else { - v_resourceAddress := f_getResourceAddress() & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource); + v_resourceAddress := f_getResourceAddress(-, p_addressingMethod, p_primitiveScope) & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource); return v_resourceAddress; } } else { if(p_targetResourceIndex == -1) { return PX_SP_ID & PX_CSE_ID & "/" & PX_CSE_NAME; } else { - v_resourceAddress := f_getResourceAddress(vc_resourcesList[p_targetResourceIndex].parentIndex) & "/" & f_getResourceName(vc_resourcesList[p_targetResourceIndex].resource); + v_resourceAddress := f_getResourceAddress(vc_resourcesList[p_targetResourceIndex].parentIndex, p_addressingMethod, p_primitiveScope) & "/" & f_getResourceName(vc_resourcesList[p_targetResourceIndex].resource); return v_resourceAddress; } } @@ -1901,7 +2316,7 @@ module OneM2M_Functions { * @return Internal resource index of the saved resource * @verdict */ - function f_setResource(PrimitiveContent p_resource, ResourceType p_resourceType, integer p_parentIndex := -1) runs on Tester return integer { + function f_setResource(PrimitiveContent p_resource, ResourceType p_resourceType, integer p_parentIndex := -1, in boolean p_resourceToBeDeleted := true) runs on Tester return integer { var integer v_newIndex := -1; if(isbound(vc_resourcesList)) { vc_resourcesList[lengthof(vc_resourcesList)] := {p_parentIndex, p_resourceType, p_resource}; @@ -1910,8 +2325,10 @@ module OneM2M_Functions { } v_newIndex := lengthof(vc_resourcesList)-1; - 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_newIndex}; + if(p_resourceToBeDeleted) { + 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_newIndex}; + } } return v_newIndex; @@ -1925,7 +2342,7 @@ module OneM2M_Functions { * @return * @verdict */ - function f_setAcpId(template RequestPrimitive p_requestPrimitive, template AcpType p_accessControlPolicyIDs) runs on CseTester return RequestPrimitive{ + function f_setAcpId(template RequestPrimitive p_requestPrimitive, template AcpType p_accessControlPolicyIDs) runs on Tester return RequestPrimitive{ if (ischosen(p_requestPrimitive.primitiveContent.aE)){ p_requestPrimitive.primitiveContent.aE.accessControlPolicyIDs := p_accessControlPolicyIDs; @@ -1944,7 +2361,7 @@ module OneM2M_Functions { } else if (ischosen(p_requestPrimitive.primitiveContent.locationPolicy)){ p_requestPrimitive.primitiveContent.locationPolicy.accessControlPolicyIDs := p_accessControlPolicyIDs; - } + } else if (ischosen(p_requestPrimitive.primitiveContent.delivery)){ p_requestPrimitive.primitiveContent.delivery.accessControlPolicyIDs := p_accessControlPolicyIDs; } @@ -1976,7 +2393,7 @@ module OneM2M_Functions { * @param p_targetResourceIndex Internal resource index of the given resource * @return AE_ID of the given resource */ - function f_getAeId(integer p_targetResourceIndex := -1) runs on AeTester return XSD.ID { + function f_getAeId(integer p_targetResourceIndex := -1) runs on Tester return XSD.ID { if(ischosen(vc_resourcesList[p_targetResourceIndex].resource.aE)) { return vc_resourcesList[p_targetResourceIndex].resource.aE.aE_ID; @@ -1986,25 +2403,143 @@ module OneM2M_Functions { return ""; } // end f_getAeId + + /** + * @desc Retrieve Announced Resource Type from the given resource type + * @param p_targetResourceIndex Internal resource index of the given resource + * @return AE_ID of the given resource + */ + function f_getAnnouncedResourceType(in ResourceType p_resourceType) runs on Tester return ResourceType { + + if(p_resourceType == int2) { + return int10002; + } + + return p_resourceType; + + + } // end f_getAnnouncedResourceType }//end group getSetFunctions + group CheckingFunctions { + + /** + * @desc It determines whether the addressing method of the given address is non-hierarchical. Not valid for CSE-Base as target + * @param p_resourceAddress + * @return boolean + */ + function f_isNonHierarchical(XSD.ID p_resourceAddress) runs on Tester return boolean { + var integer i; + var integer v_nbOfSlashes:= 0; + + for (i := 0; i < lengthof(p_resourceAddress); i:= i+1){ + if(p_resourceAddress[i] == "/"){ + v_nbOfSlashes:= v_nbOfSlashes+1; + } + } + + if(f_isScopeCseRelative(p_resourceAddress)) { + if(v_nbOfSlashes == 0 ) { + return true; + } else { + return false; + } + + } else if (f_isScopeSpRelative(p_resourceAddress)){ + if(v_nbOfSlashes == 2 ) { + return true; + } else { + return false; + } + } else if (f_isScopeAbsolute(p_resourceAddress)){ + if(v_nbOfSlashes == 4 ) { + return true; + } else { + return false; + } + } else { + return false; + } + } + + + /** + * @desc It determines whether the addressing method of the given address is hierarchical. Not valid for CSE-Base as target + * @param p_resourceAddress + * @return boolean + */ + function f_isHierarchical(XSD.ID p_resourceAddress) runs on Tester return boolean { + if(f_isNonHierarchical(p_resourceAddress)) { + return false; + } else { + return true; + } + } + + /** + * @desc It determines whether the primitive scope of the given address is CSE-Relative + * @param p_resourceAddress + * @return boolean + */ + function f_isScopeCseRelative(XSD.ID p_resourceAddress) runs on Tester return boolean { + if (p_resourceAddress[0] != "/") { + return true; + } else { + return false; + } + } + + /** + * @desc It determines whether the primitive scope of the given address is SP-Relative + * @param p_resourceAddress + * @return boolean + */ + function f_isScopeSpRelative(XSD.ID p_resourceAddress) runs on Tester return boolean { + if ((p_resourceAddress[0] == "/") and (p_resourceAddress[1] != "/")){ + return true; + } else { + return false; + } + } + + /** + * @desc It determines whether the primitive scope of the given address is Absolute + * @param p_resourceAddress + * @return boolean + */ + function f_isScopeAbsolute(XSD.ID p_resourceAddress) runs on Tester return boolean { + if ((p_resourceAddress[0] == "/") and (p_resourceAddress[1] == "/")) { + return true; + } else { + return false; + } + } + + + + }//end group CheckingFunctions + group CommonFunctions { - - /** * @desc Sending of an Adapter Control primitive * @param event Action to be performed by TA * @param data Corresponding information for the correct execution of the given action * @verdict */ - function f_checkCseTesterStatus() runs on CseTester { + function f_checkAeSimuStatus() runs on AeSimu { if (getverdict != pass) { f_cse_postamble_deleteResources(); // Tear down - f_cfCseTesterDown(); + if(vc_config == e_cf01) { + f_cf01Down(); + } else if (vc_config ==e_cf02) { + vc_cseSimu.start(f_cse_postamble_deleteResourcesCSE()); + vc_cseSimu.done; + f_cf02Down(); + } stop; } } @@ -2015,13 +2550,49 @@ module OneM2M_Functions { * @param data Corresponding information for the correct execution of the given action * @verdict */ - function f_checkAeTesterStatus() runs on AeTester { + function f_checkComponentDoneAndGetVerdict(AeSimu p_ae) runs on AeSimu { + + var verdicttype v_verdict := none; + + tc_ac.start(15.0); + alt { + [] p_ae.done -> value v_verdict { + tc_ac.stop; + } + [] tc_ac.timeout { + setverdict(inconc, __SCOPE__ & "INFO: Component did not finish"); + } + } + + if(v_verdict == pass) { // Component was successfully completed and got stopped state + setverdict(pass); + } else { + setverdict(inconc); // Component was not completed successfully + } + + f_checkAeSimuStatus(); + } + + /** + * @desc Sending of an Adapter Control primitive + * @param event Action to be performed by TA + * @param data Corresponding information for the correct execution of the given action + * @verdict + */ + function f_checkCseSimuStatus() runs on CseSimu { if (getverdict != pass) { //f_ae_postamble_deleteResources(); // Tear down - f_cfAeTesterDown(); - stop; + //f_cfAeTesterDown(); + f_cse_postamble_deleteResourcesCSE(); + if(vc_config == e_cf03) { + f_cf03Down(); + stop; + } else if (vc_config ==e_cf04) { + f_cf04Down(); + stop; + } } } @@ -2039,6 +2610,31 @@ module OneM2M_Functions { } + function f_sendUtPrimitive(template UtTriggerPrimitive p_utRequest) runs on Tester { + + p_utRequest.from_ := "UNINITIALIZED"; + p_utRequest.requestIdentifier := "m_uttriggerPrimitive" & f_rnd(1, 1000000); + + utPort.send(valueof(p_utRequest)); + + tc_wait.start; + alt{ + [] utPort.receive(mw_utResponseOK) { + tc_wait.stop; + setverdict(pass, __SCOPE__, " : Triggering message is successfully received!"); + } + [] utPort.receive(mw_utResponseKO) { + tc_wait.stop; + setverdict(inconc, __SCOPE__, " : Error while receiving Triggering message!"); + } + [] tc_wait.timeout{ + setverdict(inconc, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + } + + group AltstepFunctions { /** @@ -2056,19 +2652,25 @@ module OneM2M_Functions { }//end group altstepFunctions + /** + * @desc Get the Resource Identifier with Unstructured-CSE-relative -Resource-ID format + */ function f_resourceIdCleaner(in XSD.ID p_resourceID) return XSD.ID { var integer v_length := lengthof(p_resourceID); var integer i; var XSD.ID result := ""; + //log("p_resourceID: " & p_resourceID); for (i := v_length - 1; i>=0; i := i-1){ if(p_resourceID[i]=="/"){ + //log("result: " & result); return result; } else{ result := p_resourceID[i] & result; } } + //log("result: " & result); return result; } @@ -2133,39 +2735,33 @@ module OneM2M_Functions { if(ispresent(p_primitiveContent.container.labels)){ v_primitiveContent.container.labels := ?; } - if(ispresent(p_primitiveContent.container.accessControlPolicyIDs)){ - v_primitiveContent.container.accessControlPolicyIDs := ?; - } - if(ispresent(p_primitiveContent.container.dynamicAuthorizationConsultationIDs)){ - v_primitiveContent.container.dynamicAuthorizationConsultationIDs := ?; - } - if(ispresent(p_primitiveContent.container.announceTo)){ - v_primitiveContent.container.announceTo := ?; - } - if(ispresent(p_primitiveContent.container.announcedAttribute)){ - v_primitiveContent.container.announcedAttribute := ?; - } - if(ispresent(p_primitiveContent.container.creator)){ - v_primitiveContent.container.creator := ?; - } - if(ispresent(p_primitiveContent.container.maxNrOfInstances)){ - v_primitiveContent.container.maxNrOfInstances := ?; - } - if(ispresent(p_primitiveContent.container.maxByteSize)){ - v_primitiveContent.container.maxByteSize := ?; - } - if(ispresent(p_primitiveContent.container.maxInstanceAge)){ - v_primitiveContent.container.maxInstanceAge := ?; - } + if(ispresent(p_primitiveContent.container.accessControlPolicyIDs)){ + v_primitiveContent.container.accessControlPolicyIDs := ?; + } + if(ispresent(p_primitiveContent.container.announceTo)){ + v_primitiveContent.container.announceTo := ?; + } + if(ispresent(p_primitiveContent.container.announcedAttribute)){ + v_primitiveContent.container.announcedAttribute := ?; + } + if(ispresent(p_primitiveContent.container.creator)){ + v_primitiveContent.container.creator := ?; + } + if(ispresent(p_primitiveContent.container.maxNrOfInstances)){ + v_primitiveContent.container.maxNrOfInstances := ?; + } + if(ispresent(p_primitiveContent.container.maxByteSize)){ + v_primitiveContent.container.maxByteSize := ?; + } + if(ispresent(p_primitiveContent.container.maxInstanceAge)){ + v_primitiveContent.container.maxInstanceAge := ?; + } if(ispresent(p_primitiveContent.container.locationID)){ v_primitiveContent.container.locationID := ?; } if(ispresent(p_primitiveContent.container.ontologyRef)){ v_primitiveContent.container.ontologyRef := ?; } - if(ispresent(p_primitiveContent.container.disableRetrieval)){ - v_primitiveContent.container.disableRetrieval := ?; - } } else if(ischosen(p_primitiveContent.aE)){ // AE @@ -2177,9 +2773,6 @@ module OneM2M_Functions { if(ispresent(p_primitiveContent.aE.accessControlPolicyIDs)){ v_primitiveContent.aE.accessControlPolicyIDs := ?; } - if(ispresent(p_primitiveContent.aE.dynamicAuthorizationConsultationIDs)){ - v_primitiveContent.aE.dynamicAuthorizationConsultationIDs := ?; - } if(ispresent(p_primitiveContent.aE.announceTo)){ v_primitiveContent.aE.announceTo := ?; } @@ -2201,9 +2794,6 @@ module OneM2M_Functions { if(ispresent(p_primitiveContent.aE.contentSerialization)){ v_primitiveContent.aE.contentSerialization := ?; } - if(ispresent(p_primitiveContent.aE.e2eSecInfo)){ - v_primitiveContent.aE.e2eSecInfo := ?; - } } else if(ischosen(p_primitiveContent.accessControlPolicy)){ // ACP @@ -2235,9 +2825,6 @@ module OneM2M_Functions { if(ispresent(p_primitiveContent.contentInstance.contentInfo)){ v_primitiveContent.contentInstance.contentInfo := ?; } - if(ispresent(p_primitiveContent.contentInstance.contentRef)){ - v_primitiveContent.contentInstance.contentRef := ?; - } if(ispresent(p_primitiveContent.contentInstance.ontologyRef)){ v_primitiveContent.contentInstance.ontologyRef := ?; } @@ -2252,9 +2839,6 @@ module OneM2M_Functions { if(ispresent(p_primitiveContent.group_.accessControlPolicyIDs)){ v_primitiveContent.group_.accessControlPolicyIDs := ?; } - if(ispresent(p_primitiveContent.group_.dynamicAuthorizationConsultationIDs)){ - v_primitiveContent.group_.dynamicAuthorizationConsultationIDs := ?; - } if(ispresent(p_primitiveContent.group_.announceTo)){ v_primitiveContent.group_.announceTo := ?; } @@ -2300,7 +2884,7 @@ module OneM2M_Functions { } } - else if(ischosen(p_primitiveContent.subscription)){ // Schedule + else if(ischosen(p_primitiveContent.subscription)){ // Subscription v_primitiveContent := {subscription := mw_contentSubscriptionBase}; if(ispresent(p_primitiveContent.subscription.labels)){ @@ -2309,9 +2893,6 @@ module OneM2M_Functions { if(ispresent(p_primitiveContent.subscription.accessControlPolicyIDs)){ v_primitiveContent.subscription.accessControlPolicyIDs := ?; } - if(ispresent(p_primitiveContent.subscription.dynamicAuthorizationConsultationIDs)){ - v_primitiveContent.subscription.dynamicAuthorizationConsultationIDs := ?; - } if(ispresent(p_primitiveContent.subscription.creator)){ v_primitiveContent.subscription.creator := ?; } @@ -2355,10 +2936,49 @@ module OneM2M_Functions { v_primitiveContent.subscription.subscriberURI := ?; } } + else if(ischosen(p_primitiveContent.remoteCSE)){ //remoteCSE + v_primitiveContent := {remoteCSE := mw_contentRemoteCSEBase}; + + if(ispresent(p_primitiveContent.remoteCSE.labels)){ + v_primitiveContent.remoteCSE.labels := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.accessControlPolicyIDs)){ + v_primitiveContent.remoteCSE.accessControlPolicyIDs := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.announceTo)){ + v_primitiveContent.remoteCSE.announceTo := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.announcedAttribute)){ + v_primitiveContent.remoteCSE.announcedAttribute := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.cseType)){ + v_primitiveContent.remoteCSE.cseType := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.pointOfAccess)){ + v_primitiveContent.remoteCSE.pointOfAccess := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.m2M_Ext_ID)){ + v_primitiveContent.remoteCSE.m2M_Ext_ID := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.trigger_Recipient_ID)){ + v_primitiveContent.remoteCSE.trigger_Recipient_ID := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.nodeLink)){ + v_primitiveContent.remoteCSE.nodeLink := ?; + } + } return v_primitiveContent; } - function f_match2PrimitiveContent (in PrimitiveContent p_responsePrimitiveContent, in template PrimitiveContent p_requestPrimitiveContent) runs on CseTester { + function f_match2PrimitiveContent (in PrimitiveContent p_responsePrimitiveContent, in template PrimitiveContent p_requestPrimitiveContent) runs on Tester { var template PrimitiveContent v_primitiveContent; var PrimitiveContent v_response; v_response := p_responsePrimitiveContent; @@ -2367,8 +2987,7 @@ module OneM2M_Functions { setverdict(inconc, __SCOPE__&":INFO: Resource incomplete, some attribute missing "); } - } - + } }//end of commonFunctions @@ -2383,3 +3002,4 @@ module OneM2M_Functions { } // end externalFunctions } // end of module + \ No newline at end of file diff --git a/LibOneM2M/OneM2M_Pics.ttcn b/LibOneM2M/OneM2M_Pics.ttcn index 977646a..3755ac9 100644 --- a/LibOneM2M/OneM2M_Pics.ttcn +++ b/LibOneM2M/OneM2M_Pics.ttcn @@ -5,22 +5,26 @@ * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). * All rights reserved. * - * @author oneM2M - * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Pics.ttcn $ - * $Id: OneM2M_Pics.ttcn 310 2017-06-23 12:40:44Z reinaortega $ + * @author ETSI + * @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/LibOneM2M/OneM2M_Pics.ttcn $ + * $Id: OneM2M_Pics.ttcn 347 2017-08-11 08:48:20Z reinaortega $ * @desc Module containing Pixits for oneM2M * */ module OneM2M_Pics { /** - * @desc AccessControlPolicy resource support - * @see oneM2M TS-0017 A.5.5.1/1 - */ + * @desc AccessControlPolicy resource support + * @see oneM2M TS-0017 A.5.5.1/1 + */ modulepar boolean PICS_ACP_SUPPORT := true; modulepar boolean PICS_IN_CSE := true; modulepar boolean PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT := true; modulepar boolean PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT := true; + modulepar boolean PICS_PRIMITIVE_SCOPE_CSE_RELATIVE := true; + modulepar boolean PICS_PRIMITIVE_SCOPE_SP_RELATIVE := true; + modulepar boolean PICS_PRIMITIVE_SCOPE_ABSOLUTE := true; + } // end of module diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn index 45aca6f..60d9181 100644 --- a/LibOneM2M/OneM2M_Pixits.ttcn +++ b/LibOneM2M/OneM2M_Pixits.ttcn @@ -5,9 +5,9 @@ * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). * All rights reserved. * - * @author oneM2M - * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Pixits.ttcn $ - * $Id: OneM2M_Pixits.ttcn 354 2017-08-17 15:06:38Z reinaortega $ + * @author ETSI + * @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/LibOneM2M/OneM2M_Pixits.ttcn $ + * $Id: OneM2M_Pixits.ttcn 347 2017-08-11 08:48:20Z reinaortega $ * @desc Module containing Pixits for oneM2M * */ @@ -18,83 +18,106 @@ module OneM2M_Pixits { group TestAdapterParameters {} - modulepar boolean PX_DELETE_CREATED_RESOURCES := true; - modulepar XSD.AnyURI PX_RESOURCE_TO_BE_DELETED := "/ae_test"; - - modulepar XSD.IDREFS PX_RESOURCES_TO_BE_DELETED := {"MyAe"}; - - modulepar charstring PX_SUT_ADDRESS := "127.0.0.1:8080"; + group IutParameters { + + modulepar boolean PX_MN_CSE := true; + + modulepar boolean PX_IN_CSE := false; + + modulepar charstring PX_SUT_ADDRESS := "127.0.0.1:8080"; + + /** + * @desc IUT CSE Name + */ + modulepar XSD.ID PX_CSE_NAME := "cseName"; + + /** + * @desc IUT CSE-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1 + */ + modulepar XSD.ID PX_CSE_ID := "/cseId"; + + /** + * @desc IUT CSE resource ID with Unstructured-CSE-relative-Resource-ID (relative) format according to TS-0001-7.2-1 + */ + modulepar XSD.ID PX_CSE_RESOURCE_ID := "cseResourceId"; + + /** + * @desc IUT M2M-SP-ID with M2M-SP-ID format (absolute) according to TS-0001-7.2-1 Unstructured-CSE-relative -Resource-ID + */ + modulepar XSD.ID PX_SP_ID := "//om2m.org"; + + /** + * @desc AE-ID with privileges to CREATE at the IUT CSEBase with AE-ID-Stem format (relative) according to TS-0001-7.2-1 + */ + modulepar XSD.ID PX_SUPER_AE_ID := "admin:admin"; + + /** + * @desc CSE-ID with privileges to CREATE at the IUT CSEBase with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1 + */ + modulepar XSD.ID PX_SUPER_CSE_ID := "/admin:admin"; + + modulepar AddressingMethod PX_ADDRESSING_METHOD := e_hierarchical; + + modulepar PrimitiveScope PX_PRIMITIVE_SCOPE := e_cseRelative; + + modulepar charstring PX_SERIALIZATION := "XML"; + + modulepar charstring PX_PROTOCOL_BINDING := "HTTP"; + + modulepar charstring PX_XML_NAMESPACE := "m2m=""http://www.onem2m.org/xml/protocols"""; + + modulepar ListOfURIs PX_ACOR := {"*"}; + } + + group TesterParameters { - modulepar charstring PX_AE1_ADDRESS := "127.0.0.1:3131"; + modulepar charstring PX_AE1_ADDRESS := "127.0.0.1:3131"; - modulepar charstring PX_AE2_ADDRESS := "127.0.0.1:3132"; + modulepar charstring PX_AE2_ADDRESS := "127.0.0.1:3132"; - modulepar charstring PX_CSE1_ADDRESS := "127.0.0.1:3141"; + modulepar charstring PX_CSE1_ADDRESS := "127.0.0.1:3141"; - modulepar charstring PX_XML_NAMESPACE := "m2m=""http://www.onem2m.org/xml/protocols"""; - - /** - * @desc IUT CSE Name - */ - modulepar XSD.ID PX_CSE_NAME := "cseName"; - - /** - * @desc IUT CSE-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1 - */ - modulepar XSD.ID PX_CSE_ID := "/cseId"; - - /** - * @desc IUT M2M-SP-ID with M2M-SP-ID format (absolute) according to TS-0001-7.2-1 Unstructured-CSE-relative -Resource-ID - */ - modulepar XSD.ID PX_SP_ID := "//om2m.org"; - - /** - * @desc Test System CSE1-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1 - */ - modulepar XSD.ID PX_CSE1_ID := "/MyCSEId"; - - /** - * @desc IUT CSE resource ID with Unstructured-CSE-relative-Resource-ID (relative) format according to TS-0001-7.2-1 - */ - modulepar XSD.ID PX_CSE_RESOURCE_ID := "cseResourceId"; - - /** - * @desc Test System AE1-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1 - */ - modulepar XSD.ID PX_AE1_ID_STEM := ""; + /** + * @desc Test System CSE1-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1 + */ + modulepar XSD.ID PX_CSE1_ID := "/MyCSEId"; + + /** + * @desc Test System AE1-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1 + */ + modulepar XSD.ID PX_AE1_ID_STEM := ""; - /** - * @desc Test System AE2-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1 - */ - modulepar XSD.ID PX_AE2_ID_STEM := ""; - - /** - * @desc AE-ID with privileges to CREATE at the IUT CSEBase with AE-ID-Stem format (relative) according to TS-0001-7.2-1 - */ - modulepar XSD.ID PX_SUPER_AE_ID := "admin:admin"; - - /** - * @desc CSE-ID with privileges to CREATE at the IUT CSEBase with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1 - */ - modulepar XSD.ID PX_SUPER_CSE_ID := "/admin:admin"; + /** + * @desc Test System AE2-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1 + */ + modulepar XSD.ID PX_AE2_ID_STEM := ""; + + /** + * @desc Test System APP-ID with App-ID format according to TS-0001-7.2-1 + */ + modulepar XSD.ID PX_APP_ID := "NMyAppId"; - /** - * @desc Test System APP-ID with App-ID format according to TS-0001-7.2-1 - */ - modulepar XSD.ID PX_APP_ID := "NMyAppId"; - - modulepar boolean PX_RUN_POSTAMBLE := true; + } + + group ExecutionParameters { + + modulepar boolean PX_DELETE_CREATED_RESOURCES := true; - modulepar ListOfURIs PX_ACOR := {"*"}; + modulepar XSD.AnyURI PX_RESOURCE_TO_BE_DELETED := "/ae_test"; - modulepar AddressingMethod PX_ADDRESSING_METHOD := e_hierarchical; + modulepar XSD.IDREFS PX_RESOURCES_TO_BE_DELETED := {"MyAe"}; - modulepar PrimitiveScope PX_PRIMITIVE_SCOPE := e_cseRelative; + modulepar boolean PX_RUN_POSTAMBLE := true; + + + } + + - modulepar charstring PX_SERIALIZATION := "XML"; + - modulepar charstring PX_PROTOCOL_BINDING := "HTTP"; + modulepar boolean PX_USE_RESOURCE_ID_AS_ORIGINATOR := true; @@ -102,6 +125,7 @@ module OneM2M_Pixits { //NOTE: Apply to Device-based location request, and this requires Test System (TS) to activate ASN-AE mode to test IUT modulepar boolean PX_IUT_IS_ASN_CSE := false; //default //set it to true when running Device-based location testcases modulepar boolean PX_IUT_IS_MN_CSE := false; //default //set it to true when running Share-based location testcases + modulepar boolean PX_IUT_IS_IN_CSE := false; //default //set it to true when running Share-based location testcases //constant parameters for LOC modulepar XSD.Token PX_LOCATION_TARGET_ID := "{LOCATION-TARGET-ID}"; //SUPPOSE TO BE RECEIVED FROM LOCATION SERVER @@ -117,3 +141,4 @@ module OneM2M_Pixits { modulepar ResourceTypeList_1 PX_SRT := {int1, int2, int3, int4}; } // end of module + diff --git a/LibOneM2M/OneM2M_Ports.ttcn b/LibOneM2M/OneM2M_Ports.ttcn index 5da6c3b..76b80ce 100644 --- a/LibOneM2M/OneM2M_Ports.ttcn +++ b/LibOneM2M/OneM2M_Ports.ttcn @@ -15,15 +15,15 @@ module OneM2M_Ports { import from OneM2M_Types all; /* *************************************** - * oneM2M Ports - * *************************************** + * oneM2M Ports + * *************************************** */ /** * @desc Port to transport oneM2M primitives * @desc Output MsgOut * @desc Input MsgIn * @desc this port is allowed to extend for futher usage - * @desc e.g. extend OneM2MPort to dual-faced port + * @desc e.g. extend OneM2MPort to dual-faced port */ type port OneM2MPort message { in @@ -41,5 +41,26 @@ module OneM2M_Ports { out AcRequestPrimitive; } + + /** + * @desc Port to exchange information between components + */ + type port InfoPort message { + in + RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource; + out + RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource; + } + + /** + * @desc Port to transport control commands to Upper Tester Application + */ + type port UpperTesterPort message { + in + UtTriggerAckPrimitive; + out + UtTriggerPrimitive; + } + }//end module diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 31f7884..6ed7b10 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -84,7 +84,7 @@ module OneM2M_Templates { * @desc Base template for response receiving operations * @param p_responsePrimitive */ - template MsgIn mw_response(in template (present) ResponsePrimitive p_responsePrimitive) := { + template MsgIn mw_response(in template (present) ResponsePrimitive p_responsePrimitive := ?) := { primitive := { responsePrimitive := p_responsePrimitive} }; @@ -125,6 +125,36 @@ module OneM2M_Templates { tokenRequestIndicator := omit }; + /** + * @desc Base Receive RETRIEVE request primitive + * @param p_targetResourceAddress Target resource address + */ + template RequestPrimitive mw_retrieveResource(XSD.ID p_targetResourceAddress) := { + operation := int2, + to_ := p_targetResourceAddress, + from_ := ?, + requestIdentifier := ?, + resourceType := ?, + primitiveContent := ?, + roleIDs := *, + originatingTimestamp := *, + requestExpirationTimestamp := *, + resultExpirationTimestamp := *, + operationExecutionTime := *, + responseType := *, + resultPersistence := *, + resultContent := *, + eventCategory := *, + deliveryAggregation := *, + groupRequestIdentifier := *, + filterCriteria := *, + discoveryResultType := *, + tokens := *, + tokenIDs := *, + localTokenIDs := *, + tokenRequestIndicator := * + }; + /** * @desc RETRIEVE request primitive for a single attribute in To field ("targetResourceAddress#AttributeName") * @param p_targetResourceAddress Target resource address (including "#AttributeName") @@ -333,7 +363,7 @@ module OneM2M_Templates { operation := int3, to_ := "NotInitialized", from_ := "NotInitialized", - requestIdentifier := "m_update" & f_rnd(1, 1000000), + requestIdentifier := "m_update", resourceType := omit, primitiveContent:= omit, roleIDs := omit, @@ -355,27 +385,71 @@ module OneM2M_Templates { tokenRequestIndicator := omit }; + + template RequestPrimitive mw_update(template XSD.ID p_from := *, template XSD.ID p_to := ?) := { + operation := int3, + to_ := p_to, + from_ := p_from, + requestIdentifier := ?, + resourceType := ?, + primitiveContent:= ?, + roleIDs := *, + originatingTimestamp := *, + requestExpirationTimestamp := *, + resultExpirationTimestamp := *, + operationExecutionTime := *, + responseType := *, + resultPersistence := *, + resultContent := *, + eventCategory := *, + deliveryAggregation := *, + groupRequestIdentifier := *, + filterCriteria := *, + discoveryResultType := *, + tokens := *, + tokenIDs := *, + localTokenIDs := *, + tokenRequestIndicator := * + }; + /** * @desc Base UPDATE request primitive for Ae resource */ template (value) RequestPrimitive m_updateAeBase modifies m_update:= { - requestIdentifier := "m_updateAe" & f_rnd(1, 1000000), + requestIdentifier := "m_updateAe", primitiveContent:= {aE := m_contentUpdateAe} }; + /** + * @desc Reception template for update Ae resource + */ + template RequestPrimitive mw_updateAe(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := { + resourceType := int2, + primitiveContent:= {aE := ?} + }; + + /** * @desc Base UPDATE request primitive for Container resource */ template (value) RequestPrimitive m_updateContainerBase modifies m_update:= { - requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000), + requestIdentifier := "m_updateContainer", primitiveContent:= {container := m_contentUpdateContainer} }; + /** + * @desc Base Reception template for update Container + */ + template RequestPrimitive mw_updateContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := { + resourceType := int3, + primitiveContent := {container := ?} + }; + /** * @desc Base UPDATE request primitive for ContentInstance resource */ template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= { - requestIdentifier := "m_updateContentInstance" & f_rnd(1, 1000000), + requestIdentifier := "m_updateContentInstance", primitiveContent:= {contentInstance := m_contentUpdateContentInstance} }; @@ -383,12 +457,12 @@ module OneM2M_Templates { * @desc Base UPDATE request primitive for AccessControlPolicy resource */ template (value) RequestPrimitive m_updateAcpBase modifies m_update := { - requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000), + requestIdentifier := "m_updateAcp", primitiveContent:= {accessControlPolicy := m_contentUpdateAcp} }; template (value) RequestPrimitive m_updateAcpPrivileges(in template(omit) SetOfAcrs p_privileges := omit, in template(omit) SetOfAcrs p_selfPrivileges := omit) modifies m_update := { - requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000), + requestIdentifier := "m_updateAcp", primitiveContent:= {accessControlPolicy := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)} }; @@ -396,7 +470,7 @@ module OneM2M_Templates { * @desc Base UPDATE request primitive for Group resource */ template (value) RequestPrimitive m_updateGroupBase modifies m_update := { - requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000), + requestIdentifier := "m_updateGroup", primitiveContent:= {group_ := m_contentUpdateGroup} }; @@ -404,7 +478,7 @@ module OneM2M_Templates { * @desc Base UPDATE request primitive for CSEBase resource */ template (value) RequestPrimitive m_updateCSEBaseBase modifies m_update := { - requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000), + requestIdentifier := "m_updateGroup", primitiveContent:= {cSEBase := m_contentUpdateCSEBase} }; @@ -412,7 +486,7 @@ module OneM2M_Templates { * @desc Base UPDATE request primitive for Schedule resource */ template (value) RequestPrimitive m_updateScheduleBase modifies m_update := { - requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000), + requestIdentifier := "m_updateSchedule", primitiveContent:= {schedule := m_contentUpdateSchedule} }; @@ -420,7 +494,7 @@ module OneM2M_Templates { * @desc Base UPDATE request primitive for PollingChannel resource */ template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := { - requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000), + requestIdentifier := "m_updatePollingChannel", primitiveContent:= {pollingChannel := m_contentUpdatePollingChannel} }; @@ -428,7 +502,7 @@ module OneM2M_Templates { * @desc Base UPDATE request primitive for Subscription resource */ template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := { - requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000), + requestIdentifier := "m_updateSubscription", primitiveContent:= {subscription := m_contentUpdateSubscription} }; @@ -439,24 +513,24 @@ module OneM2M_Templates { }; template (value) RequestPrimitive m_updateNodeBase modifies m_update := { - requestIdentifier := "m_updateNode" & f_rnd(1, 1000000), + requestIdentifier := "m_updateNode", primitiveContent:= {node := m_contentUpdateNode} } template (value) RequestPrimitive m_updateRemoteCSEBase modifies m_update := { - requestIdentifier := "m_updateRemoteCSEBase" & f_rnd(1, 1000000), + requestIdentifier := "m_updateRemoteCSEBase", primitiveContent := {remoteCSE := m_contentUpdateRemoteCSE} } template (value) RequestPrimitive m_updateAE modifies m_update := { - requestIdentifier := "m_updateAE" & f_rnd(1, 1000000), + requestIdentifier := "m_updateAE", primitiveContent := {aE := m_contentUpdateAe} } template (value) RequestPrimitive m_updateAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_to := omit, template (omit) XSD.ID p_from := omit, XSD.ID p_appId, XSD.ID p_stemId := "") modifies m_update:= { - requestIdentifier := testcasename() & "-m_updateAEAnnc" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_updateAEAnnc", resourceType := int10002, - primitiveContent := {aEAnnc := m_contentUpdateAEAnnc} + primitiveContent := {aEAnnc := m_contentUpdateAEAnnc(p_appId,p_stemId)} }; }//end group Update @@ -466,7 +540,7 @@ module OneM2M_Templates { operation := int1, to_ := "NotInitialized", from_ := "NotInitialized", - requestIdentifier := testcasename() & "-m_create" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_create", resourceType := omit, primitiveContent := omit, roleIDs := omit, @@ -530,7 +604,7 @@ module OneM2M_Templates { template (value) RequestPrimitive m_createAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_to := omit, template (omit) XSD.ID p_from := omit, XSD.ID p_appId, XSD.ID p_stemId := "") modifies m_create:= { to_ := p_to, from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c" - requestIdentifier := testcasename() & "-m_createAEAnnc" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createAEAnnc", resourceType := int10002, primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)} }; @@ -545,7 +619,7 @@ module OneM2M_Templates { 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), + requestIdentifier := testcasename() & "-m_createAe", resourceType := int2, primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)} }; @@ -553,14 +627,14 @@ module OneM2M_Templates { /** * @desc Reception template for AE registration */ - template RequestPrimitive mw_createAe(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + template RequestPrimitive mw_createAe(template XSD.ID p_from := *, template XSD.ID p_to := ?, template AE_optional p_ae := ?) modifies mw_create := { resourceType := int2, - primitiveContent := {aE := ?} + primitiveContent := {aE := p_ae} }; template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := { from_ := PX_AE1_ID_STEM,//TODO We should use omit, "s", or "c" - requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createAe", resourceType := int2, primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)} }; @@ -569,14 +643,14 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for AccessControlPolicy resource */ template (value) RequestPrimitive m_createAcpBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createAcp", resourceType := int1, primitiveContent := {accessControlPolicy := m_contentCreateAcp ()} }; template (value) RequestPrimitive m_createAcp(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := { to_ := p_parentResourceAddress, - requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createAcp", resourceType := int1, primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)} }; @@ -596,7 +670,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX) */ template (value) RequestPrimitive m_createAcpAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) modifies m_create := { - requestIdentifier := testcasename() & "-m_createAcpAux" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createAcpAux", resourceType := int1, primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)} }; @@ -612,7 +686,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for CSEBase resource */ template (value) RequestPrimitive m_createCSEBaseBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createCSEBase" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createCSEBase", resourceType := int5, primitiveContent := {cSEBase := m_contentCreateCSEBase} }; @@ -622,7 +696,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Container resource */ template (value) RequestPrimitive m_createContainerBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createContainer", resourceType := int3, primitiveContent := {container := m_contentCreateContainer} }; @@ -631,11 +705,19 @@ 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_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE1_ID) modifies m_create := { - requestIdentifier := testcasename() & "-m_createRemoteCSE" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createRemoteCSE", resourceType := int16, primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)} }; + /** + * @desc CREATE request primitive for remoteCSE resource + */ + template RequestPrimitive mw_createRemoteCSEBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + resourceType := int16, + primitiveContent := ?//{remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)} + }; + /** * @desc CREATE request primitive for Container resource wiht no resourceName provided */ @@ -645,7 +727,7 @@ module OneM2M_Templates { template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := { to_ := p_parentResourceAddress, - requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createContainer", resourceType := int3, primitiveContent := {container := m_contentCreateContainer(p_resourceName)} }; @@ -686,7 +768,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Content Instance resource */ template (value) RequestPrimitive m_createContentInstanceBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createContentInstance", resourceType := int4, primitiveContent := {contentInstance := m_contentCreateContentInstance} }; @@ -701,7 +783,7 @@ module OneM2M_Templates { template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := { to_ := p_parentResourceAddress, from_ := "admin:admin", - requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createContentInstance", resourceType := int4, primitiveContent := {contentInstance := m_contentCreateContentInstance(-, p_primitiveContent)} }; @@ -714,6 +796,14 @@ module OneM2M_Templates { primitiveContent := {contentInstanceAnnc := ?} }; + /** + * @desc Reception template for CREATE ContentInstance + */ + template RequestPrimitive mw_createContentInstance(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + resourceType := int4, + primitiveContent := {contentInstance := ?} + }; + /** * @desc Base Reception template for CREATE ContentInstanceAnnc */ @@ -736,7 +826,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Group resource */ template (value) RequestPrimitive m_createGroupBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createGroup", resourceType := int9, primitiveContent := {group_ := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)} //TODO: p_resourceId }; @@ -748,7 +838,7 @@ module OneM2M_Templates { in template (omit) ConsistencyStrategy p_consistencyStrategy := omit, in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit, in template (omit) XSD.String p_name := "MyGroup") modifies m_create := { - requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createGroup", resourceType := int9, primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)} //TODO: p_resourceId }; @@ -773,7 +863,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for MgmtCmd resource */ template (value) RequestPrimitive m_createMgmtCmdBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createMgmtCmd" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createMgmtCmd", resourceType := int12, primitiveContent := {mgmtResource := m_contentCreateMgmtCmd (-,-)} }; @@ -782,7 +872,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for MgmtObj resource */ template (value) RequestPrimitive m_createMgmtObjBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createMgmtObj" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createMgmtObj", resourceType := int13, primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-,-)} }; @@ -791,7 +881,7 @@ module OneM2M_Templates { * @desc CREATE request primitive for MgmtObj resource */ template (value) RequestPrimitive m_createMgmtObj modifies m_create := { - requestIdentifier := testcasename() & "-m_createMgmtObj" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createMgmtObj", resourceType := int13, primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-, -)} }; @@ -816,7 +906,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Node resource */ template (value) RequestPrimitive m_createNodeBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createNode" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createNode", resourceType := int14, primitiveContent := {node := m_contentCreateNode(-, -, -) } }; @@ -825,7 +915,7 @@ module OneM2M_Templates { * @desc CREATE request primitive for Node resource */ template (value) RequestPrimitive m_createNode modifies m_create := { - requestIdentifier := testcasename() & "-m_createNode" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createNode", resourceType := int14, primitiveContent := {node := m_contentCreateNode(-,-,-) } }; @@ -842,7 +932,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for PollingChannel resource */ template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createPollingChannel", resourceType := int15, primitiveContent := {pollingChannel := m_contentCreatePollingChannel (-)} }; @@ -850,7 +940,7 @@ module OneM2M_Templates { 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), + requestIdentifier := testcasename() & "-m_createPollingChannel", resourceType := int15, primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()} }; @@ -859,14 +949,14 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Schedule resource */ template (value) RequestPrimitive m_createScheduleBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createSchedule", resourceType := int18, primitiveContent := {schedule := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})} }; template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) modifies m_create := { to_ := p_parentResourceAddress, - requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createSchedule", resourceType := int18, primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)} }; @@ -888,7 +978,7 @@ module OneM2M_Templates { }; template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := { - requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule", resourceType := int19,//FIXME Is this the correct value? primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)} }; @@ -897,7 +987,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for ServiceSubscribedAppRule Resource */ template (value) RequestPrimitive m_createServiceSubscribedAppRuleBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRuleBase" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRuleBase", resourceType := int19, primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRuleBase} }; @@ -906,18 +996,26 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Subscription resource */ template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createSubscription", resourceType := int23, primitiveContent := {subscription := m_contentCreateSubscription ({"NotInitialized"})} }; template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name, in template (value) ListOfURIs p_notificationURI := {"NotInitialized"}) modifies m_create := { to_ := p_parentResourceAddress, - requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createSubscription", resourceType := int23, primitiveContent := {subscription := m_contentCreateSubscription (p_notificationURI, p_name)} }; + /** + * @desc Reception template for CREATE Subscription + */ + template RequestPrimitive mw_createSubscription(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + resourceType := int23, + primitiveContent := {subscription := ?} + }; + template (value) RequestPrimitive m_createSubscriptionAdvanced( XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name := omit, in template (value) ListOfURIs p_notificationURI, @@ -935,14 +1033,14 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Location Policy resource */ template (value) RequestPrimitive m_createLocationPolicyBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createLocationPolicy" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createLocationPolicy", resourceType := int10, primitiveContent := {locationPolicy := m_contentCreateLocationPolicyBase} }; - template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) ListOfDuration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_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 + requestIdentifier := testcasename() & "-m_createLocationPolicy", //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 := {locationPolicy := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) }, resultContent := int1//default @@ -965,7 +1063,7 @@ module OneM2M_Templates { }; 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), + requestIdentifier := testcasename() & "-m_createNotification", primitiveContent := {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)}, resultContent := int1 //default @@ -983,7 +1081,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Stats Config resource */ template (value) RequestPrimitive m_createStatsConfigBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createStatsConfig" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createStatsConfig", resourceType := int22, primitiveContent := {statsConfig := m_contentCreateStatsConfigBase} }; @@ -992,7 +1090,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for Stats Config resource */ template (value) RequestPrimitive m_createStatsCollectBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createStatsCollect" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createStatsCollect", resourceType := int21, primitiveContent := {statsCollect := m_contentCreateStatCollectBase} }; @@ -1001,7 +1099,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for M2mServiceSubscriptionProfile resource */ template (value) RequestPrimitive m_createM2mServiceSubscriptionProfileBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createM2mServiceSubscriptionProfile" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createM2mServiceSubscriptionProfile", resourceType := int11, primitiveContent := {m2mServiceSubscriptionProfile := m_contentCreatem2mServiceSubscriptionProfileBase} }; @@ -1010,7 +1108,7 @@ module OneM2M_Templates { group Delete { - template (value) RequestPrimitive m_delete (XSD.ID p_resourceAddress, in XSD.ID p_originator) := { + template (value) RequestPrimitive m_delete(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_AE_ID) := { operation := int4, to_ := p_resourceAddress, from_ := p_originator, @@ -1034,7 +1132,32 @@ module OneM2M_Templates { tokenIDs := omit, localTokenIDs := omit, tokenRequestIndicator := omit + }; + template RequestPrimitive mw_deleteRequest(template XSD.ID p_resourceAddress := ?) := { + operation := int4, + to_ := p_resourceAddress, + from_ := ?, + requestIdentifier := ?, + resourceType := *, + primitiveContent := *, + roleIDs := *, + originatingTimestamp := *, + requestExpirationTimestamp := *, + resultExpirationTimestamp := *, + operationExecutionTime := *, + responseType := *, + resultPersistence := *, + resultContent := *, + eventCategory := *, + deliveryAggregation := *, + groupRequestIdentifier := *, + filterCriteria := *, + discoveryResultType := *, + tokens := *, + tokenIDs := *, + localTokenIDs := *, + tokenRequestIndicator := * }; }//end group Delete @@ -1044,6 +1167,64 @@ module OneM2M_Templates { /** * @desc Base NOTIFY request primitive */ + template RequestPrimitive m_notifyRequest := { + operation := int5, + to_ := "NotInitialized", + from_ := omit, + requestIdentifier := testcasename() & "-m_notifyRequest" & f_rnd(1, 1000000), + resourceType := omit, + primitiveContent := {notification := m_contentCreateNotification_allOmit}, + roleIDs := omit, + originatingTimestamp := omit, + requestExpirationTimestamp := omit, + resultExpirationTimestamp := omit, + operationExecutionTime := omit, + responseType := omit, + resultPersistence := omit, + resultContent := omit, + eventCategory := omit, + deliveryAggregation := omit, + groupRequestIdentifier := omit, + filterCriteria := omit, + discoveryResultType := omit, + tokens := omit, + tokenIDs := omit, + localTokenIDs := omit, + tokenRequestIndicator := omit + }; + + /** + * @desc Base NOTIFY Aggregated request primitive + */ + template RequestPrimitive m_notifyAggregatedRequest := { + operation := int5, + to_ := "NotInitialized", + from_ := omit, + requestIdentifier := testcasename() & "-m_notifyAggregatedRequest" & f_rnd(1, 1000000), + resourceType := omit, + primitiveContent := {aggregatedNotification := {notification_list := {m_contentCreateNotification_allOmit,m_contentCreateNotification_allOmit}}}, + roleIDs := omit, + originatingTimestamp := omit, + requestExpirationTimestamp := omit, + resultExpirationTimestamp := omit, + operationExecutionTime := omit, + responseType := omit, + resultPersistence := omit, + resultContent := omit, + eventCategory := omit, + deliveryAggregation := omit, + groupRequestIdentifier := omit, + filterCriteria := omit, + discoveryResultType := omit, + tokens := omit, + tokenIDs := omit, + localTokenIDs := omit, + tokenRequestIndicator := omit + }; + + /** + * @desc Base NOTIFY request primitive + */ template RequestPrimitive mw_notifyBase := { operation := int5, to_ := ?, @@ -1114,6 +1295,25 @@ module OneM2M_Templates { }//end group RequestPrimitives group ContentCreate { + + template PrimitiveContent m_primitiveContentAe(template AE_optional p_ae) := { + aE := p_ae + } + + template PrimitiveContent m_primitiveContentContainer(template Container_optional p_container) := { + container := p_container + } + + template PrimitiveContent m_primitiveContentContentInstance(template ContentInstance_optional p_contentInstance) := { + contentInstance := p_contentInstance + } + + template PrimitiveContent m_primitiveContentCSEBase(template CSEBase_optional p_cSEBase) := { + cSEBase := p_cSEBase + } + + template PrimitiveContent mw_primitiveContent := ?; + /** * @desc Base primitiveContent for CREATE operation for AEAnnc resource * @param p_labels Labels @@ -1228,7 +1428,7 @@ module OneM2M_Templates { accessControlRule_list := {valueof(m_createAcr(p_acor, p_allowedOperations))} },//M selfPrivileges := { - accessControlRule_list := {valueof(m_createAcr(p_acor, int63))} + accessControlRule_list := {valueof(m_createAcr({"*"}, int63))} },//M choice := omit //NP }; @@ -1663,9 +1863,9 @@ module OneM2M_Templates { missingData := omit }; - template (value) BatchNotify m_batchNotify (in XSD.NonNegativeInteger p_number) := { + template (value) BatchNotify m_batchNotify (in XSD.NonNegativeInteger p_number, in XSD.Duration p_duration := "PT20S") := { number := p_number, - duration := "PT5S" //TODO duration has to be set to 1s and match to the Duration regex + duration := p_duration //TODO duration has to be set to 1s and match to the Duration regex }; //normaly duration can be omited @@ -1806,7 +2006,7 @@ module OneM2M_Templates { choice := omit //NA }; - template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) ListOfDuration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) := { + template (value) LocationPolicy_optional m_contentCreateLocationPolicy (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) := { resourceName := c_defaultLocationPolicyResourceName, //O resourceType := omit, //NP resourceID := omit, //NP @@ -1820,7 +2020,7 @@ module OneM2M_Templates { announceTo := omit, //O announcedAttribute := omit, //O locationSource := p_locationSource, //M - locationUpdatePeriod := p_locationUpdatePeriod, //O + locationUpdatePeriod := {p_locationUpdatePeriod}, //O locationTargetID := p_locationTargetID, //O locationServer := p_locationServerAddress,//O locationContainerID := omit, //NP @@ -1897,6 +2097,22 @@ module OneM2M_Templates { iPEDiscoveryRequest := omit }; + template (value) Notification m_contentCreateNotification_allOmit := { + notificationEvent := { + representation := omit, + operationMonitor := { + operation := omit, + originator := omit + }, + notificationEventType := omit + }, + verificationRequest := omit, + subscriptionDeletion := omit, + subscriptionReference := omit, + creator := omit, + notificationForwardingURI := omit, + iPEDiscoveryRequest := omit + }; /** * @desc Base primitiveContent for CREATE operation for SemanticDescriptor resource */ @@ -2014,6 +2230,25 @@ module OneM2M_Templates { allowedRole_IDs := omit, choice := omit //NP }; + + template ServiceSubscribedNode_optional m_contentServiceSubscribedNode := { + resourceName := "MyServiceServiceSubscribedNodeResource", //O + resourceType := omit, //M + resourceID := omit, //M + parentID := omit, //M + creationTime := omit, //M + lastModifiedTime := omit, //M + labels := omit, //O + accessControlPolicyIDs := omit, //O + expirationTime := omit, //M + dynamicAuthorizationConsultationIDs := omit,//O + nodeID := omit, //M + cSE_ID := omit, //O + deviceIdentifier := omit, //M + ruleLinks := omit, //O + choice := omit //O + }; + }//end group ContentCreate group ContentUpdate { @@ -2254,7 +2489,7 @@ module OneM2M_Templates { announceTo := omit,//O announcedAttribute := omit,//O locationSource := omit,//NP - locationUpdatePeriod := {p_locationUpdatePeriod}, //O + locationUpdatePeriod := {p_locationUpdatePeriod}, //O locationTargetID := omit, //NP locationServer := omit, //NP locationContainerID := omit, //NP @@ -2308,7 +2543,7 @@ module OneM2M_Templates { choice := omit } - template (value) AEAnnc_optional m_contentUpdateAEAnnc := { + template (value) AEAnnc_optional m_contentUpdateAEAnnc (template (omit) XSD.ID p_appId := omit, template (omit) XSD.ID p_stemId := omit) := { resourceName := omit, resourceType := omit, resourceID := omit, @@ -2321,7 +2556,7 @@ module OneM2M_Templates { link := omit, dynamicAuthorizationConsultationIDs := omit, appName := omit, - app_ID := omit, + app_ID := p_appId, aE_ID := omit, pointOfAccess := omit, ontologyRef := omit, @@ -2334,6 +2569,38 @@ module OneM2M_Templates { }//end group ContentUpdate + group RequestContent { + + group CreateRequest { + + } + + group UpdateRequest { + + template AE_optional mw_contentAeUpdateRequest modifies mw_contentAe_any := { + resourceName := omit,//NP + resourceType := omit,//NP + resourceID := omit,//NP + parentID := omit,//NP + creationTime := omit,//NP + lastModifiedTime := omit,//NP + app_ID := omit,//NP + aE_ID := omit//NP + }; + + template Container_optional mw_contentContainerUpdateRequest modifies mw_contentContainer_any := { + resourceName := omit,//NP + resourceType := omit,//NP + resourceID := omit,//NP + parentID := omit,//NP + creationTime := omit,//NP + lastModifiedTime := omit//NP + }; + + }//End of group UpdateRequest + + }//end of group RequestContent + group ResponseContent { template AE_optional mw_contentAeBase := { @@ -3001,6 +3268,11 @@ module OneM2M_Templates { subscriberURI := omit,//O choice := omit//O } + + template Subscription_optional m_contentSubscription modifies m_contentSubscription_allOmit := { + resourceType := int23 //M + } + template Subscription_optional mw_contentSubscription_rc1 modifies mw_contentSubscriptionBase := { choice := omit //O } @@ -3083,6 +3355,27 @@ module OneM2M_Templates { choice := omit //O } + template ContentInstance_optional m_contentContentInstance_allOmit := { + resourceName := omit,//M + resourceType := omit,//M + resourceID := omit,//M + parentID := omit,//M + creationTime := omit,//M + lastModifiedTime := omit,//M + labels := omit ,//O + expirationTime := omit,//M + announceTo := omit,//O + announcedAttribute := omit,//O + stateTag := omit,//M + creator := omit,//O + contentInfo := omit,//O + contentSize := omit,//M + contentRef := omit, + ontologyRef := omit,//O + content := omit, //M + choice := omit + }; + template Container_optional mw_contentContainerBase := { resourceName := ?,//M resourceType := ?,//M @@ -3331,6 +3624,56 @@ module OneM2M_Templates { group SpecialContents { + template (value) AE_optional m_contentCreateAe_Invalid := { + resourceName := omit,//O + resourceType := omit,//NP + resourceID := omit,//NP + parentID := omit,//NP + creationTime := omit,//NP + lastModifiedTime := omit,//NP + labels := omit,//O + accessControlPolicyIDs := omit,//O + expirationTime := omit,//O + dynamicAuthorizationConsultationIDs := omit, //O + announceTo := omit,//O + announcedAttribute := omit,//O + appName := omit,//O + app_ID := omit,//M + aE_ID := omit,//NP + pointOfAccess := omit, //O + ontologyRef := omit,//O + nodeLink := omit,//NP + requestReachability := omit,//M + contentSerialization := omit,//O + e2eSecInfo:= omit, //O + choice := omit//O + }; + + template AE_optional mw_contentCreateAe_invalid := { + resourceName := *,//O + resourceType := *,//NP + resourceID := *,//NP + parentID := *,//NP + creationTime := *,//NP + lastModifiedTime := *,//NP + labels := *,//O + accessControlPolicyIDs := *,//O + expirationTime := *,//O + dynamicAuthorizationConsultationIDs := *, //O + announceTo := *,//O + announcedAttribute := *,//O + appName := *,//O + app_ID := omit,//M + aE_ID := *,//NP + pointOfAccess := *, //O + ontologyRef := *,//O + nodeLink := *,//NP + requestReachability := omit,//M + contentSerialization := *,//O + e2eSecInfo:= *, //O + choice := *//O + }; + template (value) AE_update_invalid m_contentUpdateAe_invalid := { resourceName := omit,//M resourceType := omit,//M @@ -3338,7 +3681,7 @@ module OneM2M_Templates { parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M - expirationCounter := omit,//Invalid + expirationCounter := omit,//Invalid attribute labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M @@ -3364,7 +3707,7 @@ module OneM2M_Templates { parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M - expirationCounter := omit,//Invalid + expirationCounter := omit,//Invalid attribute labels := omit,//O expirationTime := omit,//M announceTo := omit,//O @@ -3381,7 +3724,7 @@ module OneM2M_Templates { parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M - expirationCounter := omit,//Invalid + expirationCounter := omit,//Invalid attribute labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M @@ -3408,7 +3751,7 @@ module OneM2M_Templates { parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M - expirationCounter := omit,//Invalid + expirationCounter := omit,//Invalid attribute labels := omit,//O expirationTime := omit//M }; @@ -3420,7 +3763,7 @@ module OneM2M_Templates { parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M - expirationCounter := omit,//Invalid + expirationCounter := omit,//Invalid attribute labels := omit,//O expirationTime := omit,//M announceTo := omit,//O @@ -3436,7 +3779,7 @@ module OneM2M_Templates { parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M - maxNrOfInstances := omit,//Invalid + maxNrOfInstances := omit,//Invalid attribute labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M @@ -3466,7 +3809,7 @@ module OneM2M_Templates { parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M - expirationCounter := omit,//Invalid + expirationCounter := omit,//Invalid attribute labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M @@ -3519,6 +3862,10 @@ module OneM2M_Templates { primitiveContent := p_content } + template ResponsePrimitive mw_responsePrimitiveforInfoPort := ?; + + template RequestPrimitive mw_requestPrimitiveforInfoPort := ?; + template ResponsePrimitive mw_responsePrimitive(in template (present) ResponseStatusCode p_statusCode, in template PrimitiveContent p_content := *) := { responseStatusCode := p_statusCode, requestIdentifier := ?, @@ -3609,7 +3956,196 @@ module OneM2M_Templates { tokenRequestInformation := omit }; + group InfoPortTemplates { + + template MyResource mw_resource := ?; + + }//end group InfoPortTemplates + }//end group ResponsePrimitives + group UpperTester { + template (value) UtTriggerPrimitive m_utCreate := { + operation := int1, + to_ := "NotInitialized", + from_ := "NotInitialized", + requestIdentifier := testcasename() & "-m_utCreate" & f_rnd(1, 1000000), + resourceType := omit, + primitiveContent := omit, + roleIDs := omit, + originatingTimestamp := omit, + requestExpirationTimestamp := omit, + resultExpirationTimestamp := omit, + operationExecutionTime := omit, + responseType := omit, + resultPersistence := omit, + resultContent := omit, + eventCategory := omit, + deliveryAggregation := omit, + groupRequestIdentifier := omit, + filterCriteria := omit, + discoveryResultType := omit, + tokens := omit, + tokenIDs := omit, + localTokenIDs := omit, + tokenRequestIndicator := omit + }; + + template (value) UtTriggerPrimitive m_utCreateContainer modifies m_utCreate := { + requestIdentifier := testcasename() & "-m_utCreateContainer" & f_rnd(1, 1000000), + resourceType := int3, + primitiveContent := {container := m_contentContainer_allOmit} + } + + template (value) UtTriggerPrimitive m_utCreateContentInstance modifies m_utCreate := { + requestIdentifier := testcasename() & "-m_utCreateContentInstance" & f_rnd(1, 1000000), + resourceType := int4, + primitiveContent := {contentInstance := m_contentContentInstance_allOmit} + } + + template (value) UtTriggerPrimitive m_utCreateSubscription modifies m_utCreate := { + requestIdentifier := testcasename() & "-m_utCreateSubscription" & f_rnd(1, 1000000), + resourceType := int23, + primitiveContent := {subscription := m_contentSubscription} + } + + template (value) UtTriggerPrimitive m_utRetrieveResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := { + operation := int2, + to_ := p_targetResourceAddress, + from_ := p_originator, + requestIdentifier := "m_utRetrieveResource" & f_rnd(1, 1000000), + resourceType := omit, + primitiveContent := omit, + roleIDs := omit, + originatingTimestamp := omit, + requestExpirationTimestamp := omit, + resultExpirationTimestamp := omit, + operationExecutionTime := omit, + responseType := omit, + resultPersistence := omit, + resultContent := omit, + eventCategory := omit, + deliveryAggregation := omit, + groupRequestIdentifier := omit, + filterCriteria := omit, + discoveryResultType := omit, + tokens := omit, + tokenIDs := omit, + localTokenIDs := omit, + tokenRequestIndicator := omit + }; + + template (value) UtTriggerPrimitive m_utUpdate := { + operation := int3, + to_ := "NotInitialized", + from_ := "NotInitialized", + requestIdentifier := testcasename() & "-m_utUpdate" & f_rnd(1, 1000000), + resourceType := omit, + primitiveContent := omit, + roleIDs := omit, + originatingTimestamp := omit, + requestExpirationTimestamp := omit, + resultExpirationTimestamp := omit, + operationExecutionTime := omit, + responseType := omit, + resultPersistence := omit, + resultContent := omit, + eventCategory := omit, + deliveryAggregation := omit, + groupRequestIdentifier := omit, + filterCriteria := omit, + discoveryResultType := omit, + tokens := omit, + tokenIDs := omit, + localTokenIDs := omit, + tokenRequestIndicator := omit + }; + + template (value) UtTriggerPrimitive m_utUpdateContainer modifies m_utUpdate := { + requestIdentifier := testcasename() & "-m_utUpdateContainer" & f_rnd(1, 1000000), + resourceType := int3, + primitiveContent := {container := m_contentUpdateContainer} + } + + template (value) UtTriggerPrimitive m_utDeleteRequest := { + operation := int4, + to_ := "NotInitialized", + from_ := "NotInitialized", + requestIdentifier := testcasename() & "-m_utDeleteRequest" & f_rnd(1, 1000000), + resourceType := omit, + primitiveContent := omit, + roleIDs := omit, + originatingTimestamp := omit, + requestExpirationTimestamp := omit, + resultExpirationTimestamp := omit, + operationExecutionTime := omit, + responseType := omit, + resultPersistence := omit, + resultContent := omit, + eventCategory := omit, + deliveryAggregation := omit, + groupRequestIdentifier := omit, + filterCriteria := omit, + discoveryResultType := omit, + tokens := omit, + tokenIDs := omit, + localTokenIDs := omit, + tokenRequestIndicator := omit + }; + + template (value) UtTriggerPrimitive m_utDeleteResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_utDeleteRequest := { + to_ := p_targetResourceAddress, + from_ := p_originator + }; + + + + template UtTriggerAckPrimitive mw_utResponseOK := { + responseStatusCode := int2000, + requestIdentifier := ?, + primitiveContent := *, + to_ := *, + from_ := *, + originatingTimestamp := *, + resultExpirationTimestamp := *, + eventCategory := *, + contentStatus := *, + contentOffset := *, + assignedTokenIdentifiers := *, + tokenRequestInformation := * + } + + template UtTriggerAckPrimitive mw_utResponseKO := { + responseStatusCode := int4000, + requestIdentifier := ?, + primitiveContent := *, + to_ := *, + from_ := *, + originatingTimestamp := *, + resultExpirationTimestamp := *, + eventCategory := *, + contentStatus := *, + contentOffset := *, + assignedTokenIdentifiers := *, + tokenRequestInformation := * + + } + + template UtTriggerAckPrimitive mw_utResponse(ResponseStatusCode p_statusCode) := { + responseStatusCode := p_statusCode, + requestIdentifier := ?, + primitiveContent := *, + to_ := *, + from_ := *, + originatingTimestamp := *, + resultExpirationTimestamp := *, + eventCategory := *, + contentStatus := *, + contentOffset := *, + assignedTokenIdentifiers := *, + tokenRequestInformation := * + + } + } } // end of module diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn index f8eee8d..fba9863 100644 --- a/LibOneM2M/OneM2M_TestSystem.ttcn +++ b/LibOneM2M/OneM2M_TestSystem.ttcn @@ -5,9 +5,9 @@ * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). * All rights reserved. * - * @author oneM2M - * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_TestSystem.ttcn $ - * $Id: OneM2M_TestSystem.ttcn 340 2017-08-07 12:08:41Z reinaortega $ + * @author ETSI + * @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/LibOneM2M/OneM2M_TestSystem.ttcn $ + * $Id: OneM2M_TestSystem.ttcn 347 2017-08-11 08:48:20Z reinaortega $ * @desc Test System module for oneM2M * */ @@ -24,6 +24,8 @@ module OneM2M_TestSystem { */ type component Tester { port AdapterControlPort acPort; + port InfoPort infoPort; + port UpperTesterPort utPort; //timers timer tc_ac := PX_TAC; timer tc_wait; @@ -31,30 +33,48 @@ module OneM2M_TestSystem { var Configurations vc_config; var MyResourcesList vc_resourcesList; var IntegerList vc_resourcesIndexToBeDeleted := {}; - var PrimitiveScope vc_primitiveScope := PX_PRIMITIVE_SCOPE; - var AddressingMethod vc_addressingMethod := PX_ADDRESSING_METHOD; - } - - type component CseTester extends Tester { - port OneM2MPort mcaPort; - port OneM2MPort mccPort; - - //global variables + //var PrimitiveScope vc_primitiveScope := PX_PRIMITIVE_SCOPE; + //var AddressingMethod vc_addressingMethod := PX_ADDRESSING_METHOD; var integer vc_aeAuxIndex;//TODO To be removed - var RemoteCSE_optional vc_remoteCSEAux;//TODO To be removed + var integer vc_acpAuxIndex; var AccessControlPolicy_optional vc_acpAux; - var integer vc_acpAuxIndex := -1; + }; + + type component AeSimu extends Tester { + var AeSimu vc_ae2; + port OneM2MPort mcaPort; + port OneM2MPort mcaPortIn; + + //global variables + var PrimitiveContent vc_primitiveContentRetrievedResource; - } + var MsgIn vc_request; + var MsgIn vc_response; + var CseSimu vc_cseSimu;//For CF02 when AeSimu is master + var boolean vc_auxiliaryAe2Up := false; + //var AeSimu vc_ae2; - type component AeTester extends Tester { + }; + + type component CseSimu extends Tester { port OneM2MPort mcaPort; + port OneM2MPort mccPort; + port OneM2MPort mccPortIn; //global variables - } + var AeSimu vc_aeSimu;//For CF02 when CseSimu is master + var integer vc_remoteCseIndex; + var MsgIn vc_request; + var MsgIn vc_response; + }; + + type component InCseSimu extends CseSimu {} + + type component MnCseSimu extends CseSimu {} type component CseSystem { port OneM2MPort mcaPort; + port OneM2MPort mcaPortIn; port OneM2MPort mccPort; port AdapterControlPort acPort; } diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn index c2f5a8d..b2d1380 100644 --- a/LibOneM2M/OneM2M_Types.ttcn +++ b/LibOneM2M/OneM2M_Types.ttcn @@ -2942,7 +2942,7 @@ type record CSEBase AcpType accessControlPolicyIDs optional, CseTypeID cseType optional, XSD.ID cSE_ID, - record of ResourceType supportedResourceType, + ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type PoaList pointOfAccess, XSD.AnyURI nodeLink optional, ListOfURIs dynamicAuthorizationConsultationIDs optional, @@ -4965,10 +4965,12 @@ with { //FIXME To be added type union Representation { Resource_2 resource, - ResponsePrimitive responsePrimitive + ResponsePrimitive responsePrimitive, + XSD.AnyURI uRI } with { variant "name as 'representation'"; + variant (uRI) "name as capitalized"; }; type record Notification_1 @@ -6521,6 +6523,10 @@ with { encode "adapter"; } + type RequestPrimitive UtTriggerPrimitive; + + type ResponsePrimitive UtTriggerAckPrimitive; + type record AttributeAux { XSD.NCName name, charstring value_ optional @@ -7745,6 +7751,40 @@ group OptionalResourceTypes { variant (choice.subscription_list[-]) "name as 'subscription'"; }; + type record ServiceSubscribedNode_optional + { + ResourceName resourceName optional, + ResourceType resourceType optional, + XSD.ID resourceID optional, + NhURI parentID optional, + Timestamp creationTime optional, + Timestamp lastModifiedTime optional, + Labels labels optional, + AcpType accessControlPolicyIDs optional, + Timestamp expirationTime optional, + ListOfURIs dynamicAuthorizationConsultationIDs optional, + NodeID nodeID optional, + XSD.ID cSE_ID optional, + record of DeviceID deviceIdentifier optional, + ListOfURIs ruleLinks optional, + union { + record length(1 .. infinity) of ChildResourceRef childResource_list, + record length(1 .. infinity) of Subscription subscription_list + } choice optional + } + with { + variant "name as uncapitalized"; + variant "element"; + variant (resourceName) "attribute"; + variant (cSE_ID) "name as 'CSE-ID'"; + variant (deviceIdentifier) "list"; + variant (choice) "untagged"; + variant (choice.childResource_list) "untagged"; + variant (choice.childResource_list[-]) "name as 'childResource'"; + variant (choice.subscription_list) "untagged"; + variant (choice.subscription_list[-]) "name as 'subscription'"; + }; + type record StatsCollect_optional { ResourceName resourceName optional, diff --git a/OneM2M_TestControl.ttcn b/OneM2M_TestControl.ttcn index 4e4d0e4..e843c56 100644 --- a/OneM2M_TestControl.ttcn +++ b/OneM2M_TestControl.ttcn @@ -5,9 +5,9 @@ * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). * All rights reserved. * - * @author oneM2M - * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_TestControl.ttcn $ - * $Id: OneM2M_TestControl.ttcn 343 2017-08-07 13:34:49Z reinaortega $ + * @author ETSI + * @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/OneM2M_TestControl.ttcn $ + * $Id: OneM2M_TestControl.ttcn 347 2017-08-11 08:48:20Z reinaortega $ * @desc Test control module for oneM2M * */ @@ -40,11 +40,9 @@ module OneM2M_TestControl { execute(TC_CSE_REG_CRE_016_CST()); execute(TC_CSE_REG_CRE_016_POA()); execute(TC_CSE_REG_CRE_016_NL()); - execute(TC_CSE_REG_CRE_018()); execute(TC_CSE_REG_CRE_022()); execute(TC_CSE_REG_CRE_023()); execute(TC_CSE_REG_CRE_025()); - execute(TC_CSE_REG_CRE_026()); execute(TC_CSE_REG_RET_001()); execute(TC_CSE_REG_RET_005()); execute(TC_CSE_REG_RET_008()); @@ -352,3 +350,4 @@ module OneM2M_TestControl { } } // end of module + diff --git a/OneM2M_Testcases_AE.ttcn b/OneM2M_Testcases_AE.ttcn new file mode 100644 index 0000000..b5b595f --- /dev/null +++ b/OneM2M_Testcases_AE.ttcn @@ -0,0 +1,2394 @@ +/** + * Copyright Notification + * No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). + * All rights reserved. + * + * @author ETSI + * @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/OneM2M_Testcases.ttcn $ + * $Id: OneM2M_Testcases.ttcn 347 2017-08-11 08:48:20Z reinaortega $ + * @desc Module containing test cases for oneM2M + * + */ +module OneM2M_Testcases_AE { + + import from OneM2M_TestSystem all; + import from OneM2M_Templates all; + import from OneM2M_Types all;//{type XSD.ID}; + import from OneM2M_TypesAndValues all; + import from OneM2M_Pixits all; + import from LibCommon_Time all; + import from OneM2M_Pics all; + import from OneM2M_Functions all; + import from XSD all; + + group AE { + + group General { + + group Create { + + group g_AE_GEN_CRE_001 { + + /** + * @desc Check that the IUT sends the creation of a <container> resource using unstructured resource identifier + */ + + testcase TC_AE_GEN_CRE_001_CSR() runs on CseSimu system AeSystem { + + // Test control + if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_CRE_001(e_cseRelative); + } + + testcase TC_AE_GEN_CRE_001_SPR() runs on CseSimu system AeSystem { + + // Test control + if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-SP-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_CRE_001(e_spRelative); + } + + testcase TC_AE_GEN_CRE_001_ABS() runs on CseSimu system AeSystem { + + // Test control + if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-Absolute-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_CRE_001(e_absolute); + } + + function f_AE_GEN_CRE_001(PrimitiveScope p_primitiveScope) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var UtTriggerAckPrimitive v_trigger_response; + + if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_cf03Up(); + + //Send Trigger Message + v_utRequest.to_ := f_getResourceAddress(-1, e_nonHierarchical, p_primitiveScope); + v_utRequest.from_ := "UNINITIALIZED"; + f_sendUtPrimitive(v_utRequest); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_createContainer(omit,v_utRequest.to_))) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container creation request received successfuly"); + + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while creating container"); + stop; + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, " : No answer while creating resource"); + stop; + } + } + + // Postamble + f_cf03Down(); + } + }//end group g_AE_GEN_CRE_002//end group g_AE_GEN_CRE_002 + + group g_AE_GEN_CRE_002 { + + /** + * @desc Check that the IUT sends the creation of a <container> resource using structured resource identifier + */ + + testcase TC_AE_GEN_CRE_002_CSR() runs on CseSimu system AeSystem { + + if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_CRE_002(e_cseRelative); + } + + testcase TC_AE_GEN_CRE_002_SPR() runs on CseSimu system AeSystem { + + if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Structured-SP-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_CRE_002(e_spRelative); + } + + testcase TC_AE_GEN_CRE_002_ABS() runs on CseSimu system AeSystem { + + if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) { + setverdict(inconc, __SCOPE__, ": Structured-Absolute-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_CRE_002(e_absolute); + } + + function f_AE_GEN_CRE_002(PrimitiveScope p_primitiveScope) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var UtTriggerAckPrimitive v_trigger_response; + + //Test Control + if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_cf03Up(); + + //Send Trigger Message + v_utRequest.to_ := f_getResourceAddress(-1, e_hierarchical, p_primitiveScope); + v_utRequest.from_ := "UNINITIALIZED"; + f_sendUtPrimitive(v_utRequest); + + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_createContainer(omit,v_utRequest.to_))) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container creation request received successfuly"); + + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while creating container"); + stop; + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, " : No answer while creating resource"); + stop; + } + } + + // Postamble + f_cf03Down(); + } + + } //end group g_AE_GEN_CRE_002 + + } //end group Create + + group Update { + + group g_AE_GEN_UPD_001 { + + /** + * @desc Check that the IUT sends the update of a <container> resource using unstructured resource identifier + */ + + testcase TC_AE_GEN_UPD_001_CSR() runs on CseSimu system AeSystem { + + // Test control + if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_UPD_001(e_cseRelative); + } + + testcase TC_AE_GEN_UPD_001_SPR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-SP-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_UPD_001(e_spRelative); + } + + testcase TC_AE_GEN_UPD_001_ABS() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-Absolute-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_UPD_001(e_absolute); + } + + function f_AE_GEN_UPD_001(PrimitiveScope p_primitiveScope) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; + var UtTriggerAckPrimitive v_trigger_response; + var integer v_auxInteger; + + if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_cf03Up(); + + //Send Trigger Message + v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope); + v_utRequest.from_ := "UNINITIALIZED"; + f_sendUtPrimitive(v_utRequest); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_updateContainer(omit,v_utRequest.to_))) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container update request received successfuly"); + + v_responsePrimtive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit)); + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while updating container"); + stop; + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, " : No answer while updating resource"); + stop; + } + } + + // Postamble + f_cf03Down(); + } + }//end group g_AE_GEN_UPD_001 + + group g_AE_GEN_UPD_002 { + + /** + * @desc Check that the IUT sends the update of a <container> resource using structured resource identifier + */ + + testcase TC_AE_GEN_UPD_002_CSR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_UPD_002(e_cseRelative); + } + + testcase TC_AE_GEN_UPD_002_SPR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Structured-SP-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_UPD_002(e_spRelative); + } + + testcase TC_AE_GEN_UPD_002_ABS() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) { + setverdict(inconc, __SCOPE__, ": Structured-Absolute-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_UPD_002(e_absolute); + } + + function f_AE_GEN_UPD_002(PrimitiveScope p_primitiveScope) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; + var UtTriggerAckPrimitive v_trigger_response; + var integer v_auxInteger; + + if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_cf03Up(); + + //Send Trigger Message + v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope); + v_utRequest.from_ := "UNINITIALIZED"; + f_sendUtPrimitive(v_utRequest); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_updateContainer(omit,v_utRequest.to_))) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container update request received successfuly"); + + v_responsePrimtive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit)); + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while updating container"); + stop; + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, " : No answer while updating resource"); + stop; + } + } + + // Postamble + f_cf03Down(); + } + + } //end group g_AE_GEN_UPD_002 + + } //end group Update + + group Retrieve { + + group g_AE_GEN_RET_001 { + + /** + * @desc Check that the IUT sends the retrieval of a <container> resource using unstructured resource identifier + */ + + testcase TC_AE_GEN_RET_001_CSR() runs on CseSimu system AeSystem { + + // Test control + if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_RET_001(e_cseRelative); + } + + testcase TC_AE_GEN_RET_001_SPR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-SP-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_RET_001(e_spRelative); + } + + testcase TC_AE_GEN_RET_001_ABS() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-Absolute-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_RET_001(e_absolute); + } + + function f_AE_GEN_RET_001(PrimitiveScope p_primitiveScope) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var template UtTriggerPrimitive v_utRequestTemplate; + var UtTriggerPrimitive v_utRequest; + var UtTriggerAckPrimitive v_trigger_response; + var integer v_auxInteger; + + if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_cf03Up(); + + //Send Trigger Message + v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + v_utRequestTemplate := m_utRetrieveResource(f_getResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope),"UNINITIALIZED"); + f_sendUtPrimitive(v_utRequestTemplate); + v_utRequest := valueof(v_utRequestTemplate); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_retrieveResource(v_utRequest.to_))) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container retrieve request received successfuly"); + + v_responsePrimtive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit)); + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while retrieving container"); + stop; + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, " : No answer while retrieving resource"); + stop; + } + } + + // Postamble + f_cf03Down(); + } + }//end group g_AE_GEN_RET_001 + + group g_AE_GEN_RET_002 { + + /** + * @desc Check that the IUT sends the retrieval of a <container> resource using structured resource identifier + */ + + testcase TC_AE_GEN_RET_002_CSR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_RET_002(e_cseRelative); + } + + testcase TC_AE_GEN_RET_002_SPR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Structured-SP-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_UPD_002(e_spRelative); + } + + testcase TC_AE_GEN_RET_002_ABS() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) { + setverdict(inconc, __SCOPE__, ": Structured-Absolute-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_RET_002(e_absolute); + } + + function f_AE_GEN_RET_002(PrimitiveScope p_primitiveScope) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var template UtTriggerPrimitive v_utRequestTemplate; + var UtTriggerPrimitive v_utRequest; + var UtTriggerAckPrimitive v_trigger_response; + var integer v_auxInteger; + + if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_cf03Up(); + + //Send Trigger Message + v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + v_utRequestTemplate := m_utRetrieveResource(f_getResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope),"UNINITIALIZED"); + v_utRequest := valueof(v_utRequestTemplate); + f_sendUtPrimitive(v_utRequest); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_retrieveResource(v_utRequest.to_))) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container retrieve request received successfuly"); + + v_responsePrimtive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit)); + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while retrieving container"); + stop; + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, " : No answer while retrieving resource"); + stop; + } + } + + // Postamble + f_cf03Down(); + } + + } //end group g_AE_GEN_RET_002 + + } //end group Retrieve + + group Delete { + + group g_AE_GEN_DEL_001 { + + /** + * @desc Check that the IUT sends the deletion of a <container> resource using unstructured resource identifier + */ + + testcase TC_AE_GEN_DEL_001_CSR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_DEL_001(e_cseRelative); + } + + testcase TC_AE_GEN_DEL_001_SPR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-SP-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_DEL_001(e_spRelative); + } + + testcase TC_AE_GEN_DEL_001_ABS() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) { + setverdict(inconc, __SCOPE__, ": Unstructured-Absolute-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_DEL_001(e_absolute); + } + + function f_AE_GEN_DEL_001(PrimitiveScope p_primitiveScope) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var template UtTriggerPrimitive v_utRequest := m_utDeleteRequest; + var UtTriggerAckPrimitive v_trigger_response; + var integer v_auxInteger; + + if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__, ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_cf03Up(); + + //Send Trigger Message + v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope); + v_utRequest.from_ := "UNINITIALIZED"; + f_sendUtPrimitive(v_utRequest); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_deleteRequest(v_utRequest.to_))) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container update request received successfuly"); + + v_responsePrimtive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit)); + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while updating container"); + stop; + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, " : No answer while updating resource"); + stop; + } + } + + // Postamble + f_cf03Down(); + } + }//end group g_AE_GEN_DEL_001 + + group g_AE_GEN_DEL_002 { + + /** + * @desc Check that the IUT sends the deletion of a <container> resource using structured resource identifier + */ + + testcase TC_AE_GEN_DEL_002_CSR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_DEL_002(e_cseRelative); + } + + testcase TC_AE_GEN_DEL_002_SPR() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_SP_RELATIVE)) { + setverdict(inconc, __SCOPE__, ": Structured-SP-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_DEL_002(e_spRelative); + } + + testcase TC_AE_GEN_DEL_002_ABS() runs on CseSimu system AeSystem { + + //Test control + if(not(PICS_PRIMITIVE_SCOPE_ABSOLUTE)) { + setverdict(inconc, __SCOPE__, ": Structured-Absolute-Resource-ID format support is required to run this test case"); + stop; + } + + f_AE_GEN_DEL_002(e_absolute); + } + + function f_AE_GEN_DEL_002(PrimitiveScope p_primitiveScope) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var template UtTriggerPrimitive v_utRequest := m_utDeleteRequest; + var UtTriggerAckPrimitive v_trigger_response; + var integer v_auxInteger; + + if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__, ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + f_cf03Up(); + + //Send Trigger Message + v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope); + v_utRequest.from_ := "UNINITIALIZED"; + f_sendUtPrimitive(v_utRequest); + + + tc_ac.start; + alt { + [] mcaPort.receive(mw_request(mw_deleteRequest(v_utRequest.to_))) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container update request received successfuly"); + + v_responsePrimtive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit)); + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while updating container"); + stop; + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, " : No answer while updating resource"); + stop; + } + } + + // Postamble + f_cf03Down(); + } + + } //end group g_AE_GEN_DEL_002 + + } //end group Delete + + }//end group General + + group Registration { + + group Create { + + /** + * @desc Check that the IUT sends an AE initial registration request with no AE-ID-STEM provided when it is started + */ + + testcase TC_AE_REG_CRE_001() runs on CseSimu system AeSystem { + + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + + //primitives for mcaPort + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + f_cf03Up(); + + //Send Trigger Message + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_createAe)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : AE registration request is accepted!!"); + //v_responsePrimtive := valueof(m_responsePrimitiveTemp(int2000, omit)); + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(mw_createAe(*,?,m_contentCreateAe_Invalid))) -> value v_request { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : AE registration request is rejected due to not including mandatory attributes!!"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a registration CREATE Request with the value of the attribute ATTRIBUTE_NAME of the AE resource + */ + + group g_AE_REG_CRE_002 { + + testcase TC_AE_REG_CRE_002_RN() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.resourceName := "UNINITIALIZED"; + v_createAe.primitiveContent.aE.resourceName := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_ET() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.expirationTime := "20301231T012345"; + v_createAe.primitiveContent.aE.expirationTime := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_LBL() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.labels := {"UNINITIALIZED"}; + v_createAe.primitiveContent.aE.labels := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_APN() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.appName := "UNINITIALIZED"; + v_createAe.primitiveContent.aE.appName := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_API() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.app_ID := "UNINITIALIZED"; + v_createAe.primitiveContent.aE.app_ID := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_POA() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.pointOfAccess := {"UNINITIALIZED"}; + v_createAe.primitiveContent.aE.pointOfAccess := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_OR() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.ontologyRef := "UNINITIALIZED"; + v_createAe.primitiveContent.aE.ontologyRef := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_NL() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.nodeLink := "UNINITIALIZED"; + v_createAe.primitiveContent.aE.nodeLink := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_RR() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.requestReachability := true; + v_createAe.primitiveContent.aE.requestReachability := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + testcase TC_AE_REG_CRE_002_CSZ() runs on CseSimu system AeSystem { + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var template RequestPrimitive v_createAe := mw_createAe; + v_utRequest.primitiveContent.aE.contentSerialization := {applicationxml}; + v_createAe.primitiveContent.aE.contentSerialization := ?; + f_AE_REG_CRE_002(v_utRequest,v_createAe); + } + + function f_AE_REG_CRE_002(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_response) runs on CseSimu { + + //primitives for mcaPort + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + f_cf03Up(); + + //Send Trigger Message + f_sendUtPrimitive(p_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(p_response)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : AE registration request is accepted!!"); + //v_responsePrimtive := valueof(m_responsePrimitiveTemp(int2000, omit)); + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(mw_createAe(*,?,m_contentCreateAe_Invalid))) -> value v_request { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : AE registration request is rejected due to not including the optional attribute!"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + + } + + // Postamble + f_cf03Down(); + } + + }//End of subgroup AE_REG_CRE_002 + + + } // End of subgroup Create + + group Delete { + + /** + * @desc Check that the IUT sends AE deregistration request to CSE + */ + + testcase TC_AE_REG_DEL_001() runs on CseSimu system AeSystem { + + //variables + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //primitives for utPort + var template UtTriggerPrimitive v_utRequest := mw_deleteRequest; + + f_cf03Up(); + + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_deleteRequest)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : AE deregistration request is accepted!"); + + //v_responsePrimtive := valueof(m_responsePrimitiveTemp(int2000, omit)); + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Error while AE deregistration"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + + } + // Postamble + f_cf03Down(); + } + + }// End Delete subgroup + + }//end Registration subgroup + + group Data_Management_and_Repository { + + group Create { + + /** + * @desc Check that the IUT sends a Container creation request when it is triggered + */ + + testcase TC_AE_DMR_CRE_001() runs on CseSimu system AeSystem { + + //variables + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_createContainer)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container creation request is accepted!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Container creation request is rejected due to not including mandatory attributes!!"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a ContentInstance creation request when it is triggered + */ + + testcase TC_AE_DMR_CRE_002() runs on CseSimu system AeSystem { + + var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance; + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + + //receive MsgIn requestPrimitive + [] mcaPort.receive(mw_request(mw_createContentInstance)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : ContentInstance creation request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : ContentInstance creation request is rejected due to not including mandatory attributes!!"); + } + + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a ContentInstance creation request with optional attribute ATTRIBUTE_NAME + */ + + group g_AE_DMR_CRE_003 { + + testcase TC_AE_DMR_CRE_003_CNF() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance; + var template RequestPrimitive v_request := mw_createContentInstance; + v_utRequest.primitiveContent.contentInstance.contentInfo := "UNINITIALIZED"; + v_request.primitiveContent.contentInstance.contentInfo := ?; + f_AE_DMR_CRE_003(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_003_RN() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance; + var template RequestPrimitive v_request := mw_createContentInstance; + v_utRequest.primitiveContent.contentInstance.resourceName := "UNINITIALIZED"; + v_request.primitiveContent.contentInstance.resourceName := ?; + f_AE_DMR_CRE_003(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_003_ET() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance; + var template RequestPrimitive v_request := mw_createContentInstance; + v_utRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345"; + v_request.primitiveContent.contentInstance.expirationTime := ?; + f_AE_DMR_CRE_003(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_003_LBL() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance; + var template RequestPrimitive v_request := mw_createContentInstance; + v_utRequest.primitiveContent.contentInstance.labels := {"UNINITIALIZED"}; + v_request.primitiveContent.contentInstance.labels := ?; + f_AE_DMR_CRE_003(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_003_CR() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance; + var template RequestPrimitive v_request := mw_createContentInstance; + v_utRequest.primitiveContent.contentInstance.creator := "UNINITIALIZED"; + v_request.primitiveContent.contentInstance.creator := ?; + f_AE_DMR_CRE_003(v_utRequest,v_request); + } + + function f_AE_DMR_CRE_003(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(p_utRequest); + + //Test behavior + tc_ac.start; + alt{ + + //receive MsgIn requestPrimitive + [] mcaPort.receive(mw_request(p_request)) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : ContentInstance creation request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : ContentInstance creation request is rejected due to not including the attribute!"); + } + + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + }//End of subgroup AE_DMR_CRE_003 + + + + /** + * @desc Check that the IUT sends a Container creation request with optional attribute ATTRIBUTE_NAME when it is triggered + */ + + group g_AE_DMR_CRE_004 { + + testcase TC_AE_DMR_CRE_004_ACPI() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.accessControlPolicyIDs := {"UNINITIALIZED"}; + v_request.primitiveContent.container.accessControlPolicyIDs := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_004_MNI() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.maxNrOfInstances := 1; + v_request.primitiveContent.container.maxNrOfInstances := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_004_MBS() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.maxByteSize := 1; + v_request.primitiveContent.container.maxByteSize := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_004_MIA() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.maxInstanceAge := 1; + v_request.primitiveContent.container.maxInstanceAge := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_004_OR() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.ontologyRef := "UNINITIALIZED"; + v_request.primitiveContent.container.ontologyRef := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_004_RN() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.resourceName := "UNINITIALIZED"; + v_request.primitiveContent.container.resourceName := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_004_ET() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.expirationTime := "20301231T012345"; + v_request.primitiveContent.container.expirationTime := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_004_LBL() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.labels := {"UNINITIALIZED"}; + v_request.primitiveContent.container.labels := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + testcase TC_AE_DMR_CRE_004_CR() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.creator := "UNINITIALIZED"; + v_request.primitiveContent.container.creator := ?; + f_AE_DMR_CRE_004(v_utRequest,v_request); + } + + function f_AE_DMR_CRE_004(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(p_utRequest); + + //Test behavior + tc_ac.start; + alt{ + + //receive MsgIn requestPrimitive + [] mcaPort.receive(mw_request(p_request)) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container creation request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Container creation request is rejected due to not including the attribute!"); + } + + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + }//End of subgroup AE_DMR_CRE_004 + + }//End of subgroup Create + + group Update { + + group g_AE_DMR_UPD_001 { + + /** + * @desc Check that the IUT sends an UPDATE Request with the value of the attribute ATTRIBUTE_NAME of the TARGET_RESOURCE_ADDRESS resource + */ + + testcase TC_AE_DMR_UPD_001_LBL() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; + var template RequestPrimitive v_request := mw_createContainer; + v_utRequest.primitiveContent.container.labels := {"UNINITIALIZED"}; + f_AE_DMR_UPD_001(v_utRequest,v_request); + } + + function f_AE_DMR_UPD_001(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + var MsgIn v_request; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(p_utRequest); + + //Test behavior + tc_ac.start; + alt{ + + //receive MsgIn requestPrimitive + [] mcaPort.receive(mw_request(p_request)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container update request is accepted!!"); + + if (match(v_request.primitive.requestPrimitive.primitiveContent.container.labels,p_utRequest.primitiveContent.container.labels)){ + setverdict(fail, __SCOPE__, " : Container update request didn't change the value of the attribute"); + }else{ + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2004, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + } + + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Container update request is rejected due to not including the attribute!"); + } + + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + } + + group g_AE_DMR_UPD_002 { + + /** + * @desc Check that the IUT sends an UPDATE Request with the value of the attribute ATTRIBUTE_NAME of the AE resource + */ + + testcase TC_AE_DMR_UPD_002_ET() runs on CseSimu system AeSystem { + + var template UtTriggerPrimitive v_utRequest := m_updateAeBase; + + v_utRequest.primitiveContent.aE.expirationTime := "20301231T012345"; + + f_AE_DMR_UPD_002(v_utRequest); + } + + testcase TC_AE_DMR_UPD_002_APN() runs on CseSimu system AeSystem { + + var template UtTriggerPrimitive v_utRequest := m_updateAeBase; + + v_utRequest.primitiveContent.aE.appName := "UNINITIALIZED"; + + f_AE_DMR_UPD_002(v_utRequest); + } + + testcase TC_AE_DMR_UPD_002_POA() runs on CseSimu system AeSystem { + + var template UtTriggerPrimitive v_utRequest := m_updateAeBase; + + v_utRequest.primitiveContent.aE.pointOfAccess := {"http://127.0.0.1:1400/monitor"}; + + f_AE_DMR_UPD_002(v_utRequest); + } + + testcase TC_AE_DMR_UPD_002_OR() runs on CseSimu system AeSystem { + + var template UtTriggerPrimitive v_utRequest := m_updateAeBase; + + v_utRequest.primitiveContent.aE.ontologyRef := "MyOntologyRef"; + + f_AE_DMR_UPD_002(v_utRequest); + } + + testcase TC_AE_DMR_UPD_002_NL() runs on CseSimu system AeSystem { + + var template UtTriggerPrimitive v_utRequest := m_updateAeBase; + + v_utRequest.primitiveContent.aE.nodeLink := "/CSE_ID/S-AE-ID-STEM"; + + f_AE_DMR_UPD_002(v_utRequest); + } + + testcase TC_AE_DMR_UPD_002_RR() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_updateAeBase; + + v_utRequest.primitiveContent.aE.requestReachability := true; + + f_AE_DMR_UPD_002(v_utRequest); + } + + testcase TC_AE_DMR_UPD_002_CSZ() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequestTestBody := m_updateAeBase; + + v_utRequestTestBody.primitiveContent.aE.contentSerialization := {applicationxml}; + + f_AE_DMR_UPD_002(v_utRequestTestBody); + } + + function f_AE_DMR_UPD_002(template UtTriggerPrimitive p_utRequestTestBody) runs on CseSimu { + + //primitives for mcaPort + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + var integer v_aeIndex := -1; + var template RequestPrimitive v_expectedUpdateRequestAe := mw_updateAe(); + + + f_cf03Up(); + + //Preamble + v_aeIndex := f_ae_preamble_registerAe(); + + //Send Trigger Message + p_utRequestTestBody.to_ := f_getResourceAddress(v_aeIndex); + f_sendUtPrimitive(p_utRequestTestBody); + + //Test behavior + + v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest; + v_expectedUpdateRequestAe.primitiveContent := f_getTemplateFromPrimitiveContent(p_utRequestTestBody.primitiveContent); + + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(v_expectedUpdateRequestAe)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : AE registration update request is accepted!"); + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(?)) -> value v_request { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : AE registration update request is rejected due to not including the optional attribute!"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + + } + + // Postamble + f_cf03Down(); + } + + }//End of subgroup AE_DMR_UPD_002 + + group g_AE_DMR_UPD_003 { + + /** + * @desc Check that the IUT sends an UPDATE Request with the value of the attribute ATTRIBUTE_NAME of the <container> resource + */ + + testcase TC_AE_DMR_UPD_003_ET() runs on CseSimu system AeSystem { + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + + var template RequestPrimitive v_request := mw_updateContainer; + var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.container.expirationTime := "20301231T012345"; + v_request.primitiveContent.container.expirationTime := ?; + f_AE_DMR_UPD_003(v_utRequest,v_request); + } + + testcase TC_AE_DMR_UPD_003_LBL() runs on CseSimu system AeSystem { + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + + var template RequestPrimitive v_request := mw_updateContainer; + var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.container.labels := {"UNINITIALIZED"}; + v_request.primitiveContent.container.labels := ?; + f_AE_DMR_UPD_003(v_utRequest,v_request); + } + + testcase TC_AE_DMR_UPD_003_MNI() runs on CseSimu system AeSystem { + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + + var template RequestPrimitive v_request := mw_updateContainer; + var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.container.maxNrOfInstances := 1; + v_request.primitiveContent.container.maxNrOfInstances := ?; + f_AE_DMR_UPD_003(v_utRequest,v_request); + } + + testcase TC_AE_DMR_UPD_003_MBS() runs on CseSimu system AeSystem { + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + + var template RequestPrimitive v_request := mw_updateContainer; + var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.container.maxByteSize := 1; + v_request.primitiveContent.container.maxByteSize := ?; + f_AE_DMR_UPD_003(v_utRequest,v_request); + } + + testcase TC_AE_DMR_UPD_003_MIA() runs on CseSimu system AeSystem { + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + var template RequestPrimitive v_request := mw_updateContainer; + var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer; + + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.container.maxInstanceAge := 1; + v_request.primitiveContent.container.maxInstanceAge := ?; + f_AE_DMR_UPD_003(v_utRequest,v_request); + } + + function f_AE_DMR_UPD_003(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request) runs on CseSimu { + + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(p_utRequest); + + //Test behavior + tc_ac.start; + alt{ + + //receive MsgIn requestPrimitive + [] mcaPort.receive(mw_request(p_request)) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Container update request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Container update request is rejected due to not including the attribute!"); + } + + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + } + + }//End of subgroup Update + + group Retrieve { + + group g_AE_DMR_RET_001{ + + /** + * @desc Check that the IUT sends a RETRIEVE Request on the TARGET_RESOURCE_ADDRESS to CSE + */ + + testcase TC_AE_DMR_RET_001_CB() runs on CseSimu system AeSystem { + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentCSEBase(m_contentCreateCSEBase)), int5); + f_AE_DMR_RET_001(int5, f_getResourceAddress(v_auxInteger)); + } + + testcase TC_AE_DMR_RET_001_AE() runs on CseSimu system AeSystem { + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + f_AE_DMR_RET_001(int2, f_getResourceAddress(v_auxInteger)); + } + + function f_AE_DMR_RET_001(ResourceType p_resourceType, XSD.AnyURI p_address) runs on CseSimu { + + //variables + var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (p_address, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + v_utRequest.resourceType := p_resourceType; + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_retrieveResource(p_address))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : retrieve ressource type " & int2str(enum2int(v_request.primitive.requestPrimitive.resourceType)) & " request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while retrieving ressource !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + }//End of TC_AE_DMR_RET_001 + + /** + * @desc Check that the IUT sends a RETRIEVE Request of oldest virtual resource. + */ + + testcase TC_AE_DMR_RET_002() runs on CseSimu system AeSystem { + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + var XSD.AnyURI v_address := f_getResourceAddress(v_auxInteger); + + //variables + var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (v_address & "/" & c_resourceShortNameOldest, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_retrieveResource(v_address & "/" & c_resourceShortNameOldest))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : retrieve attribute oldest request is accepted!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while retrieving attribute !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a RETRIEVE Request of latest virtual resource. + */ + + testcase TC_AE_DMR_RET_003() runs on CseSimu system AeSystem { + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + var XSD.AnyURI v_address := f_getResourceAddress(v_auxInteger); + + //variables + var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (v_address & "/" & c_resourceShortNameLatest, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_retrieveResource(v_address & "/" & c_resourceShortNameLatest))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : retrieve attribute latest request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while retrieving attribute !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a <container> resource RETRIEVE Request to CSE + */ + + testcase TC_AE_DMR_RET_004() runs on CseSimu system AeSystem { + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + var XSD.AnyURI v_address := f_getResourceAddress(v_auxInteger); + + //variables + var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (v_address, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + v_utRequest.resourceType := int3; + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_retrieveResource(v_address))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : retrieve ressource type " & int2str(enum2int(v_request.primitive.requestPrimitive.resourceType)) & " request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while retrieving ressource !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a <contentInstance> resource RETRIEVE Request to CSE + */ + + testcase TC_AE_DMR_RET_005 () runs on CseSimu system AeSystem { + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentContentInstance(m_contentCreateContentInstance)), int4); + var XSD.AnyURI v_address := f_getResourceAddress(v_auxInteger); + + //variables + var template UtTriggerPrimitive v_utRequest := m_utRetrieveResource (v_address, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + v_utRequest.resourceType := int4; + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_retrieveResource(v_address))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : retrieve ressource type " & int2str(enum2int(v_request.primitive.requestPrimitive.resourceType)) & " request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2000, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while retrieving ressource !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + }//End of subgroup Retrieve + + group Delete { + + /** + * @desc Check that the IUT sends a DELETE Request of oldest virtual resource. + */ + + testcase TC_AE_DMR_DEL_001() runs on CseSimu system AeSystem { + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + var XSD.AnyURI v_address := f_getResourceAddress(v_auxInteger); + + //variables + var template UtTriggerPrimitive v_utRequest := m_utDeleteResource (v_address & "/" & c_resourceShortNameOldest, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_deleteRequest(v_address & "/" & c_resourceShortNameOldest))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : delete attribute oldest request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2002, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while deleting attribute !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a DELETE Request of latest virtual resource. + */ + + testcase TC_AE_DMR_DEL_002() runs on CseSimu system AeSystem { + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + var XSD.AnyURI v_address := f_getResourceAddress(v_auxInteger); + + //variables + var template UtTriggerPrimitive v_utRequest := m_utDeleteResource (v_address & "/" & c_resourceShortNameLatest, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_deleteRequest(v_address & "/" & c_resourceShortNameLatest))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : delete attribute latest request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2002, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while deleting attribute !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a <container> resource DELETE request to CSE + */ + + testcase TC_AE_DMR_DEL_003() runs on CseSimu system AeSystem { + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), int3); + var XSD.AnyURI v_address := f_getResourceAddress(v_auxInteger); + + //variables + var template UtTriggerPrimitive v_utRequest := m_utDeleteResource (v_address, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + v_utRequest.resourceType := int3; + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_deleteRequest(v_address))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : delete ressource type " & int2str(enum2int(v_request.primitive.requestPrimitive.resourceType)) & " request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2002, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while deleting ressource !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a <contentInstance> resource RETRIEVE Request to CSE + */ + + testcase TC_AE_DMR_DEL_004 () runs on CseSimu system AeSystem { + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentContentInstance(m_contentCreateContentInstance)),int4); + var XSD.AnyURI v_address := f_getResourceAddress(v_auxInteger); + + //variables + var template UtTriggerPrimitive v_utRequest := m_utDeleteResource (v_address, "UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + //Test component configuration + f_cf03Up(); + + //send triggering primtive to SUT + v_utRequest.resourceType := int4; + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_deleteRequest(v_address))) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : delete ressource type " & int2str(enum2int(v_request.primitive.requestPrimitive.resourceType)) & " request is accepted!!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2002, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + tc_ac.stop; + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : error while deleting ressource !"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + } + + + }//end DMR subgroup + + group Subscription_and_Notification { + + group Create { + + /** + * @desc Check that the IUT sends a subscription creation request + */ + + testcase TC_AE_SUB_CRE_001() runs on CseSimu system AeSystem { + + //variables + var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription; + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(v_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_createSubscription)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Subscription creation request is accepted!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Subscription creation request is rejected due to not including mandatory attributes!!"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + group g_AE_SUB_CRE_002 { + + /** + * @desc Check that the IUT sends a subscription creation request with optional attribute ATTRIBUTE_NAME when it is triggered + */ + + testcase TC_AE_SUB_CRE_002_ACPI() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription; + var template RequestPrimitive v_requestT := mw_createSubscription; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"}; + v_utRequest.primitiveContent.subscription.accessControlPolicyIDs := {"UNINITIALIZED"}; + + v_requestT.to_ := f_getResourceAddress(v_auxInteger); + v_requestT.primitiveContent.subscription.notificationURI := ?; + v_requestT.primitiveContent.subscription.accessControlPolicyIDs := ?; + + f_AE_SUB_CRE_002(v_utRequest, v_requestT); + } + + testcase TC_AE_SUB_CRE_002_ENC() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription; + var template RequestPrimitive v_requestT := mw_createSubscription; + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"}; + v_utRequest.primitiveContent.subscription.eventNotificationCriteria.createdBefore := "20301231T012345"; + + + v_requestT.to_ := f_getResourceAddress(v_auxInteger); + v_requestT.primitiveContent.subscription.notificationURI := ?; + v_requestT.primitiveContent.subscription.eventNotificationCriteria.createdBefore := ?; + + f_AE_SUB_CRE_002(v_utRequest, v_requestT); + } + + testcase TC_AE_SUB_CRE_002_EXC() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription; + var template RequestPrimitive v_requestT := mw_createSubscription; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"}; + v_utRequest.primitiveContent.subscription.expirationCounter := 1; + + v_requestT.to_ := f_getResourceAddress(v_auxInteger); + v_requestT.primitiveContent.subscription.notificationURI := ?; + v_requestT.primitiveContent.subscription.expirationCounter := ?; + + f_AE_SUB_CRE_002(v_utRequest, v_requestT); + } + + testcase TC_AE_SUB_CRE_002_NFU() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription; + var template RequestPrimitive v_requestT := mw_createSubscription; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"}; + v_utRequest.primitiveContent.subscription.notificationForwardingURI := "UNINITIALIZED"; + + v_requestT.to_ := f_getResourceAddress(v_auxInteger); + v_requestT.primitiveContent.subscription.notificationURI := ?; + v_requestT.primitiveContent.subscription.notificationForwardingURI := ?; + + f_AE_SUB_CRE_002(v_utRequest, v_requestT); + } + + testcase TC_AE_SUB_CRE_002_NCT() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription; + var template RequestPrimitive v_requestT := mw_createSubscription; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"}; + v_utRequest.primitiveContent.subscription.notificationContentType := int1; + + v_requestT.to_ := f_getResourceAddress(v_auxInteger); + v_requestT.primitiveContent.subscription.notificationURI := ?; + v_requestT.primitiveContent.subscription.notificationContentType := ?; + + f_AE_SUB_CRE_002(v_utRequest, v_requestT); + } + + testcase TC_AE_SUB_CRE_002_NEC() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription; + var template RequestPrimitive v_requestT := mw_createSubscription; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"}; + v_utRequest.primitiveContent.subscription.notificationEventCat.alt_1 := 100; + + v_requestT.to_ := f_getResourceAddress(v_auxInteger); + v_requestT.primitiveContent.subscription.notificationURI := ?; + v_requestT.primitiveContent.subscription.notificationEventCat.alt_ := ?; + + f_AE_SUB_CRE_002(v_utRequest, v_requestT); + } + + testcase TC_AE_SUB_CRE_002_SU() runs on CseSimu system AeSystem { + var template UtTriggerPrimitive v_utRequest := m_utCreateSubscription; + var template RequestPrimitive v_requestT := mw_createSubscription; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + v_utRequest.primitiveContent.subscription.notificationURI := {"UNINITIALIZED"}; + v_utRequest.primitiveContent.subscription.subscriberURI := "UNINITIALIZED"; + + v_requestT.to_ := f_getResourceAddress(v_auxInteger); + v_requestT.primitiveContent.subscription.notificationURI := ?; + v_requestT.primitiveContent.subscription.subscriberURI := ?; + + f_AE_SUB_CRE_002(v_utRequest, v_requestT); + } + + function f_AE_SUB_CRE_002(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request) runs on CseSimu { + + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + f_cf03Up(); + + //send triggering primtive to SUT + f_sendUtPrimitive(p_utRequest); + + //Test behavior + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(p_request)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Subscription creation request is accepted!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Subscription creation request is rejected due to not including the optional attribute!"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + + } + + }//End AE_SUB_CRE_002 + + }//End Create Group + + group Notify { + + /** + * @desc Check that the IUT sends a Notify Response to the hosting CSE when receiving a Notify request containing a single notification + */ + + testcase TC_AE_SUB_NTY_001() runs on CseSimu system AeSystem { + + //variables + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + + f_cf03Up(); + + //create Ae + f_sendUtPrimitive(v_utRequest); + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_createAe)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : AE registration request is accepted!!"); + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(mw_createAe(*,?,m_contentCreateAe_Invalid))) -> value v_request { + tc_ac.stop; + setverdict(inconc, __SCOPE__, " : AE registration request is rejected due to not including mandatory attributes!!"); + stop; + } + [] tc_ac.timeout{ + setverdict(inconc, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + stop; + } + + } + + //create Subscription + v_utRequest := m_utCreateSubscription; + v_utRequest.to_ := f_getResourceAddress(-1); + f_sendUtPrimitive(v_utRequest); + + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_createSubscription)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Subscription creation request is accepted!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(inconc, __SCOPE__, " : Subscription creation request is rejected due to not including mandatory attributes!!"); + } + [] tc_ac.timeout{ + setverdict(inconc, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + + //Test behavior + mcaPort.send(m_request(m_notifyRequest)); + + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Notification response is accepted!"); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Notification response is rejected due to not including mandatory attributes!"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + /** + * @desc Check that the IUT sends a Notify Response to the hosting CSE when receiving a Notify request containing aggregated notifications + */ + + testcase TC_AE_SUB_NTY_002() runs on CseSimu system AeSystem { + + //variables + var template UtTriggerPrimitive v_utRequest := m_createAe("UNINITIALIZED"); + var MsgIn v_request; + var ResponsePrimitive v_responsePrimtive; + + var integer v_auxInteger := f_setResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))),int2); + v_utRequest.to_ := f_getResourceAddress(v_auxInteger); + + f_cf03Up(); + + //create Ae + f_sendUtPrimitive(v_utRequest); + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_createAe)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : AE registration request is accepted!!"); + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive(mw_request(mw_createAe(*,?,m_contentCreateAe_Invalid))) -> value v_request { + tc_ac.stop; + setverdict(inconc, __SCOPE__, " : AE registration request is rejected due to not including mandatory attributes!!"); + stop; + } + [] tc_ac.timeout{ + setverdict(inconc, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + stop; + } + + } + + //create Subscription + v_utRequest := m_utCreateSubscription; + v_utRequest.to_ := f_getResourceAddress(-1); + f_sendUtPrimitive(v_utRequest); + + tc_ac.start; + alt{ + [] mcaPort.receive(mw_request(mw_createSubscription)) -> value v_request { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Subscription creation request is accepted!"); + + //set responseStatusCode back to SUT + v_responsePrimtive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit)); + + //send back responsePrimitive + mcaPort.send(m_response(v_responsePrimtive)); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(inconc, __SCOPE__, " : Subscription creation request is rejected due to not including mandatory attributes!!"); + } + [] tc_ac.timeout{ + setverdict(inconc, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + + //Test behavior + mcaPort.send(m_request(m_notifyAggregatedRequest)); + + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(pass, __SCOPE__, " : Notification response is accepted!"); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__, " : Notification response is rejected due to not including mandatory attributes!"); + } + [] tc_ac.timeout{ + setverdict(fail, __SCOPE__, " : Timeout due to no response received from requested SUT!"); + } + } + + // Postamble + f_cf03Down(); + } + + }//End of Notify group + + + }//end SUB subgroup + + + }//end group AE + + + + + +} diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases_CSE.ttcn similarity index 65% rename from OneM2M_Testcases.ttcn rename to OneM2M_Testcases_CSE.ttcn index 5ccb7d5..876fc40 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases_CSE.ttcn @@ -5,21 +5,20 @@ * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). * All rights reserved. * - * @author oneM2M - * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $ - * $Id: OneM2M_Testcases.ttcn 355 2017-08-18 07:54:17Z reinaortega $ + * @author ETSI + * @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/OneM2M_Testcases.ttcn $ + * $Id: OneM2M_Testcases.ttcn 347 2017-08-11 08:48:20Z reinaortega $ * @desc Module containing test cases for oneM2M * */ - //Test - -module OneM2M_Testcases { +module OneM2M_Testcases_CSE { import from OneM2M_TestSystem all; import from OneM2M_Templates all; import from OneM2M_Types all;//{type XSD.ID}; import from OneM2M_TypesAndValues all; import from OneM2M_Pixits all; + import from LibCommon_Time all; import from OneM2M_Pics all; import from OneM2M_Functions all; import from XSD all; @@ -30,7 +29,7 @@ module OneM2M_Testcases { group helpingTestCases {//These are not part of the test suite, just for verification purposes - testcase TC_DELETE_RESOURCES() runs on CseTester system CseSystem { + testcase TC_DELETE_RESOURCES() runs on AeSimu system CseSystem { timer t_ac := 5.0; var integer i; @@ -42,9 +41,9 @@ module OneM2M_Testcases { v_resourceAddress := f_getResourceAddress() & "/" & PX_RESOURCES_TO_BE_DELETED[i]; - v_request := valueof(m_delete(v_resourceAddress, PX_SUPER_AE_ID)); - - mcaPort.send(m_request(v_request)); + v_request := valueof(m_delete(v_resourceAddress, PX_SUPER_AE_ID)); + + mcaPort.send(m_request(v_request)); t_ac.start; alt { @@ -89,30 +88,40 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the creation of a resource using unstructured resource identifier * */ - testcase TC_CSE_GEN_CRE_001_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_CRE_001_CSR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_CRE_001(e_cseRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_CRE_001(e_cseRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_CRE_001_SPR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_CRE_001_SPR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_CRE_001(e_spRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_CRE_001(e_spRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_CRE_001_ABS() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_CRE_001_ABS() runs on Tester system CseSystem { // Local variables - - f_CSE_GEN_CRE_001(e_absolute); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_CRE_001(e_absolute)); + v_ae1.done; } - function f_CSE_GEN_CRE_001(in PrimitiveScope p_primitiveScope) runs on CseTester { + function f_CSE_GEN_CRE_001(in PrimitiveScope p_primitiveScope) runs on AeSimu { // Local variables var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -132,9 +141,10 @@ module OneM2M_Testcases { // Test Body //Force usage of Non-Hierarchical addressing method - vc_addressingMethod := e_nonHierarchical; - vc_primitiveScope := p_primitiveScope; + v_addressingMethod := e_nonHierarchical; + v_primitiveScope := p_primitiveScope; v_request := f_getCreateRequestPrimitive(int3, m_createContainerBase, v_resourceIndex); + v_request.to_ := f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope); mcaPort.send(m_request(v_request)); tc_ac.start; @@ -157,8 +167,6 @@ module OneM2M_Testcases { } // Postamble - vc_addressingMethod := PX_ADDRESSING_METHOD; - vc_primitiveScope := PX_PRIMITIVE_SCOPE; f_cse_postamble_deleteResources(); // Tear down @@ -175,30 +183,41 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the creation of a resource using structured resource identifier * */ - testcase TC_CSE_GEN_CRE_002_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_CRE_002_CSR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_CRE_002(e_cseRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_CRE_002(e_cseRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_CRE_002_SPR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_CRE_002_SPR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_CRE_002(e_spRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_CRE_002(e_spRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_CRE_002_ABS() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_CRE_002_ABS() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_CRE_002(e_absolute); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_CRE_002(e_absolute)); + v_ae1.done; } - function f_CSE_GEN_CRE_002(in PrimitiveScope p_primitiveScope) runs on CseTester { + function f_CSE_GEN_CRE_002(in PrimitiveScope p_primitiveScope) runs on AeSimu { // Local variables var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -218,10 +237,11 @@ module OneM2M_Testcases { // Test Body //Force usage of Non-Hierarchical addressing method - vc_addressingMethod := e_hierarchical; - vc_primitiveScope := p_primitiveScope; + v_addressingMethod := e_hierarchical; + v_primitiveScope := p_primitiveScope; v_request := f_getCreateRequestPrimitive(int3, m_createContainerBase, v_resourceIndex); - + v_request.to_ := f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope); + mcaPort.send(m_request(v_request)); tc_ac.start; alt { @@ -243,8 +263,6 @@ module OneM2M_Testcases { } // Postamble - vc_addressingMethod := PX_ADDRESSING_METHOD; - vc_primitiveScope := PX_PRIMITIVE_SCOPE; f_cse_postamble_deleteResources(); // Tear down @@ -264,29 +282,39 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the retrieval of a <container> resource using unstructured resource identifier * */ - testcase TC_CSE_GEN_RET_001_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_RET_001_CSR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_RET_001(e_cseRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_RET_001(e_cseRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_RET_001_SPR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_RET_001_SPR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_RET_001(e_spRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_RET_001(e_spRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_RET_001_ABS() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_RET_001_ABS() runs on Tester system CseSystem { // Local variables - - f_CSE_GEN_RET_001(e_absolute); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_RET_001(e_absolute)); + v_ae1.done; } - function f_CSE_GEN_RET_001(in PrimitiveScope p_primitiveScope) runs on CseTester { + function f_CSE_GEN_RET_001(in PrimitiveScope p_primitiveScope) runs on AeSimu { // Local variables var integer v_aeIndex := -1; var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -306,10 +334,10 @@ module OneM2M_Testcases { // Test Body //Force usage of Non-Hierarchical addressing method - vc_addressingMethod := e_nonHierarchical; - vc_primitiveScope := p_primitiveScope; + v_addressingMethod := e_nonHierarchical; + v_primitiveScope := p_primitiveScope; - mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)))); + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope), f_getOriginator(v_resourceIndex)))); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { @@ -330,8 +358,6 @@ module OneM2M_Testcases { } // Postamble - vc_addressingMethod := PX_ADDRESSING_METHOD; - vc_primitiveScope := PX_PRIMITIVE_SCOPE; f_cse_postamble_deleteResources(); // Tear down @@ -348,29 +374,39 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the retrieval of a <container> resource using structured resource identifier * */ - testcase TC_CSE_GEN_RET_002_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_RET_002_CSR() runs on Tester system CseSystem { // Local variables - - f_CSE_GEN_RET_002(e_cseRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_RET_002(e_cseRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_RET_002_SPR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_RET_002_SPR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_RET_002(e_spRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_RET_002(e_spRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_RET_002_ABS() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_RET_002_ABS() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_RET_002(e_absolute); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_RET_002(e_absolute)); + v_ae1.done; } - function f_CSE_GEN_RET_002(in PrimitiveScope p_primitiveScope) runs on CseTester { + function f_CSE_GEN_RET_002(in PrimitiveScope p_primitiveScope) runs on AeSimu { // Local variables var integer v_aeIndex := -1; var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -390,10 +426,10 @@ module OneM2M_Testcases { // Test Body //Force usage of Non-Hierarchical addressing method - vc_addressingMethod := e_hierarchical; - vc_primitiveScope := p_primitiveScope; + v_addressingMethod := e_hierarchical; + v_primitiveScope := p_primitiveScope; - mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));tc_ac.start; + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope), f_getOriginator(v_resourceIndex))));tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { tc_ac.stop; @@ -413,8 +449,6 @@ module OneM2M_Testcases { } // Postamble - vc_addressingMethod := PX_ADDRESSING_METHOD; - vc_primitiveScope := PX_PRIMITIVE_SCOPE; f_cse_postamble_deleteResources(); // Tear down @@ -433,30 +467,39 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the update of a <container> resource using unstructured resource identifier * */ - testcase TC_CSE_GEN_UPD_001_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_UPD_001_CSR() runs on Tester system CseSystem { // Local variables - - f_CSE_GEN_UPD_001(e_cseRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_UPD_001(e_cseRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_UPD_001_SPR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_UPD_001_SPR() runs on Tester system CseSystem { // Local variables - - f_CSE_GEN_UPD_001(e_spRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_UPD_001(e_spRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_UPD_001_ABS() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_UPD_001_ABS() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_UPD_001(e_absolute); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_UPD_001(e_absolute)); + v_ae1.done; } - function f_CSE_GEN_UPD_001(in PrimitiveScope p_primitiveScope) runs on CseTester { + function f_CSE_GEN_UPD_001(in PrimitiveScope p_primitiveScope) runs on AeSimu { // Local variables var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase); var integer v_aeIndex := -1; var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -476,12 +519,13 @@ module OneM2M_Testcases { // Test Body //Force usage of Non-Hierarchical addressing method - vc_addressingMethod := e_nonHierarchical; - vc_primitiveScope := p_primitiveScope; + v_addressingMethod := e_nonHierarchical; + v_primitiveScope := p_primitiveScope; v_updateRequest.primitiveContent.container.labels := {"MyLabel"}; v_updateRequest := f_getUpdateRequestPrimitive(int3, v_resourceIndex, v_updateRequest); + v_updateRequest.to_ := f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope); mcaPort.send(m_request(v_updateRequest)); tc_ac.start; @@ -504,8 +548,6 @@ module OneM2M_Testcases { } // Postamble - vc_addressingMethod := PX_ADDRESSING_METHOD; - vc_primitiveScope := PX_PRIMITIVE_SCOPE; f_cse_postamble_deleteResources(); // Tear down @@ -521,30 +563,41 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the update of a <container> resource using structured resource identifier * */ - testcase TC_CSE_GEN_UPD_002_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_UPD_002_CSR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_UPD_002(e_cseRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_UPD_002(e_cseRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_UPD_002_SPR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_UPD_002_SPR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_UPD_002(e_spRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_UPD_002(e_spRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_UPD_002_ABS() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_UPD_002_ABS() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_UPD_002(e_absolute); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_UPD_002(e_absolute)); + v_ae1.done; } - function f_CSE_GEN_UPD_002(in PrimitiveScope p_primitiveScope) runs on CseTester { + function f_CSE_GEN_UPD_002(in PrimitiveScope p_primitiveScope) runs on AeSimu { // Local variables var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase); var integer v_aeIndex := -1; var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -564,12 +617,13 @@ module OneM2M_Testcases { // Test Body //Force usage of Non-Hierarchical addressing method - vc_addressingMethod := e_hierarchical; - vc_primitiveScope := p_primitiveScope; + v_addressingMethod := e_hierarchical; + v_primitiveScope := p_primitiveScope; v_updateRequest.primitiveContent.container.labels := {"MyLabel"}; v_updateRequest := f_getUpdateRequestPrimitive(int3, v_resourceIndex, v_updateRequest); + v_updateRequest.to_ := f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope); mcaPort.send(m_request(v_updateRequest)); tc_ac.start; @@ -592,8 +646,6 @@ module OneM2M_Testcases { } // Postamble - vc_addressingMethod := PX_ADDRESSING_METHOD; - vc_primitiveScope := PX_PRIMITIVE_SCOPE; f_cse_postamble_deleteResources(); // Tear down @@ -613,30 +665,41 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the deletion of a <container> resource using unstructured resource identifier * */ - testcase TC_CSE_GEN_DEL_001_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_DEL_001_CSR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_DEL_001(e_cseRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_DEL_001(e_cseRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_DEL_001_SPR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_DEL_001_SPR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_DEL_001(e_spRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_DEL_001(e_spRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_DEL_001_ABS() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_DEL_001_ABS() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_DEL_001(e_absolute); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_DEL_001(e_absolute)); + v_ae1.done; } - function f_CSE_GEN_DEL_001(in PrimitiveScope p_primitiveScope) runs on CseTester { + function f_CSE_GEN_DEL_001(in PrimitiveScope p_primitiveScope) runs on AeSimu { // Local variables var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -656,11 +719,11 @@ module OneM2M_Testcases { // Test Body //Force usage of Non-Hierarchical addressing method - vc_addressingMethod := e_nonHierarchical; - vc_primitiveScope := p_primitiveScope; - - v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); + v_addressingMethod := e_nonHierarchical; + v_primitiveScope := p_primitiveScope; + v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope), f_getOriginator(v_resourceIndex))); + mcaPort.send(m_request(v_request)); tc_ac.start; alt { @@ -682,8 +745,6 @@ module OneM2M_Testcases { } // Postamble - vc_addressingMethod := PX_ADDRESSING_METHOD; - vc_primitiveScope := PX_PRIMITIVE_SCOPE; f_cse_postamble_deleteResources(); // Tear down @@ -700,30 +761,41 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the deletion of a <container> resource using structured resource identifier * */ - testcase TC_CSE_GEN_DEL_002_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_DEL_002_CSR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_DEL_002(e_cseRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_DEL_002(e_cseRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_DEL_002_SPR() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_DEL_002_SPR() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_DEL_002(e_spRelative); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_DEL_002(e_spRelative)); + v_ae1.done; } - testcase TC_CSE_GEN_DEL_002_ABS() runs on CseTester system CseSystem { + testcase TC_CSE_GEN_DEL_002_ABS() runs on Tester system CseSystem { // Local variables - f_CSE_GEN_DEL_002(e_absolute); + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GEN_DEL_002(e_absolute)); + v_ae1.done; } - function f_CSE_GEN_DEL_002(in PrimitiveScope p_primitiveScope) runs on CseTester { + function f_CSE_GEN_DEL_002(in PrimitiveScope p_primitiveScope) runs on AeSimu { // Local variables var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -743,10 +815,10 @@ module OneM2M_Testcases { // Test Body //Force usage of Non-Hierarchical addressing method - vc_addressingMethod := e_hierarchical; - vc_primitiveScope := p_primitiveScope; + v_addressingMethod := e_hierarchical; + v_primitiveScope := p_primitiveScope; - v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); + v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope), f_getOriginator(v_resourceIndex))); mcaPort.send(m_request(v_request)); tc_ac.start; @@ -769,8 +841,6 @@ module OneM2M_Testcases { } // Postamble - vc_addressingMethod := PX_ADDRESSING_METHOD; - vc_primitiveScope := PX_PRIMITIVE_SCOPE; f_cse_postamble_deleteResources(); // Tear down @@ -793,23 +863,23 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an AE registration (allowed App-ID, C-AE-ID-STEM not provided by AE) * */ - testcase TC_CSE_REG_CRE_001() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_001() runs on AeSimu system CseSystem { var MsgIn v_response; var RequestPrimitive v_request; var integer v_cseBaseIndex := -1; var ResourceType v_resourceType := int2; - // Test component configuration + // Test component configuration f_cf01Up(); //Preamble - v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"C-AE-ID-STEM"});//c_CRUDNDi); + v_cseBaseIndex := f_cse_preamble_createServiceSubscribedProfile({"S*"}); //c_CRUDNDi); //Test Body v_request := valueof(m_createAe(PX_APP_ID, omit, omit)); - v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex); + v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, -1); mcaPort.send(m_request(v_request)); @@ -840,23 +910,22 @@ module OneM2M_Testcases { * @desc Check that the IUT sends a registration CREATE Request with the value of the attribute ATTRIBUTE_NAME of the AE resource * */ - testcase TC_CSE_REG_CRE_002() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_002() runs on AeSimu system CseSystem { var MsgIn v_response; var RequestPrimitive v_request; var integer v_cseBaseIndex := -1; var ResourceType v_resourceType := int2; - // Test component configuration + // Test component configuration f_cf01Up(); //Preambule - v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"C-AE-ID-STEM"});//c_CRUDNDi); //Test Body v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM")); - v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex); + v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, -1); mcaPort.send(m_request(v_request)); tc_ac.start; @@ -886,25 +955,26 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects an AE registration (allowed App-ID, not allowed C-AE-ID-STEM provided by AE) * */ - testcase TC_CSE_REG_CRE_004() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_004() runs on AeSimu system CseSystem { var MsgIn v_response; var RequestPrimitive v_request; var integer v_cseBaseIndex := -1; var ResourceType v_resourceType := int2; - // Test component configuration + // Test component configuration f_cf01Up(); //Preambule - v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule(-);//c_CRUDNDi); - + //vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase); + //TODO: create serviceSubscribedProfile, Node, and serviceSubscribedAppRule + //v_cseBaseIndex := f_cse_preamble_createServiceSubscribedProfile({"C*"}); //c_CRUDNDi); + //Test Body - v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM")); - - v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex); + //v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM")); + + f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "C")); - mcaPort.send(m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) { @@ -918,7 +988,7 @@ module OneM2M_Testcases { [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } - } + } // Postamble f_cse_postamble_deleteResources(); @@ -932,28 +1002,32 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an AE registration (allowed App-ID, S-AE-ID-STEM not provided by AE) * */ - testcase TC_CSE_REG_CRE_005() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_005() runs on InCseSimu system CseSystem { var RequestPrimitive v_request; var integer v_cseBaseIndex := -1; var ResourceType v_resourceType := int2; - // Test component configuration - f_cf02Up(); + // Test component configuration + f_cf02UpCseSimuMaster(); //Preambule - v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi); + //v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi); + vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase); //Test Body - v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM")); + vc_aeSimu.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit))); - v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex); + //v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex); - mcaPort.send(m_request(v_request)); + //mcaPort.send(m_request(v_request)); tc_ac.start; - - alt { - [] mccPort.receive(mw_request(mw_createAEAnnc(-, -, -))) { + alt{ + []mccPort.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))){ + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": AE creation redirected."); + } + []mccPort.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))){ tc_ac.stop; setverdict(pass, __SCOPE__ & ": AE creation redirected."); } @@ -964,13 +1038,16 @@ module OneM2M_Testcases { [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } - } - + } + + /*vc_cseSimu.start(f_cse_receiveCreateRequest(mw_createAEAnnc(-, -, -))); + vc_cseSimu.done;*/ + // Postamble - f_cse_postamble_deleteResources(); + f_cse_postamble_deleteResourcesCSE(); // Tear down - f_cf01Down(); + f_cf02DownCseSimuMaster(); } @@ -978,28 +1055,34 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an AE re-registration (allowed M2M-SP-assigned AE-ID, S-AE-ID-STEM provided by AE), transfer request to the IN-CSE * */ - testcase TC_CSE_REG_CRE_008() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_008() runs on InCseSimu system CseSystem { var RequestPrimitive v_request; var integer v_cseBaseIndex := -1; var ResourceType v_resourceType := int2; - // Test component configuration - f_cf02Up(); + // Test component configuration + f_cf02UpCseSimuMaster(); //Preambule - v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi); - + vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase); + vc_aeSimu.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S"))); + + //TODO: + //v_request := valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex))); + //mcaPort.send(m_request(v_request)); + //Test Body - v_request := valueof(m_createAe(PX_APP_ID, omit, "S-AE-ID-STEM")); - - v_request := f_getUpdateRequestPrimitive(v_resourceType,v_cseBaseIndex, v_request); - - mcaPort.send(m_request(v_request)); + vc_aeSimu.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S"))); + tc_ac.start; alt { - [] mccPort.receive(mw_request(mw_createAEAnnc("/S", "CSE_ID", -))) { + [] mccPort.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))) { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": AE creation redirected."); + } + [] mccPort.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))) { tc_ac.stop; setverdict(pass, __SCOPE__ & ": AE creation redirected."); } @@ -1013,10 +1096,10 @@ module OneM2M_Testcases { } // Postamble - f_cse_postamble_deleteResources(); + f_cse_postamble_deleteResourcesCSE(); // Tear down - f_cf02Down(); + f_cf02DownCseSimuMaster(); } @@ -1024,24 +1107,29 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an AE re-registration (allowed M2M-SP-assigned AE-ID, S-AE-ID-STEM provided by AE), communication between MN-CSE and IN-CSE * */ - testcase TC_CSE_REG_CRE_009() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_009() runs on MnCseSimu system CseSystem { var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeAnncIndex := -1; var ResourceType v_resourceType := int2; - // Test component configuration - f_cf02Up(); + // Test component configuration + f_cf04Up(); //Preambule - v_aeAnncIndex := f_cse_preamble_registerAe();//TODO TestSystem acting as MN. It should register AeAnnc into the IUT (IN) via mcc - f_cse_deleteResource(v_aeAnncIndex); //to deregister the AE - + + vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase); + + v_aeAnncIndex := f_cse_announceResource(int2, m_createAEAnnc(-, -, -, PX_APP_ID, -)); + //Test Body - v_request := valueof(m_updateAEAnnc(-, -, -, "APP-ID", -)); //TODO to double check all parameters + v_request := valueof(m_updateAEAnnc(-, -, -, PX_APP_ID, -)); //TODO to double check all parameters - v_request := f_getUpdateRequestPrimitive(v_resourceType,v_aeAnncIndex, v_request);//TODO + v_request := f_getUpdateRequestPrimitive(f_getAnnouncedResourceType(int2),v_aeAnncIndex, v_request);//TODO + v_request.from_ := f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S"; + v_request.primitiveContent.aEAnnc.app_ID := PX_APP_ID; + v_request.primitiveContent.aEAnnc.labels := {"Credential-ID:None"}; mccPort.send(m_request(v_request)); tc_ac.start; @@ -1064,10 +1152,10 @@ module OneM2M_Testcases { //v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); // Postamble - f_cse_postamble_deleteResources(); + f_cse_postamble_deleteResourcesCSE(); // Tear down - f_cf02Down(); + f_cf04Down(); } @@ -1075,29 +1163,50 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an AE re-registration (allowed M2M-SP-assigned AE-ID, S-AE-ID-STEM provided by AE), transfer response to the AE * */ - testcase TC_CSE_REG_CRE_010() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_010() runs on AeSimu system CseSystem { var MsgIn v_response; - var ResponsePrimitive v_request; - var integer v_cseBaseIndex := -1; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; - // Test component configuration + // Test component configuration f_cf02Up(); //Preambule - v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi); - + vc_cseSimu.start(f_cse_registrationRemoteCse(mw_createRemoteCSEBase)); + vc_cseSimu.done; + + v_aeIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S-AE-ID-STEM")); + + vc_cseSimu.start(f_cse_resourceAnnouncementHandler()); + vc_cseSimu.done; + + //TODO Deregister + //f_cse_deleteResource(v_aeIndex); + v_request := valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex))); + mcaPort.send(m_request(v_request)); + //Test Body - v_request := valueof(m_responsePrimitive(int2001, "To_be_defined", {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, omit, PX_APP_ID, "/CSE_ID/S-AE-ID-STEM")})); - - mccPort.send(m_response(v_request)); + f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, f_getResourceId(vc_resourcesList[v_aeIndex].resource))); + + vc_cseSimu.start(f_cse_resourceAnnouncementHandler(PX_CSE_ID, f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative))); + vc_cseSimu.done; + tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": AE creation success."); //continue to test the content + if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE)){ + if (v_response.primitive.responsePrimitive.primitiveContent.aE.app_ID == PX_APP_ID){ + setverdict(pass, __SCOPE__ & ": AE creation success."); + }else{ + setverdict(fail, __SCOPE__ & ": Error in AE content."); + } + }else{ + setverdict(fail, __SCOPE__ & ": primitiveContent doesn't exist"); + } } [] mcaPort.receive { tc_ac.stop; @@ -1114,59 +1223,66 @@ module OneM2M_Testcases { // Tear down f_cf02Down(); - } //end TC_CSE_REG_CRE_010 + }; //end TC_CSE_REG_CRE_010 - group g_CSE_REG_CRE_016{ + group g_CSE_REG_CRE_016 { /** * @desc Check that the IUT accepts a create request of <remoteCSE> resource with OPTIONAL_ATTRIBUTE. * */ - testcase TC_CSE_REG_CRE_016_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_016_LBL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createRemoteCSEBase; const AttributeAux c_optionalAttribute := {"labels", omit}; - + var CseSimu v_cse1 := CseSimu.create("CSE1") alive; + v_createRequest.primitiveContent.remoteCSE.labels := {"MyLabel"}; - f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute); + v_cse1.start(f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute)); + v_cse1.done; } - testcase TC_CSE_REG_CRE_016_CST() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_016_CST() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createRemoteCSEBase; const AttributeAux c_optionalAttribute := {"cseType", omit}; - + var CseSimu v_cse1 := CseSimu.create("CSE1") alive; + v_createRequest.primitiveContent.remoteCSE.cseType := int1; - f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute); - + v_cse1.start(f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute)); + v_cse1.done; } - testcase TC_CSE_REG_CRE_016_POA() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_016_POA() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createRemoteCSEBase; const AttributeAux c_optionalAttribute := {"pointOfAccess", omit}; + var CseSimu v_cse1 := CseSimu.create("CSE1") alive; v_createRequest.primitiveContent.remoteCSE.pointOfAccess := {"http://" & PX_CSE1_ADDRESS & "/"}; - f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute); + v_cse1.start(f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute)); + v_cse1.done; } - testcase TC_CSE_REG_CRE_016_NL() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_016_NL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createRemoteCSEBase; const AttributeAux c_optionalAttribute := {"nodeLink", omit}; + var CseSimu v_cse1 := CseSimu.create("CSE1") alive; v_createRequest.primitiveContent.remoteCSE.nodeLink := c_defaultNodeID; - f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute); + v_cse1.start(f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute)); + v_cse1.done; } - function f_CSE_REG_CRE_016(template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on CseTester { + function f_CSE_REG_CRE_016(template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on CseSimu { // Local variables var MsgIn v_response; @@ -1191,14 +1307,17 @@ module OneM2M_Testcases { [] mccPort.receive(mw_response(mw_responsePrimitive(int2001, f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Accepted creation for resource type remoteCSE containing attribute " & p_optionalAttribute.name); + f_setResource(v_request.primitiveContent,int16); } [] mccPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); + f_setResource(v_request.primitiveContent,int16); } [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Accepted creation for resource type remoteCSE without containing attribute " & p_optionalAttribute.name); + f_setResource(v_request.primitiveContent,int16); } [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -1210,7 +1329,7 @@ module OneM2M_Testcases { } // Postamble - f_cse_postamble_deleteResources(); + f_cse_postamble_deleteResourcesCSE(); // Tear down f_cf04Down(); @@ -1223,7 +1342,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects an AE registration (not allowed App-ID) * */ - testcase TC_CSE_REG_CRE_018() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_019() runs on AeSimu system CseSystem { var MsgIn v_response; var RequestPrimitive v_request; @@ -1269,7 +1388,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an create request of <remoteCSE> resource with attributes multiplicity equals to 1. * */ - testcase TC_CSE_REG_CRE_022() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_022() runs on CseSimu system CseSystem { // Local variables var MsgIn v_response; @@ -1323,7 +1442,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an create request of <remoteCSE> resource with attributes multiplicity equals to 1 without the preconfigured CSE-ID * */ - testcase TC_CSE_REG_CRE_023() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_023() runs on CseSimu system CseSystem { // Local variables var MsgIn v_response; @@ -1373,7 +1492,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the create request of <CSEBase> resource. * */ - testcase TC_CSE_REG_CRE_025() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_025() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; @@ -1392,9 +1511,9 @@ module OneM2M_Testcases { v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); // Test Body - v_request := f_getCreateRequestPrimitive(v_resourceType, m_createCSEBaseBase, -1); - v_request.from_ := f_getOriginator(v_aeIndex); - + v_request := f_getCreateRequestPrimitive(v_resourceType, m_createCSEBaseBase, -1); + v_request.from_ := f_getOriginator(v_aeIndex); + mcaPort.send(m_request(v_request)); tc_ac.start; alt { @@ -1417,13 +1536,60 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - }//end TC_CSE_REG_CRE_024 + }//end TC_CSE_REG_CRE_025 + + /** + * @desc Check that the IUT rejects the create request of <CSEBase> resource. + * + */ + testcase TC_CSE_REG_CRE_027() runs on AeSimu system CseSystem { + + // Local variables + var RequestPrimitive v_request; + var integer v_cseBaseIndex := -1; + var ResourceType v_resourceType := int2; + + // Test control + + // Test component configuration + f_cf02Up(); + + // Test adapter configuration + + // Preamble + vc_cseSimu.start(f_cse_registrationRemoteCse(mw_createRemoteCSEBase)); + + // Test Body + f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit)); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": AE creation successful."); + } + [] mcaPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating AE"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf02Down(); + + }//end TC_CSE_REG_CRE_027 /** * @desc Check that the IUT rejects registration of already registered AE (C-AE-ID-STEM provided by AE) * */ - testcase TC_CSE_REG_CRE_026() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_028() runs on AeSimu system CseSystem { var MsgIn v_response; var RequestPrimitive v_request; @@ -1469,6 +1635,47 @@ module OneM2M_Testcases { } + testcase TC_CSE_REG_CRE_029() runs on CseSimu system CseSystem { + + var MsgIn v_response; + + var RequestPrimitive v_request; + var RequestPrimitive v_createRequestPrimitive := valueof(m_createRemoteCSEBase); + var ResourceType v_resourceType := int16; + + // Test control + + // Test component configuration + f_cf04Up(); + + // Test adapter configuration + + // Preamble + v_request := f_getCreateRequestPrimitive(v_resourceType, v_createRequestPrimitive, -1); + + tc_ac.start; + alt { + [] mccPort.receive(mw_request(mw_createRemoteCSEBase(PX_CSE_ID,f_getResourceAddress(-1)))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type remoteCSE created successfully"); + } + [] mccPort.receive { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating resource type remoteCSE"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type remoteCSE"); + } + } + + // Postamble + f_cse_postamble_deleteResourcesCSE(); + + // Tear down + f_cf04Down(); + + } + } //end group Create @@ -1479,7 +1686,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an retrieval request of <CSEBase> resource and responds with all attributes that have multiplicity equals to 1. * */ - testcase TC_CSE_REG_RET_001() runs on CseTester system CseSystem { + testcase TC_CSE_REG_RET_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; @@ -1536,7 +1743,7 @@ module OneM2M_Testcases { * @desc Check that if the IUT is IN-CSE, it accepts an retrieval request of <CSEBase> resource and returns the cseType attribute. cseType Attribute is mandatory for IN-CSE * */ - testcase TC_CSE_REG_RET_005() runs on CseTester system CseSystem { + testcase TC_CSE_REG_RET_005() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; @@ -1561,7 +1768,7 @@ module OneM2M_Testcases { v_contentResponse.cSEBase := mw_contentCSEBase_rc1; mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(), f_getOriginator(v_aeIndex))));//TODO Maybe PX_SUPER_AE_ID - + tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response { @@ -1606,7 +1813,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts a retrieval request of <CSEBase> resource and responds with supportedResourceTypes attribute containing a list of the supported resources and pointOfAccess containing the list of physical addresses to be used by Registree to connect to this CSE (e.g. IP address, FQDN). * */ - testcase TC_CSE_REG_RET_008() runs on CseTester system CseSystem { + testcase TC_CSE_REG_RET_008() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; @@ -1679,14 +1886,14 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the update request of <CSEBase> resource. * */ - testcase TC_CSE_REG_UPD_001() runs on CseTester system CseSystem { + testcase TC_CSE_REG_UPD_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateCSEBaseBase; - const integer c_cseBaseIndex := -1; + const integer c_cseBaseIndex := -1; // Test control // Test component configuration @@ -1733,7 +1940,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the delete request of <CSEBase> resource. * */ - testcase TC_CSE_REG_DEL_001() runs on CseTester system CseSystem { + testcase TC_CSE_REG_DEL_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var RequestPrimitive v_request; @@ -1789,16 +1996,17 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource on the TARGET_RESOURCE_ADDRESS of type PARENT_RESOURCE_TYPE with resource name not provided * */ - testcase TC_CSE_DMR_CRE_001_CNT_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_CNT_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;//TODO useless but need to be initialized see if we can remove it + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.container.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, -, v_notifyHandler); //Container - - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int3, v_createRequest, -)); //Container + v_ae1.done; + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -1806,16 +2014,19 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_CNT_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_CNT_AE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.container.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, m_createAeAux(omit,omit),v_notifyHandler);//Container - - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int3, v_createRequest, m_createAeAux(omit,omit)));//Container + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -1823,16 +2034,20 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_CNT_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_CNT_CNT() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.container.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, m_createContainerBase, v_notifyHandler);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int3, v_createRequest, m_createContainerBase));//Container + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -1840,16 +2055,20 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_GRP_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_GRP_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createGroupBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.group_.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int9, v_createRequest, -, v_notifyHandler);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int9, v_createRequest, -));//Group + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -1857,16 +2076,20 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_GRP_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_GRP_AE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createGroupBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.group_.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int9, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int9, v_createRequest, m_createAeAux(omit,omit)));//Group + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -1874,16 +2097,20 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_ACP_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_ACP_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createAcpBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; - + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int1, v_createRequest, -, v_notifyHandler);//AccessControlPolicy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int1, v_createRequest, -));//AccessControlPolicy + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -1891,133 +2118,162 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_ACP_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_ACP_AE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createAcpBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int1, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//AccessControlPolicy - if(getverdict == pass){ - if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ - setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); - } + v_ae1.start(f_CSE_DMR_CRE_001(int1, v_createRequest, m_createAeAux(omit,omit)));//AccessControlPolicy + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } + } } - testcase TC_CSE_DMR_CRE_001_SCH_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SCH_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createScheduleBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.schedule.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int18, v_createRequest, -, v_notifyHandler);//Schedule + v_ae1.start(f_CSE_DMR_CRE_001(int18, v_createRequest, -));//Schedule + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); - } + } } } - testcase TC_CSE_DMR_CRE_001_SCH_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SCH_AE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createScheduleBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.schedule.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int18, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Schedule - - if(getverdict == pass){ - if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ - setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); - } - } + v_ae1.start(f_CSE_DMR_CRE_001(int18, v_createRequest, m_createAeAux(omit,omit)));//Schedule + v_ae1.done; + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); + } } + + } - testcase TC_CSE_DMR_CRE_001_SCH_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SCH_SUB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createScheduleBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.schedule.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int18, v_createRequest, m_createSubscriptionBase, v_notifyHandler);//Schedule + v_ae1.start(f_CSE_DMR_CRE_001(int18, v_createRequest, m_createSubscriptionBase));//Schedule + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); - } + } } } - testcase TC_CSE_DMR_CRE_001_PCH_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_PCH_AE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.pollingChannel.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int15, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//PollingChannel - if(getverdict == pass){ - if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){ - setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); - } - } + v_ae1.start(f_CSE_DMR_CRE_001(int15, v_createRequest, m_createAeAux(omit,omit)));//PollingChannel + v_ae1.done; + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){ + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); + } } + + } - testcase TC_CSE_DMR_CRE_001_SUB_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SUB_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.subscription.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, -, v_notifyHandler);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, -));//Subscription + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); - } + } } } - testcase TC_CSE_DMR_CRE_001_SUB_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SUB_AE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.subscription.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAeAux(omit,omit)));//Subscription + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } - } + } - testcase TC_CSE_DMR_CRE_001_SUB_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SUB_CNT() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.subscription.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createContainerBase, v_notifyHandler);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createContainerBase));//Subscription + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -2025,61 +2281,77 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_SUB_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SUB_ACP() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.subscription.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAcpBase, v_notifyHandler);//Subscription - if(getverdict == pass){ - if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ - setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); - } - } + v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAcpBase));//Subscription + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); + } } + } - testcase TC_CSE_DMR_CRE_001_SUB_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SUB_SCH() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.subscription.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createScheduleBase, v_notifyHandler);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createScheduleBase));//Subscription + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); - } + } } } - testcase TC_CSE_DMR_CRE_001_SUB_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_SUB_GRP() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; - + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_createRequest.primitiveContent.subscription.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createGroupBase, v_notifyHandler);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createGroupBase));//Subscription + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } } - testcase TC_CSE_DMR_CRE_001_NOD_CB() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_CRE_001_NOD_CB() runs on Tester system CseSystem { + // Local variables var template RequestPrimitive v_createRequest := m_createNodeBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.node.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int14, v_createRequest, -, v_notifyHandler);//Node - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int14, v_createRequest, -));//Node + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -2087,15 +2359,19 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_MGC_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_MGC_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createMgmtCmdBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.mgmtResource.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int12, v_createRequest, -, v_notifyHandler);//Management Command - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int12, v_createRequest, -));//Management Command + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.mgmtResource.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -2103,15 +2379,19 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_LCP_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_LCP_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createLocationPolicyBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.locationPolicy.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int10, v_createRequest, -, v_notifyHandler);//Location Policy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int10, v_createRequest, -));//Location Policy + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.locationPolicy.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -2119,31 +2399,39 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_STCG_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_STCG_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createStatsConfigBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.statsConfig.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int22, v_createRequest, -, v_notifyHandler);//Stats Config - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int22, v_createRequest, -));//Stats Config + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } } - testcase TC_CSE_DMR_CRE_001_STCL_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_STCL_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createStatsCollectBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.statsCollect.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int21, v_createRequest, -, v_notifyHandler);//Stats Collect - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int21, v_createRequest, -));//Stats Collect + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -2151,15 +2439,19 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_MSSP_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_MSSP_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createM2mServiceSubscriptionProfileBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.m2mServiceSubscriptionProfile.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int11, v_createRequest, -, v_notifyHandler);//Subscription Profile - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int11, v_createRequest, -));//Subscription Profile + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -2167,15 +2459,19 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_ASAR_CB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_ASAR_CB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createServiceSubscribedAppRuleBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.serviceSubscribedAppRule.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int19, v_createRequest, -, v_notifyHandler);//Service Subscribed App - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_CRE_001(int19, v_createRequest, -));//Service Subscribed App + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } @@ -2183,104 +2479,115 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_001_CIN_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_001_CIN_CNT() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContentInstanceBase; var ResponsePrimitive v_responsePrimitive; - var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; - + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_createRequest.primitiveContent.contentInstance.resourceName := omit; - v_responsePrimitive := f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase, v_notifyHandler);//Subscription - if(getverdict == pass){ - if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ + v_ae1.start(f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase));//ContentInstance + v_ae1.done; + + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); + if(not ispresent(v_responsePrimitive.primitiveContent.contentInstance.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } } - function f_CSE_DMR_CRE_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in CseTester p_notifyHandler) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_CRE_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu return ResponsePrimitive { - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; var integer v_parentIndex := -1; - var integer v_resourceIndex := -1; + var integer v_resourceIndex := -1; var integer v_ae2Index := -1; var integer v_acpAuxIndex := -1; var PoaList v_poaList := {"http://" & PX_AE2_ADDRESS & "/"}; - // Test control - - // Test component configuration - f_cf01Up(); + // Test control - // Test adapter configuration + // Test component configuration + f_cf01Up(true); + + // Test adapter configuration - // Preamble + // Preamble if(ispresent(p_parentRequestPrimitive)) { if(match(int23, p_parentRequestPrimitive.resourceType)){ - v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred + vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1)); // AE2 is registred + vc_ae2.done; + v_ae2Index := f_getResource(vc_ae2); p_parentRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; - p_notifyHandler.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_parentIndex)); + vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler()); } - if(ischosen(p_parentRequestPrimitive.primitiveContent.group_)){ - + f_cse_preamble_registerAe(); - + } v_parentIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_parentIndex); + + + } else {//Resource under CSEBase if(p_resourceType != int1) { - + v_acpAuxIndex := f_cse_createAccessControlPolicyAux(-, -, -); - + p_requestPrimitive := f_setAcpId(p_requestPrimitive, {vc_resourcesList[v_acpAuxIndex].resource.accessControlPolicy.resourceID}); } if(ischosen(p_requestPrimitive.primitiveContent.group_)){ - + f_cse_preamble_registerAe(); - + } - - } + + } - // Test Body + // Test Body if(match(int23, p_requestPrimitive.resourceType)){ - v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred + vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1)); // AE2 is registred + vc_ae2.done; + v_ae2Index := f_getResource(vc_ae2); p_requestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; - p_notifyHandler.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_parentIndex)); + vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler()); } - v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex); - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); - v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_parentIndex); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex); + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); + f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_parentIndex); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(p_resourceType))); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); - } - } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(p_resourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is present or not if (f_isResourcePresent(v_resourceIndex)){ @@ -2289,18 +2596,15 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); } - // Postamble - f_cse_postamble_deleteResources(); - vc_resourcesIndexToBeDeleted := {}; - + // Postamble + f_cse_postamble_deleteResources(); + // Tear down - //notifyHandler.stop; f_cf01Down(); - - return v_response.primitive.responsePrimitive; + return vc_response.primitive.responsePrimitive; - }//end f_CSE_DMR_CRE_001 + }//end f_CSE_DMR_CRE_001 } // end g_CSE_DMR_CRE_001 @@ -2311,13 +2615,17 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with a non-existing resource name provided by AE * */ - testcase TC_CSE_DMR_CRE_002_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_002_CNT() runs on Tester system CseSystem { // Local variables - var ResponsePrimitive v_responsePrimitive; - - v_responsePrimitive := f_CSE_DMR_CRE_002(int3, m_createContainerBase);//container + var ResponsePrimitive v_responsePrimitive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_002(int3, m_createContainerBase));//container + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { @@ -2326,15 +2634,20 @@ module OneM2M_Testcases { } } } + } - testcase TC_CSE_DMR_CRE_002_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_002_GRP() runs on Tester system CseSystem { // Local variables var ResponsePrimitive v_responsePrimitive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_002(int9, m_createGroupBase));//group + v_ae1.done; - v_responsePrimitive := f_CSE_DMR_CRE_002(int9, m_createGroupBase);//group - - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { @@ -2345,13 +2658,17 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_CRE_002_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_002_ACP() runs on Tester system CseSystem { // Local variables var ResponsePrimitive v_responsePrimitive; - - v_responsePrimitive := f_CSE_DMR_CRE_002(int1, m_createAcpBase );//accessControlPolicy + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_002(int1, m_createAcpBase ));//accessControlPolicy + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { @@ -2362,13 +2679,17 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_CRE_002_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_002_SCH() runs on Tester system CseSystem { // Local variables var ResponsePrimitive v_responsePrimitive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_002(int18, m_createScheduleBase));//Schedule + v_ae1.done; - v_responsePrimitive := f_CSE_DMR_CRE_002(int18, m_createScheduleBase);//Schedule - - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { @@ -2378,13 +2699,17 @@ module OneM2M_Testcases { } } } - testcase TC_CSE_DMR_CRE_002_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_002_PCH() runs on Tester system CseSystem { // Local variables var ResponsePrimitive v_responsePrimitive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_002(int15, m_createPollingChannelBase));//Pollingchannel + v_ae1.done; - v_responsePrimitive := f_CSE_DMR_CRE_002(int15, m_createPollingChannelBase);//Pollingchannel - - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { @@ -2395,13 +2720,17 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_CRE_002_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_002_SUB() runs on Tester system CseSystem { // Local variables var ResponsePrimitive v_responsePrimitive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_002(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; - v_responsePrimitive := f_CSE_DMR_CRE_002(int23, m_createSubscriptionBase);//Subscription - - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { @@ -2412,27 +2741,26 @@ module OneM2M_Testcases { } } - function f_CSE_DMR_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester return ResponsePrimitive{//system CseSystem { MRO system keyword not supported on functions in Titan + function f_CSE_DMR_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu return ResponsePrimitive{//system CseSystem { MRO system keyword not supported on functions in Titan // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; var integer v_resourceIndex := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); // Test Body v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -2440,16 +2768,17 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); - v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); + f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(p_resourceType))); } @@ -2458,7 +2787,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is present or not if(f_isResourcePresent(v_resourceIndex)){ @@ -2468,11 +2797,11 @@ module OneM2M_Testcases { } // Postamble f_cse_postamble_deleteResources(); - + // Tear down f_cf01Down(); - return v_response.primitive.responsePrimitive; + return vc_response.primitive.responsePrimitive; }//end f_CSE_DMR_CRE_002 @@ -2485,98 +2814,116 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the creation of a RESOURCE_TYPE resource with an existing resource name provided by AE * */ - testcase TC_CSE_DMR_CRE_003_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_003_CNT() runs on Tester system CseSystem { // Local variables - - f_CSE_DMR_CRE_003(int3, m_createContainerBase);//container + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_003(int3, m_createContainerBase));//container + v_ae1.done; } - testcase TC_CSE_DMR_CRE_003_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_003_GRP() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_003(int9, m_createGroupBase);//group + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_003(int9, m_createGroupBase));//group + v_ae1.done; } - testcase TC_CSE_DMR_CRE_003_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_003_ACP() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_003(int1, m_createAcpBase);//accessControlPolicy + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_003(int1, m_createAcpBase));//accessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_CRE_003_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_003_SCH() runs on Tester system CseSystem { // Local variables - - f_CSE_DMR_CRE_003(int18, m_createScheduleBase);//Schedule + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_003(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_CRE_003_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_003_PCH() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_003(int15, m_createPollingChannelBase);//Pollingchannel + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_003(int15, m_createPollingChannelBase));//Pollingchannel + v_ae1.done; } - testcase TC_CSE_DMR_CRE_003_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_003_SUB() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_003(int23, m_createSubscriptionBase);//Subscription + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_003(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_CRE_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {//system CseSystem { MRO system keyword not supported on functions in Titan + function f_CSE_DMR_CRE_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu {//system CseSystem { MRO system keyword not supported on functions in Titan - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(true); - // Test adapter configuration + // Test adapter configuration - // Preamble + // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi) - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); + if(p_resourceType == int23){ + vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler()); + } v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); - // Test Body + // Test Body v_request.requestIdentifier := "Existing resource"; - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4105))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource already exists"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating an already existing resource"); - } + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4105))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource already exists"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating an already existing resource"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Creating a resource that already exists"); } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }//end f_CSE_DMR_CRE_003 + }//end f_CSE_DMR_CRE_003 }// end group g_CSE_DMR_CRE_003 @@ -2586,43 +2933,61 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the creation of a RESOURCE_TYPE resource when AE has no privileges * */ - testcase TC_CSE_DMR_CRE_004_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_004_CNT() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_004(int3, m_createContainerBase);//container + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_004(int3, m_createContainerBase));//container + v_ae1.done; } - testcase TC_CSE_DMR_CRE_004_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_004_GRP() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_004(int9, m_createGroupBase);//group + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_004(int9, m_createGroupBase));//group + v_ae1.done; } - testcase TC_CSE_DMR_CRE_004_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_004_ACP() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_004(int1, m_createAcpBase);//accessControlPolicy + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_004(int1, m_createAcpBase));//accessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_CRE_004_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_004_SCH() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_004(int18, m_createScheduleBase);//Schedule + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_004(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_CRE_004_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_004_PCH() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_004(int15, m_createPollingChannelBase);//Pollingchannel + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_004(int15, m_createPollingChannelBase));//Pollingchannel + v_ae1.done; } - testcase TC_CSE_DMR_CRE_004_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_004_SUB() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_004(int23, m_createSubscriptionBase);//Subscription + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_004(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_CRE_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {//system CseSystem { MRO system keyword not supported on functions in Titan + function f_CSE_DMR_CRE_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu {//system CseSystem { MRO system keyword not supported on functions in Titan // Local variables var MsgIn v_response; @@ -2673,7 +3038,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -2698,42 +3063,48 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the CREATE Request of container resource when the RW ATTRIBUTE is provided with an invalid value * */ - testcase TC_CSE_DMR_CRE_005_MNI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_005_MNI() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AttributeAux v_invalidAttribute; - + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_createRequest.primitiveContent.container.maxNrOfInstances := 0; v_invalidAttribute := {name := "maxNrOfInstances", value_ := "-1"}; - f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute); + v_ae1.start(f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_005_MBS() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_005_MBS() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AttributeAux v_invalidAttribute; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.container.maxByteSize := 0; v_invalidAttribute := {name := "maxByteSize", value_ := "-1"}; - f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute); + v_ae1.start(f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_005_MIA() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_005_MIA() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AttributeAux v_invalidAttribute; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.container.maxInstanceAge := 0; v_invalidAttribute := {name := "maxInstanceAge", value_ := "-1"}; - f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute); + v_ae1.start(f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute)); + v_ae1.done; } - function f_CSE_DMR_CRE_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_invalidAttribute) runs on CseTester { + function f_CSE_DMR_CRE_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_invalidAttribute) runs on AeSimu { // Local variables var MsgIn v_response; @@ -2753,7 +3124,7 @@ module OneM2M_Testcases { // Test Body v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); - mcaPort.send(m_request(v_request, {p_invalidAttribute})); + mcaPort.send(m_request(v_request, {p_invalidAttribute})); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { @@ -2773,7 +3144,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -2799,28 +3170,36 @@ module OneM2M_Testcases { * @desc Check that the IUT returns a default value to RW ATTRIBUTE in the response of a <container> CREATE Request where no a RW ATTRIBUTE is provided by AE * */ - testcase TC_CSE_DMR_CRE_006_MNI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_006_MNI() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - v_responsePrimitive := f_CSE_DMR_CRE_006(int3, v_createRequest); + v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest)); + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.maxNrOfInstances)){ setverdict(fail, __SCOPE__, ": Error, maxNrOfInstances attribute not provided"); } } } - testcase TC_CSE_DMR_CRE_006_MBS() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_006_MBS() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - v_responsePrimitive := f_CSE_DMR_CRE_006(int3, v_createRequest); + v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest)); + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.maxByteSize)){ setverdict(fail, __SCOPE__, ": Error, maxByteSize attribute not provided"); } @@ -2828,27 +3207,31 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_CRE_006_MIA() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_006_MIA() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest)); + v_ae1.done; - v_responsePrimitive := f_CSE_DMR_CRE_006(int3, v_createRequest); - - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.maxInstanceAge)){ setverdict(fail, __SCOPE__, ": Error, maxInstanceAge attribute not provided"); } } } - function f_CSE_DMR_CRE_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_CRE_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu return ResponsePrimitive { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; + var integer v_resourceIndex := -1; // Test control @@ -2866,16 +3249,17 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType))); - v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); + f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType))); } @@ -2884,14 +3268,14 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); - //Check to see if the resource is present or not - if(f_isResourcePresent(v_resourceIndex)){ + //Check to see if the resource is present or not + if(f_isResourcePresent(v_resourceIndex)){ setverdict(pass, __SCOPE__ & ":INFO: Resource created"); - } else { + } else { setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); - } + } // Postamble f_cse_postamble_deleteResources(); @@ -2899,7 +3283,7 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - return v_response.primitive.responsePrimitive; + return vc_response.primitive.responsePrimitive; }//end f_CSE_DMR_CRE_006 @@ -2911,7 +3295,7 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with error when the newly created <contentInstance> results in that the field value of attribute currentNrOfInstances exceeds the field value of maxNrOfInstances in the parent container resource. * */ - testcase TC_CSE_DMR_CRE_007() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_007() runs on AeSimu system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var MsgIn v_response; @@ -2957,7 +3341,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){ @@ -2982,7 +3366,7 @@ module OneM2M_Testcases { * @desc Checks that the IUT accepts a newly created contentInstance when the currentByteSize exceeds the field value set in maxByteSize in the parent container resource by removing enough of the oldest <contentInstance> resources to allow the creation of the new <contentInstance> resource. * */ - testcase TC_CSE_DMR_CRE_008() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_008() runs on AeSimu system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var MsgIn v_response; @@ -3029,7 +3413,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is present or not if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){ @@ -3054,7 +3438,7 @@ module OneM2M_Testcases { * @desc Check that the IUT increaments and then copies the field value of attribute stateTag in parent container resource when contentInstance resource is created as the direct child of the parent container * */ - testcase TC_CSE_DMR_CRE_009() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_009() runs on AeSimu system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var MsgIn v_response; @@ -3082,33 +3466,33 @@ module OneM2M_Testcases { v_contentResponse.container := mw_contentContainerBase; - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Response OK for retrieving"); - if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == vc_resourcesList[v_containerIndex].resource.container.stateTag + 1) { + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Response OK for retrieving"); + if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == vc_resourcesList[v_containerIndex].resource.container.stateTag + 1) { setverdict(pass, __SCOPE__ & ": stateTag attribute increased after creation of contentInstance resource"); - } else { + } else { setverdict(fail, __SCOPE__ & ": stateTag attribute not incremented correctly after creation of contentInstance resource"); - } - } + } + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); - } - } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); + } + } // Postamble f_cse_postamble_deleteResources(); @@ -3126,7 +3510,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the CREATE Request of a container resource named “la†as a direct child of a container resource * */ - testcase TC_CSE_DMR_CRE_010() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_010() runs on AeSimu system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var MsgIn v_response; @@ -3173,7 +3557,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){ @@ -3198,7 +3582,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the CREATE Request of a container resource named “ol†as a direct child of a container resource * */ - testcase TC_CSE_DMR_CRE_011() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_011() runs on AeSimu system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var MsgIn v_response; @@ -3245,7 +3629,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){ @@ -3270,62 +3654,78 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully after a CREATE request an empty content of created resource when the ResultContent set to 0 (Nothing) * */ - testcase TC_CSE_DMR_CRE_012_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_012_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_CRE_012(int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_CRE_012(int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_CRE_012_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_012_GRP() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_012(int9, m_createGroupBase);//Group + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_012(int9, m_createGroupBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_CRE_012_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_012_ACP() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_012(int1, m_createAcpBase);//AccessControlPolicy + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_012(int1, m_createAcpBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_CRE_012_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_012_SCH() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_012(int18, m_createScheduleBase);//Schedule + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_012(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_CRE_012_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_012_PCH() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_012(int15, m_createPollingChannelBase);//PollingChannel + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_012(int15, m_createPollingChannelBase));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_CRE_012_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_012_SUB() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_CRE_012(int23, m_createSubscriptionBase);//Subscription + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_DMR_CRE_012(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_CRE_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_DMR_CRE_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_ae2Index := -1; - var CseTester v_notifyHandler; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); // Test Body v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -3371,80 +3771,91 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully after a CREATE request only hierarchichal address of the created resource when the Result Content is set to 2 (hierarchical address) * */ - testcase TC_CSE_DMR_CRE_013_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_013_CNT() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.uRI := mw_contentContainer_rc2; - f_CSE_DMR_CRE_013(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_CRE_013(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_CRE_013_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_013_GRP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.uRI := mw_contentGroup_rc2; - f_CSE_DMR_CRE_013(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_CRE_013(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_CRE_013_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_013_ACP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; - + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_contentResponse.uRI := mw_contentAcp_rc2; - f_CSE_DMR_CRE_013(int1, m_createAcpBase,v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_CRE_013(int1, m_createAcpBase,v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_CRE_013_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_013_SCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; - + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_contentResponse.uRI := mw_contentSchedule_rc2; - f_CSE_DMR_CRE_013(int18, m_createScheduleBase, v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_CRE_013(int18, m_createScheduleBase, v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_CRE_013_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_013_PCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; - + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_contentResponse.uRI := mw_contentPollingChannel_rc2; - f_CSE_DMR_CRE_013(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel + v_ae1.start(f_CSE_DMR_CRE_013(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_CRE_013_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_013_SUB() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; - + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_contentResponse.uRI := mw_contentSubscription_rc2; - f_CSE_DMR_CRE_013(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_CRE_013(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_CRE_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_CRE_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_ae2Index := -1; - var CseTester v_notifyHandler; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); // Test Body v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -3480,9 +3891,10 @@ module OneM2M_Testcases { // Postamble f_cse_postamble_deleteResources(); - + // Tear down f_cf01Down(); + }//end f_CSE_DMR_CRE_013 @@ -3494,81 +3906,92 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully after a CREATE request only attributes and hierarchichal address of the created resource when Result Content is set 3 (attributes and hierarchichal address) * */ - testcase TC_CSE_DMR_CRE_014_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_014_CNT() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentContainer_rc3; - f_CSE_DMR_CRE_014(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_CRE_014(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_CRE_014_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_014_GRP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentGroup_rc3; - f_CSE_DMR_CRE_014(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_CRE_014(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_CRE_014_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_014_ACP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentAcp_rc3; - f_CSE_DMR_CRE_014(int1, m_createAcpBase,v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_CRE_014(int1, m_createAcpBase,v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_CRE_014_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_014_SCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentSchedule_rc3; - f_CSE_DMR_CRE_014(int18, m_createScheduleBase, v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_CRE_014(int18, m_createScheduleBase, v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_CRE_014_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_014_PCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentPollingChannel_rc3; - f_CSE_DMR_CRE_014(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel + v_ae1.start(f_CSE_DMR_CRE_014(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_CRE_014_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_014_SUB() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentSubscription_rc3; - f_CSE_DMR_CRE_014(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_CRE_014(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_CRE_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_CRE_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_ae2Index := -1; - var CseTester v_notifyHandler; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); - + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); + // Test Body v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); v_request.resultContent := int3;//Attributes + Hierarchichal Address @@ -3617,344 +4040,405 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute OPTIONAL_ATTRIBUTE provided * */ - testcase TC_CSE_DMR_CRE_015_CNT_ACPI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_CNT_ACPI() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit}; v_createRequest.primitiveContent.container.accessControlPolicyIDs := {"NotInitialized"}; - f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CNT_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_CNT_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; const AttributeAux c_optionalAttribute := {"expirationTime", omit}; v_createRequest.primitiveContent.container.expirationTime := "20301231T012345"; - f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CNT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_CNT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; const AttributeAux c_optionalAttribute := {"labels", omit}; v_createRequest.primitiveContent.container.labels := {"MyLabel"}; - f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CNT_MNI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_CNT_MNI() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; const AttributeAux c_optionalAttribute := {"maxNrOfInstances", omit}; v_createRequest.primitiveContent.container.maxNrOfInstances := 0; - f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CNT_MBS() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_CNT_MBS() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; const AttributeAux c_optionalAttribute := {"maxByteSize", omit}; v_createRequest.primitiveContent.container.maxByteSize := 0; - f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CNT_MIA() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_CNT_MIA() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; const AttributeAux c_optionalAttribute := {"maxInstanceAge", omit}; v_createRequest.primitiveContent.container.maxInstanceAge := 0; - f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CNT_OR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_CNT_OR() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; const AttributeAux c_optionalAttribute := {"ontologyRef", omit}; v_createRequest.primitiveContent.container.ontologyRef := "MyOntologyRef"; - f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CIN_ET() runs on CseTester system CseSystem {//TODO + testcase TC_CSE_DMR_CRE_015_CIN_ET() runs on Tester system CseSystem {//TODO // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContentInstanceBase; const AttributeAux c_optionalAttribute := {"expirationTime", omit}; v_createRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345"; - f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CIN_LBL() runs on CseTester system CseSystem {//TODO + testcase TC_CSE_DMR_CRE_015_CIN_LBL() runs on Tester system CseSystem {//TODO // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContentInstanceBase; const AttributeAux c_optionalAttribute := {"labels", omit}; v_createRequest.primitiveContent.contentInstance.labels := {"MyLabel"}; - f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CIN_CR() runs on CseTester system CseSystem {//TODO + testcase TC_CSE_DMR_CRE_015_CIN_CR() runs on Tester system CseSystem {//TODO // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContentInstanceBase; const AttributeAux c_optionalAttribute := {"creator", omit}; v_createRequest.primitiveContent.contentInstance.creator := "MyCreator"; - f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CIN_CNF() runs on CseTester system CseSystem {//TODO + testcase TC_CSE_DMR_CRE_015_CIN_CNF() runs on Tester system CseSystem {//TODO // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContentInstanceBase; const AttributeAux c_optionalAttribute := {"contentInfo", omit}; v_createRequest.primitiveContent.contentInstance.contentInfo := "MyContentInfo"; - f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_CIN_OR() runs on CseTester system CseSystem {//TODO + testcase TC_CSE_DMR_CRE_015_CIN_OR() runs on Tester system CseSystem {//TODO // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContentInstanceBase; const AttributeAux c_optionalAttribute := {"ontologyRef", omit}; v_createRequest.primitiveContent.contentInstance.ontologyRef := "MyOntologyRef"; - f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_ACP_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_ACP_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createAcpBase; const AttributeAux c_optionalAttribute := {"expirationTime", omit}; v_createRequest.primitiveContent.accessControlPolicy.expirationTime := "20301231T012345"; - f_CSE_DMR_CRE_015(int1, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int1, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createAcpBase; const AttributeAux c_optionalAttribute := {"labels", omit}; v_createRequest.primitiveContent.accessControlPolicy.labels := {"MyLabel"}; - f_CSE_DMR_CRE_015(int1, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int1, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_ACPI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_ACPI() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit}; v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := {"NotInitialized"}; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"expirationTime", omit}; v_createRequest.primitiveContent.subscription.expirationTime := "20301231T012345"; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"labels", omit}; v_createRequest.primitiveContent.subscription.labels := {"MyLabel"}; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_ENC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_ENC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"eventNotificationCriteria", omit}; v_createRequest.primitiveContent.subscription.eventNotificationCriteria := valueof(m_eventNotificationCriteria({int1}, -)); - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_EXC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_EXC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"expirationCounter", omit}; v_createRequest.primitiveContent.subscription.expirationCounter := 1; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_GPI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_GPI() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"groupID", omit}; v_createRequest.primitiveContent.subscription.groupID := "MyGroupID"; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_NFU() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_NFU() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"notificationForwardingURI", omit}; v_createRequest.primitiveContent.subscription.notificationForwardingURI := "MyForwardingURI"; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_BN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_BN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"batchNotify", omit}; v_createRequest.primitiveContent.subscription.batchNotify := {0, "PT1S"}; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); - + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_RL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_RL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"rateLimit", omit}; v_createRequest.primitiveContent.subscription.rateLimit := {0, omit}; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_PSN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_PSN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"preSubscriptionNotify", omit}; v_createRequest.primitiveContent.subscription.preSubscriptionNotify := 1; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_PN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_PN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"pendingNotification", omit}; v_createRequest.primitiveContent.subscription.pendingNotification := int1; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_NSP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_NSP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"notificationStoragePriority", omit}; v_createRequest.primitiveContent.subscription.notificationStoragePriority := 1; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_LN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_LN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"latestNotify", omit}; v_createRequest.primitiveContent.subscription.latestNotify := true; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_NCT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_NCT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"notificationContentType", omit}; v_createRequest.primitiveContent.subscription.notificationContentType := int1; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_NEC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_NEC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"notificationEventCat", omit}; v_createRequest.primitiveContent.subscription.notificationEventCat := {alt_1 := 100}; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_CR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_CR() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"creator", omit}; v_createRequest.primitiveContent.subscription.creator := "MyCreator"; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - testcase TC_CSE_DMR_CRE_015_SUB_SU() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_015_SUB_SU() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; const AttributeAux c_optionalAttribute := {"subscriberURI", omit}; v_createRequest.primitiveContent.subscription.subscriberURI := "MySubscriberURI"; - f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute); + v_ae1.start(f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute)); + v_ae1.done; } - function f_CSE_DMR_CRE_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on CseTester { + function f_CSE_DMR_CRE_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on AeSimu { // Local variables var MsgIn v_response; @@ -3962,10 +4446,9 @@ module OneM2M_Testcases { var integer v_containerIndex := -1; var integer v_parentIndex := -1; var integer v_acpAuxIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs"; - var integer v_resourceIndex := -1; + var integer v_resourceIndex := -1; // Test control if(match(c_accessControlPolicyIDs,p_optionalAttribute.name)) { @@ -3976,7 +4459,7 @@ module OneM2M_Testcases { } // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -3987,7 +4470,7 @@ module OneM2M_Testcases { v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_parentIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); if(p_resourceType == int4) { @@ -4004,6 +4487,7 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & p_optionalAttribute.name); + f_checkAttributesToBeSaved(p_resourceType, v_request, v_response.primitive.responsePrimitive); v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_parentIndex); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response { @@ -4023,14 +4507,14 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); - //Check to see if the resource is present or not - if(f_isResourcePresent(v_resourceIndex)) { - setverdict(pass, __SCOPE__ & ":INFO: Resource created"); - } else { + //Check to see if the resource is present or not + if(f_isResourcePresent(v_resourceIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); - } + } // Postamble f_cse_postamble_deleteResources(); @@ -4048,79 +4532,95 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announceTo provided * */ - testcase TC_CSE_DMR_CRE_016_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_016_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createAcpBase; v_createRequest.primitiveContent.accessControlPolicy.announceTo := {f_getAnnouncementTargetPoA()}; - f_CSE_DMR_CRE_016(int1, v_createRequest, mw_createAccessControlPolicyAnnc);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_CRE_016(int1, v_createRequest, mw_createAccessControlPolicyAnnc));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_CRE_016_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_016_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()}; - f_CSE_DMR_CRE_016(int3, v_createRequest, mw_createContainerAnncBase);//Container + v_ae1.start(f_CSE_DMR_CRE_016(int3, v_createRequest, mw_createContainerAnncBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_CRE_016_CIN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_016_CIN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContentInstanceBase; v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()}; - f_CSE_DMR_CRE_016(int4, v_createRequest, mw_createContentInstanceAnncBase);//ContentInstance + v_ae1.start(f_CSE_DMR_CRE_016(int4, v_createRequest, mw_createContentInstanceAnncBase));//ContentInstance + v_ae1.done; } - testcase TC_CSE_DMR_CRE_016_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_016_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createGroupBase; v_createRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()}; - f_CSE_DMR_CRE_016(int9, v_createRequest, mw_createGroupAnncBase);//Group + v_ae1.start(f_CSE_DMR_CRE_016(int9, v_createRequest, mw_createGroupAnncBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_CRE_016_LCP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_016_LCP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit); v_createRequest.primitiveContent.locationPolicy.announceTo := {f_getAnnouncementTargetPoA()}; - f_CSE_DMR_CRE_016(int10, v_createRequest, mw_createLocationPolicyAnncBase);//LocationPolicy + v_ae1.start(f_CSE_DMR_CRE_016(int10, v_createRequest, mw_createLocationPolicyAnncBase));//LocationPolicy + v_ae1.done; } - testcase TC_CSE_DMR_CRE_016_MGO() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_016_MGO() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createMgmtObjBase; v_createRequest.primitiveContent.mgmtResource.announceTo := {f_getAnnouncementTargetPoA()}; - f_CSE_DMR_CRE_016(int13, v_createRequest, mw_createMgmtObjAnncBase);//MgmtObj + v_ae1.start(f_CSE_DMR_CRE_016(int13, v_createRequest, mw_createMgmtObjAnncBase));//MgmtObj + v_ae1.done; } - testcase TC_CSE_DMR_CRE_016_NOD() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_016_NOD() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createNodeBase; v_createRequest.primitiveContent.node.announceTo := {f_getAnnouncementTargetPoA()}; - f_CSE_DMR_CRE_016(int14, v_createRequest, mw_createNodeAnnc);//Node + v_ae1.start(f_CSE_DMR_CRE_016(int14, v_createRequest, mw_createNodeAnnc));//Node + v_ae1.done; } - testcase TC_CSE_DMR_CRE_016_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_016_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createScheduleBase; v_createRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()}; - f_CSE_DMR_CRE_016(int18, v_createRequest, mw_createScheduleAnncBase);//Schedule + v_ae1.start(f_CSE_DMR_CRE_016(int18, v_createRequest, mw_createScheduleAnncBase));//Schedule + v_ae1.done; } - function f_CSE_DMR_CRE_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on CseTester { + function f_CSE_DMR_CRE_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu { // Local variables var MsgIn v_response; @@ -4147,20 +4647,9 @@ module OneM2M_Testcases { v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex); mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mccPort.receive(mw_request(p_requestAnnc)) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Correct CREATE request for the resource announced variant"); - } - [] mccPort.receive(mw_request(?)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong CREATE request received"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } + + vc_cseSimu.start(f_cse_receiveCreateRequest(p_requestAnnc)); + vc_cseSimu.done; // Postamble f_cse_postamble_deleteResources(); @@ -4178,20 +4667,24 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announcedAttribute provided * */ - testcase TC_CSE_DMR_CRE_017_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_017_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContainerBase; var RequestPrimitive v_requestPrimitive; var XSD.NonNegativeInteger maxByteSize := 512; //Correct value? Shall be indicated in TP? - v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()}; + //v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()}; + v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID}; v_createRequest.primitiveContent.container.maxByteSize := maxByteSize; v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"}; //Correct value? Shall be indicated in TP? - v_requestPrimitive := f_CSE_DMR_CRE_017(int3, v_createRequest, mw_createContainerAnncBase());//Container + v_ae1.start(f_CSE_DMR_CRE_017(int3, v_createRequest, mw_createContainerAnncBase()));//Container + v_ae1.done; - if(getverdict == pass){ + if(getverdict == pass){ //Check if maxByteSize attribute has been announced + v_requestPrimitive := f_getRequestPrimitive(v_ae1); if (ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){ if(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize != maxByteSize){ setverdict(fail, __SCOPE__ & ": Error: Value of maxByteSize has not been announced successfully"); @@ -4204,20 +4697,24 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_CRE_017_CIN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_017_CIN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createContentInstanceBase; var RequestPrimitive v_requestPrimitive; var XSD.NonNegativeInteger v_contentSize := 512; //Correct value? Shall be indicated in TP? - v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()}; + //v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()}; + v_createRequest.primitiveContent.contentInstance.announceTo := {PX_CSE1_ID}; v_createRequest.primitiveContent.contentInstance.contentSize := v_contentSize; v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"contentSize"}; //Correct value? Shall be indicated in TP? - v_requestPrimitive := f_CSE_DMR_CRE_017(int4, v_createRequest, mw_createContentInstanceAnncBase());//ContentInstance + v_ae1.start(f_CSE_DMR_CRE_017(int4, v_createRequest, mw_createContentInstanceAnncBase()));//ContentInstance + v_ae1.done; - if(getverdict == pass){ + if(getverdict == pass){ //Check if contentSize attribute has been announced + v_requestPrimitive := f_getRequestPrimitive(v_ae1); if (ispresent(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize)){ if(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize != v_contentSize){ setverdict(fail, __SCOPE__ & ": Error: Value of contentSize has not been announced successfully"); @@ -4230,8 +4727,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_CRE_017_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_017_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createGroupBase; var RequestPrimitive v_requestPrimitive; var XSD.PositiveInteger maxNrOfMembers := 10; //Correct value? Shall be indicated in TP? @@ -4240,10 +4738,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.group_.maxNrOfMembers := maxNrOfMembers; v_createRequest.primitiveContent.group_.announcedAttribute := {"maxNrOfMembers"}; //Correct value? Shall be indicated in TP? - v_requestPrimitive := f_CSE_DMR_CRE_017(int9, v_createRequest, mw_createGroupAnncBase());//Group + v_ae1.start(f_CSE_DMR_CRE_017(int9, v_createRequest, mw_createGroupAnncBase()));//Group + v_ae1.done; - if(getverdict == pass){ + if(getverdict == pass){ //Check if maxNrOfMembers attribute has been announced + v_requestPrimitive := f_getRequestPrimitive(v_ae1); if (ispresent(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers)){ if(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers != maxNrOfMembers){ setverdict(fail, __SCOPE__ & ": Error: Value of maxNrOfMembers has not been announced successfully"); @@ -4256,8 +4756,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_CRE_017_LCP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_017_LCP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit); var RequestPrimitive v_requestPrimitive; var LocationSource locationSource := int1;//Network-based //Correct value? Shall be indicated in TP? @@ -4266,10 +4767,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.locationPolicy.locationSource := locationSource; v_createRequest.primitiveContent.locationPolicy.announcedAttribute := {"locationSource"}; //Correct value? Shall be indicated in TP? - v_requestPrimitive := f_CSE_DMR_CRE_017(int10, v_createRequest, mw_createLocationPolicyAnncBase());//LocationPolicy + v_ae1.start(f_CSE_DMR_CRE_017(int10, v_createRequest, mw_createLocationPolicyAnncBase()));//LocationPolicy + v_ae1.done; - if(getverdict == pass){ + if(getverdict == pass){ //Check if locationSource attribute has been announced + v_requestPrimitive := f_getRequestPrimitive(v_ae1); if (ispresent(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource)){ if(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource != locationSource){ setverdict(fail, __SCOPE__ & ": Error: Value of locationSource has not been announced successfully"); @@ -4282,8 +4785,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_CRE_017_MGO() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_017_MGO() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createMgmtObjBase; var RequestPrimitive v_requestPrimitive; var XSD.String description := "Description of mgmtObj"; //Correct value? Shall be indicated in TP? @@ -4292,10 +4796,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.mgmtResource.description := description; v_createRequest.primitiveContent.mgmtResource.announcedAttribute := {"description"}; //Correct value? Shall be indicated in TP? - v_requestPrimitive := f_CSE_DMR_CRE_017(int13, v_createRequest, mw_createMgmtObjAnncBase());//MgmtObj + v_ae1.start(f_CSE_DMR_CRE_017(int13, v_createRequest, mw_createMgmtObjAnncBase()));//MgmtObj + v_ae1.done; - if(getverdict == pass){ + if(getverdict == pass){ //Check if description attribute has been announced + v_requestPrimitive := f_getRequestPrimitive(v_ae1); if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource.description)){ if(v_requestPrimitive.primitiveContent.announcedMgmtResource.description != description){ setverdict(fail, __SCOPE__ & ": Error: Value of description has not been announced successfully"); @@ -4308,8 +4814,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_CRE_017_NOD() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_017_NOD() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createNodeBase; var RequestPrimitive v_requestPrimitive; @@ -4317,11 +4824,13 @@ module OneM2M_Testcases { //TODO node to be done. hostedCSELink attribute (OA) to be added!!! - v_requestPrimitive := f_CSE_DMR_CRE_017(int14, v_createRequest, mw_createNodeAnnc);//Node + v_ae1.start(f_CSE_DMR_CRE_017(int14, v_createRequest, mw_createNodeAnnc));//Node + v_ae1.done; } - testcase TC_CSE_DMR_CRE_017_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_017_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_createRequest := m_createScheduleBase; var RequestPrimitive v_requestPrimitive; var ScheduleEntries scheduleElement := {{"0,0,0 1 2,1,1,*"}}; @@ -4330,10 +4839,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.schedule.scheduleElement := scheduleElement; //Correct value? Shall be indicated in TP? v_createRequest.primitiveContent.schedule.announcedAttribute := {"scheduleElement"}; //Correct value? Shall be indicated in TP? - v_requestPrimitive := f_CSE_DMR_CRE_017(int18, v_createRequest, mw_createScheduleAnncBase());//Schedule + v_ae1.start(f_CSE_DMR_CRE_017(int18, v_createRequest, mw_createScheduleAnncBase()));//Schedule + v_ae1.done; - if(getverdict == pass){ + if(getverdict == pass){ //Check if scheduleElement attribute has been announced + v_requestPrimitive := f_getRequestPrimitive(v_ae1); if (ispresent(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement)){ if(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement != scheduleElement){ setverdict(fail, __SCOPE__ & ": Error: Value of scheduleElement has not been announced successfully"); @@ -4346,13 +4857,16 @@ module OneM2M_Testcases { } } - function f_CSE_DMR_CRE_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on CseTester return RequestPrimitive{ + function f_CSE_DMR_CRE_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on AeSimu{ // Local variables var MsgIn v_anncRequest; var RequestPrimitive v_request; var integer v_parentIndex := -1; var integer v_containerIndex := -1; + var integer v_remoteCseIndex; + var integer v_aeAnncIndex; + var integer v_resourceIndex; // Test control @@ -4362,7 +4876,17 @@ module OneM2M_Testcases { // Test adapter configuration // Preamble - v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + if (PX_IUT_IS_MN_CSE == true) { + vc_cseSimu.start(f_cse_registrationRemoteCse(m_createRemoteCSEBase)); + }else if (PX_IUT_IS_IN_CSE == true) { + vc_cseSimu.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)); + } + vc_cseSimu.done; + + vc_cseSimu.start(f_cse_resourceAnnouncementHandler()); + v_resourceIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit)); + vc_cseSimu.done; if(p_resourceType == int4) { v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex); @@ -4371,30 +4895,20 @@ module OneM2M_Testcases { // Test Body v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex); - + + vc_cseSimu.start(f_cse_receiveCreateRequest(p_requestAnnc)); mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mccPort.receive(mw_request(p_requestAnnc)) -> value v_anncRequest { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Correct CREATE request for the resource announced variant"); - } - [] mccPort.receive(mw_request(?)) -> value v_anncRequest { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong CREATE request received"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } - + vc_cseSimu.done; + + vc_request.primitive.requestPrimitive := f_getRemoteCseRequestPrimitive(vc_cseSimu); + // Postamble f_cse_postamble_deleteResources(); - + // Tear down f_cf02Down(); - return v_anncRequest.primitive.requestPrimitive; + //return v_anncRequest.primitive.requestPrimitive; }//end f_CSE_DMR_CRE_017 @@ -4406,7 +4920,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the CREATE Request of a contentInstance resource with error “NOT_ACCEPTABLE†when contentSize exceeds maxByteSize * */ - testcase TC_CSE_DMR_CRE_020() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_020() runs on AeSimu system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var MsgIn v_response; @@ -4468,7 +4982,7 @@ module OneM2M_Testcases { * @desc Check that the IUT updates the currentByteSize attribute in a <container> parent resource when a new <contentInstance> resource is created. * */ - testcase TC_CSE_DMR_CRE_021() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_021() runs on AeSimu system CseSystem { // Local variables var template RequestPrimitive v_createRequest; var MsgIn v_response; @@ -4562,84 +5076,98 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully the TARGET_RESOURCE_ADDRESS resource * */ - testcase TC_CSE_DMR_RET_001_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_001_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ResponsePrimitive v_responsePrimitive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc1; - v_responsePrimitive := f_CSE_DMR_RET_001(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_RET_001(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_001_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_001_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ResponsePrimitive v_responsePrimitive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc1; - v_responsePrimitive := f_CSE_DMR_RET_001(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_RET_001(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_001_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_001_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ResponsePrimitive v_responsePrimitive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc1; - v_responsePrimitive := f_CSE_DMR_RET_001(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_001(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_001_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_001_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ResponsePrimitive v_responsePrimitive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := mw_contentSchedule_rc1; - v_responsePrimitive := f_CSE_DMR_RET_001(int18, m_createScheduleBase, v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_RET_001(int18, m_createScheduleBase, v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_001_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_001_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ResponsePrimitive v_responsePrimitive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; - v_responsePrimitive := f_CSE_DMR_RET_001(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_001(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_001_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_001_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ResponsePrimitive v_responsePrimitive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc1; - v_responsePrimitive := f_CSE_DMR_RET_001(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_RET_001(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - testcase TC_CSE_DMR_RET_001_CIN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_001_CIN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ResponsePrimitive v_responsePrimitive; var template PrimitiveContent v_contentResponse; v_contentResponse.contentInstance := mw_contentContentInstance_rc1; - v_responsePrimitive := f_CSE_DMR_RET_001(int4, m_createContentInstanceBase, v_contentResponse);//ContentInstance + v_ae1.start(f_CSE_DMR_RET_001(int4, m_createContentInstanceBase, v_contentResponse));//ContentInstance + v_ae1.done; } - function f_CSE_DMR_RET_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_RET_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu return ResponsePrimitive { // Local variables var MsgIn v_response; @@ -4647,20 +5175,19 @@ module OneM2M_Testcases { var integer v_containerIndex := -1; var integer v_parentIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); if(p_resourceType == int4) { //ContentInstance v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); @@ -4715,7 +5242,7 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to retrieve the resource TARGET_RESOURCE_ADDRESS which does not exist * */ - testcase TC_CSE_DMR_RET_002() runs on CseTester system CseSystem{ + testcase TC_CSE_DMR_RET_002() runs on AeSimu system CseSystem{ // Local variables var MsgIn v_response; @@ -4736,9 +5263,9 @@ module OneM2M_Testcases { v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); // Test Body - if((vc_addressingMethod == e_nonHierarchical) and (vc_primitiveScope == e_cseRelative)) { + if((PX_ADDRESSING_METHOD == e_nonHierarchical) and (PX_PRIMITIVE_SCOPE == e_cseRelative)) { v_targetResourceAddress := v_resourceId; - } else if (vc_addressingMethod == e_nonHierarchical) { + } else if (PX_ADDRESSING_METHOD == e_nonHierarchical) { v_targetResourceAddress := f_getResourceAddress() & "/" & v_resourceId; } else { v_targetResourceAddress := f_getResourceAddress(v_aeIndex) & "/" & v_resourceName; @@ -4781,53 +5308,64 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to retrieve a resource TARGET_RESOURCE_ADDRESS under AE without having privileges for the RETRIEVE operation * */ - testcase TC_CSE_DMR_RET_003_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_003_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_003(int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_003(int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_003_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_003_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_003(int9, m_createGroupBase);//Group + v_ae1.start(f_CSE_DMR_RET_003(int9, m_createGroupBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_003_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_003_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_requestPrimitive := m_createAcpBase; v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61; - f_CSE_DMR_RET_003(int1, v_requestPrimitive);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_003(int1, v_requestPrimitive));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_003_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_003_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_003(int18, m_createScheduleBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_003(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_003_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_003_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_003(int15, m_createPollingChannelBase);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_003(int15, m_createPollingChannelBase));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_003_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_003_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_003(int23, m_createSubscriptionBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_003(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_acpAuxIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control @@ -4837,7 +5375,7 @@ module OneM2M_Testcases { } // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -4846,9 +5384,9 @@ module OneM2M_Testcases { v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});//c_CRUDNDi; - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); f_cse_updateAcpAuxResource(int61); //c_CUDNDi @@ -4890,87 +5428,98 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully the ATTRIBUTE of TARGET_RESOURCE_ADDRESS resource (“To†option) * */ - testcase TC_CSE_DMR_RET_004_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_004_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := m_contentContainer_allOmit; v_contentResponse.container.parentID := ?; - f_CSE_DMR_RET_004(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_RET_004(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_004_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_004_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := m_contentGroup_allOmit; v_contentResponse.group_.parentID := ?; - f_CSE_DMR_RET_004(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_RET_004(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_004_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_004_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := m_contentAcp_allOmit; v_contentResponse.accessControlPolicy.parentID := ?; - f_CSE_DMR_RET_004(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_004(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_004_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_004_SCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.schedule := m_contentSchedule_allOmit; v_contentResponse.schedule.parentID := ?; - f_CSE_DMR_RET_004(int18, m_createScheduleBase,v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_RET_004(int18, m_createScheduleBase,v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_004_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_004_PCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit; v_contentResponse.pollingChannel.parentID := ?; - f_CSE_DMR_RET_004(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_004(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_004_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_004_SUB() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.subscription := m_contentSubscription_allOmit; v_contentResponse.subscription.parentID := ?; - f_CSE_DMR_RET_004(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_RET_004(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_RET_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -5016,87 +5565,98 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully the ATTRIBUTE of TARGET_RESOURCE_ADDRESS resource (“Content†option) * */ - testcase TC_CSE_DMR_RET_005_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_005_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := m_contentContainer_allOmit; v_contentResponse.container.parentID := ?; - f_CSE_DMR_RET_005(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_RET_005(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_005_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_005_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := m_contentGroup_allOmit; v_contentResponse.group_.parentID := ?; - f_CSE_DMR_RET_005(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_RET_005(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_005_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_005_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := m_contentAcp_allOmit; v_contentResponse.accessControlPolicy.parentID := ?; - f_CSE_DMR_RET_005(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_005(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_005_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_005_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := m_contentSchedule_allOmit; v_contentResponse.schedule.parentID := ?; - f_CSE_DMR_RET_005(int18, m_createScheduleBase, v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_RET_005(int18, m_createScheduleBase, v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_005_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_005_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit; v_contentResponse.pollingChannel.parentID := ?; - f_CSE_DMR_RET_005(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_005(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_005_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_005_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := m_contentSubscription_allOmit; v_contentResponse.subscription.parentID := ?; - f_CSE_DMR_RET_005(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_RET_005(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_RET_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -5142,93 +5702,104 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully multiple attributes of TARGET_RESOURCE_ADDRESS resource * */ - testcase TC_CSE_DMR_RET_006_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_006_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := m_contentContainer_allOmit; v_contentResponse.container.parentID := ?; v_contentResponse.container.creationTime := ?; - f_CSE_DMR_RET_006(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_RET_006(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_006_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_006_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := m_contentGroup_allOmit; v_contentResponse.group_.parentID := ?; v_contentResponse.group_.creationTime := ?; - f_CSE_DMR_RET_006(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_RET_006(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_006_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_006_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := m_contentAcp_allOmit; v_contentResponse.accessControlPolicy.parentID := ?; v_contentResponse.accessControlPolicy.creationTime := ?; - f_CSE_DMR_RET_006(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_006(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_006_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_006_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := m_contentSchedule_allOmit; v_contentResponse.schedule.parentID := ?; v_contentResponse.schedule.creationTime := ?; - f_CSE_DMR_RET_006(int18, m_createScheduleBase, v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_RET_006(int18, m_createScheduleBase, v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_006_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_006_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit; v_contentResponse.pollingChannel.parentID := ?; v_contentResponse.pollingChannel.creationTime := ?; - f_CSE_DMR_RET_006(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_006(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_006_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_006_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := m_contentSubscription_allOmit; v_contentResponse.subscription.parentID := ?; v_contentResponse.subscription.creationTime := ?; - f_CSE_DMR_RET_006(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_RET_006(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_RET_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -5275,63 +5846,74 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to retrieve a non-existing attribute of the TARGET_RESOURCE_ADDRESS resource (“single†attribute case) * */ - testcase TC_CSE_DMR_RET_007_CNT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_007_CNT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_007(int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_007(int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_007_GRP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_007_GRP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_007(int9, m_createGroupBase);//Group + v_ae1.start(f_CSE_DMR_RET_007(int9, m_createGroupBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_007_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_007_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_007(int1, m_createAcpBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_007(int1, m_createAcpBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_007_SCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_007_SCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_007(int18, m_createScheduleBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_007(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_007_PCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_007_PCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_007(int15, m_createPollingChannelBase);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_007(int15, m_createPollingChannelBase));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_007_SUB_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_007_SUB_LBL() runs on AeSimu system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_007(int23, m_createSubscriptionBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_007(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_007(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_007(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -5373,63 +5955,74 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to retrieve a non-existing attributes of the TARGET_RESOURCE_ADDRESS resource (“multiple†attributes case) * */ - testcase TC_CSE_DMR_RET_008_CNT_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_008_CNT_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_008(int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_008(int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_008_GRP_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_008_GRP_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_008(int9, m_createGroupBase);//Group + v_ae1.start(f_CSE_DMR_RET_008(int9, m_createGroupBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_008_ACP_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_008_ACP_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_008(int1, m_createAcpBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_008(int1, m_createAcpBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_008_SCH_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_008_SCH_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_008(int18, m_createScheduleBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_008(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_008_PCH_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_008_PCH_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_008(int15, m_createPollingChannelBase);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_008(int15, m_createPollingChannelBase));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_008_SUB_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_008_SUB_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_008(int23, m_createSubscriptionBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_008(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_008(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_008(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -5471,25 +6064,25 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the RETRIEVE Request of a latest resource target to a container resource that has no direct child contentInstance resources. * */ - testcase TC_CSE_DMR_RET_009() runs on CseTester system CseSystem { - // Local variables - var integer v_aeIndex := -1; - var integer v_containerIndex := -1; + testcase TC_CSE_DMR_RET_009() runs on AeSimu system CseSystem { + // Local variables + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); - // Test Body - mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex)))); + // Test Body + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex)))); tc_ac.start; alt { @@ -5510,15 +6103,15 @@ module OneM2M_Testcases { } } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - }//end TC_CSE_DMR_RET_009 + }//end TC_CSE_DMR_RET_009 - } // end group g_CSE_DMR_RET_009 + } // end group g_CSE_DMR_RET_009 group g_CSE_DMR_RET_010{ @@ -5526,7 +6119,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the RETRIEVE Request of the oldest contentInstance target to a <container> resource * */ - testcase TC_CSE_DMR_RET_010() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_010() runs on AeSimu system CseSystem { // Local variables var integer v_aeIndex := -1; var integer v_containerIndex := -1; @@ -5595,7 +6188,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the RETRIEVE Request of a oldest resource target to a container resource that has no direct child contentInstance resources. * */ - testcase TC_CSE_DMR_RET_011() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_011() runs on AeSimu system CseSystem { // Local variables var integer v_aeIndex := -1; var integer v_containerIndex := -1; @@ -5650,7 +6243,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the RETRIEVE Request of the latest contentInstance target to a <container> resource7 * */ - testcase TC_CSE_DMR_RET_012() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_012() runs on AeSimu system CseSystem { // Local variables var integer v_aeIndex := -1; var integer v_containerIndex := -1; @@ -5710,9 +6303,9 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - }//end TC_CSE_DMR_RET_012 + }//end TC_CSE_DMR_RET_012 - } // end group g_CSE_DMR_RET_012 + } // end group g_CSE_DMR_RET_012 group g_CSE_DMR_RET_013 { @@ -5720,90 +6313,107 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully the TARGET_RESOURCE_ADDRESS resource under CSEBase * */ - testcase TC_CSE_DMR_RET_013_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_013_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc1; - f_CSE_DMR_RET_013(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_013(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_013_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_013_AE() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.aE := mw_contentAeBase; - f_CSE_DMR_RET_013(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE + v_ae1.start(f_CSE_DMR_RET_013(int2, m_createAe(PX_APP_ID), v_contentResponse));//AE + v_ae1.done; } - testcase TC_CSE_DMR_RET_013_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_013_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc1; - f_CSE_DMR_RET_013(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_RET_013(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_013_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_013_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc1; - f_CSE_DMR_RET_013(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_RET_013(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_013_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_013_CSR() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.remoteCSE := mw_contentRemoteCSEBase; - f_CSE_DMR_RET_013(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE + v_ae1.start(f_CSE_DMR_RET_013(int16, m_createRemoteCSEBase, v_contentResponse));//RemoteCSE + v_ae1.done; } - testcase TC_CSE_DMR_RET_013_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_013_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := mw_contentSchedule_rc1; - f_CSE_DMR_RET_013(int18, m_createScheduleBase, v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_RET_013(int18, m_createScheduleBase, v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_013_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_013_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc1; - f_CSE_DMR_RET_013(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_RET_013(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_RET_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; var integer v_acpIndex := -1; - + // Test control // Test component configuration - f_cf02Up(); + if (p_resourceType!=int16){ //ResourceType != RemoteCSE + f_cf01Up(true); + } else { + f_cf02Up(); + } // Test adapter configuration @@ -5816,16 +6426,18 @@ module OneM2M_Testcases { p_requestPrimitive := f_setAcpId(p_requestPrimitive, {vc_resourcesList[v_acpIndex].resource.accessControlPolicy.resourceID}); } - if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); - + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource - + } else { //ResourceType = RemoteCSE - v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive); + vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); } @@ -5871,55 +6483,66 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to retrieve a resource TARGET_RESOURCE_ADDRESS under CSEBase without having privileges for the RETRIEVE operation * */ - testcase TC_CSE_DMR_RET_014_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_014_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_requestPrimitive := m_createAcpBase; v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61; - f_CSE_DMR_RET_014(int1, v_requestPrimitive);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_014(int1, v_requestPrimitive));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_014_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_014_AE() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_014(int2, m_createPollingChannelBase);//AE + v_ae1.start(f_CSE_DMR_RET_014(int2, m_createPollingChannelBase));//AE + v_ae1.done; } - testcase TC_CSE_DMR_RET_014_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_014_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_014(int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_014(int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_014_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_014_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_014(int9, m_createGroupBase);//Group + v_ae1.start(f_CSE_DMR_RET_014(int9, m_createGroupBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_014_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_014_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_014(int18, m_createScheduleBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_014(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_014_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_014_SUB() runs on AeSimu system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_014(int23, m_createSubscriptionBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_014(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_acpAuxIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; - + // Test control if(not(PICS_ACP_SUPPORT)) { log(__SCOPE__ & ":INFO: AccessControlPolicy support is required for executing this test case"); @@ -5927,31 +6550,35 @@ module OneM2M_Testcases { } // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi; if(p_resourceType != int1) { v_acpAuxIndex := f_cse_createAccessControlPolicyAux(-, -, int61); - + p_requestPrimitive := f_setAcpId(p_requestPrimitive, {vc_resourcesList[v_acpAuxIndex].resource.accessControlPolicy.resourceID}); } - - + + if (p_resourceType!=int16){ //ResourceType != RemoteCSE - - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource - + } else { //ResourceType = RemoteCSE - - v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive); - + + vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); + } // Test Body @@ -5992,91 +6619,108 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully the ATTRIBUTE of TARGET_RESOURCE_ADDRESS resource (“To†option) under CSEBase * */ - testcase TC_CSE_DMR_RET_015_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_015_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := m_contentAcp_allOmit; v_contentResponse.accessControlPolicy.parentID := ?; - f_CSE_DMR_RET_015(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_015(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_015_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_015_AE() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.aE := m_contentAe_allOmit; v_contentResponse.aE.parentID := ?; - f_CSE_DMR_RET_015(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE + v_ae1.start(f_CSE_DMR_RET_015(int2, m_createAe(PX_APP_ID), v_contentResponse));//AE + v_ae1.done; } - testcase TC_CSE_DMR_RET_015_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_015_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := m_contentContainer_allOmit; v_contentResponse.container.parentID := ?; - f_CSE_DMR_RET_015(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_RET_015(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_015_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_015_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := m_contentGroup_allOmit; v_contentResponse.group_.parentID := ?; - f_CSE_DMR_RET_015(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_RET_015(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_015_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_015_CSR() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit; v_contentResponse.remoteCSE.parentID := ?; - f_CSE_DMR_RET_015(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE + v_ae1.start(f_CSE_DMR_RET_015(int16, m_createRemoteCSEBase, v_contentResponse));//RemoteCSE + v_ae1.done; } - testcase TC_CSE_DMR_RET_015_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_015_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := m_contentSchedule_allOmit; v_contentResponse.schedule.parentID := ?; - f_CSE_DMR_RET_015(int18, m_createScheduleBase,v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_RET_015(int18, m_createScheduleBase,v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_015_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_015_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := m_contentSubscription_allOmit; v_contentResponse.subscription.parentID := ?; - f_CSE_DMR_RET_015(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_RET_015(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_RET_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; var integer v_acpAuxIndex := -1; - + // Test control // Test component configuration - f_cf02Up(); + if (p_resourceType!=int16){ //ResourceType != RemoteCSE + f_cf01Up(true); + } else { + f_cf02Up(); + } // Test adapter configuration @@ -6089,15 +6733,17 @@ module OneM2M_Testcases { p_requestPrimitive := f_setAcpId(p_requestPrimitive, {vc_resourcesList[v_acpAuxIndex].resource.accessControlPolicy.resourceID}); } - if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource } else { - v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive); + vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); } // Test Body @@ -6142,91 +6788,108 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully the ATTRIBUTE of TARGET_RESOURCE_ADDRESS resource (“Content†option) under CSEBase * */ - testcase TC_CSE_DMR_RET_016_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_016_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := m_contentAcp_allOmit; v_contentResponse.accessControlPolicy.parentID := ?; - f_CSE_DMR_RET_016(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_016(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_016_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_016_AE() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.aE := m_contentAe_allOmit; v_contentResponse.aE.parentID := ?; - f_CSE_DMR_RET_016(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE + v_ae1.start(f_CSE_DMR_RET_016(int2, m_createAe(PX_APP_ID), v_contentResponse));//AE + v_ae1.done; } - testcase TC_CSE_DMR_RET_016_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_016_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := m_contentContainer_allOmit; v_contentResponse.container.parentID := ?; - f_CSE_DMR_RET_016(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_RET_016(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_016_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_016_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := m_contentGroup_allOmit; v_contentResponse.group_.parentID := ?; - f_CSE_DMR_RET_016(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_RET_016(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_016_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_016_CSR() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit; v_contentResponse.remoteCSE.parentID := ?; - f_CSE_DMR_RET_016(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE + v_ae1.start(f_CSE_DMR_RET_016(int16, m_createRemoteCSEBase, v_contentResponse));//RemoteCSE + v_ae1.done; } - testcase TC_CSE_DMR_RET_016_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_016_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := m_contentSchedule_allOmit; v_contentResponse.schedule.parentID := ?; - f_CSE_DMR_RET_016(int18, m_createScheduleBase, v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_RET_016(int18, m_createScheduleBase, v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_016_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_016_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := m_contentSubscription_allOmit; v_contentResponse.subscription.parentID := ?; - f_CSE_DMR_RET_016(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_RET_016(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_RET_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; var integer v_acpAuxIndex := -1; - + // Test control // Test component configuration - f_cf02Up(); + if (p_resourceType!=int16){ //ResourceType != RemoteCSE + f_cf01Up(true); + } else { + f_cf02Up(); + } // Test adapter configuration @@ -6239,15 +6902,17 @@ module OneM2M_Testcases { p_requestPrimitive := f_setAcpId(p_requestPrimitive, {vc_resourcesList[v_acpAuxIndex].resource.accessControlPolicy.resourceID}); } - if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource }else{ - v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive); + vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); } mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) , {"pi"}, f_getOriginator(v_aeIndex))));//from AE ID @@ -6291,164 +6956,193 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully multiple attributes of TARGET_RESOURCE_ADDRESS resource under CSEBase * */ - testcase TC_CSE_DMR_RET_017_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := m_contentAcp_allOmit; v_contentResponse.accessControlPolicy.parentID := ?; v_contentResponse.accessControlPolicy.creationTime := ?; - f_CSE_DMR_RET_017(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_017(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_AE() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.aE := m_contentAe_allOmit; v_contentResponse.aE.parentID := ?; v_contentResponse.aE.creationTime := ?; - f_CSE_DMR_RET_017(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE + v_ae1.start(f_CSE_DMR_RET_017(int2, m_createAe(PX_APP_ID), v_contentResponse));//AE + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := m_contentContainer_allOmit; v_contentResponse.container.parentID := ?; v_contentResponse.container.creationTime := ?; - f_CSE_DMR_RET_017(int3, m_createContainerBase, v_contentResponse);//Container + v_ae1.start(f_CSE_DMR_RET_017(int3, m_createContainerBase, v_contentResponse));//Container + v_ae1.done; } - /*testcase TC_CSE_DMR_RET_017_DLV() runs on CseTester system CseSystem { + /*testcase TC_CSE_DMR_RET_017_DLV() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.delivery := m_contentDelivery_allOmit; v_contentResponse.delivery.parentID := ?; v_contentResponse.delivery.creationTime := ?; - f_CSE_DMR_RET_017(int6, m_createDeliveryBase, v_contentResponse);//Delivery + v_ae1.start(f_CSE_DMR_RET_017(int6, m_createDeliveryBase, v_contentResponse));//Delivery + v_ae1.done; }*/ - testcase TC_CSE_DMR_RET_017_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := m_contentGroup_allOmit; v_contentResponse.group_.parentID := ?; v_contentResponse.group_.creationTime := ?; - f_CSE_DMR_RET_017(int9, m_createGroupBase, v_contentResponse);//Group + v_ae1.start(f_CSE_DMR_RET_017(int9, m_createGroupBase, v_contentResponse));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_LCP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_LCP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.locationPolicy := m_contentLocationPolicy_allOmit; v_contentResponse.locationPolicy.parentID := ?; v_contentResponse.locationPolicy.creationTime := ?; - f_CSE_DMR_RET_017(int10, m_createLocationPolicyBase, v_contentResponse);//LocationPolicy + v_ae1.start(f_CSE_DMR_RET_017(int10, m_createLocationPolicyBase, v_contentResponse));//LocationPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_MGC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_MGC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.mgmtCmd := m_contentMgmtCmd_allOmit; v_contentResponse.mgmtCmd.parentID := ?; v_contentResponse.mgmtCmd.creationTime := ?; - f_CSE_DMR_RET_017(int12, m_createMgmtCmdBase, v_contentResponse);//MgmtCmd + v_ae1.start(f_CSE_DMR_RET_017(int12, m_createMgmtCmdBase, v_contentResponse));//MgmtCmd + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_NOD() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_NOD() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.node := m_contentNode_allOmit; v_contentResponse.node.parentID := ?; v_contentResponse.node.creationTime := ?; - f_CSE_DMR_RET_017(int14, m_createNodeBase, v_contentResponse);//Node + v_ae1.start(f_CSE_DMR_RET_017(int14, m_createNodeBase, v_contentResponse));//Node + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_CSR() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit; v_contentResponse.remoteCSE.parentID := ?; v_contentResponse.remoteCSE.creationTime := ?; - f_CSE_DMR_RET_017(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE + v_ae1.start(f_CSE_DMR_RET_017(int16, m_createRemoteCSEBase, v_contentResponse));//RemoteCSE + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := m_contentSchedule_allOmit; v_contentResponse.schedule.parentID := ?; v_contentResponse.schedule.creationTime := ?; - f_CSE_DMR_RET_017(int18, m_createScheduleBase, v_contentResponse);//Schedule + v_ae1.start(f_CSE_DMR_RET_017(int18, m_createScheduleBase, v_contentResponse));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_STCL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_STCL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.statsCollect := m_contentStatsCollect_allOmit; v_contentResponse.statsCollect.parentID := ?; v_contentResponse.statsCollect.creationTime := ?; - f_CSE_DMR_RET_017(int21, m_createStatsCollectBase, v_contentResponse);//StatsCollect + v_ae1.start(f_CSE_DMR_RET_017(int21, m_createStatsCollectBase, v_contentResponse));//StatsCollect + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_STCG() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_STCG() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.statsConfig := m_contentStatsConfig_allOmit; v_contentResponse.statsConfig.parentID := ?; v_contentResponse.statsConfig.creationTime := ?; - f_CSE_DMR_RET_017(int22, m_createStatsConfigBase, v_contentResponse);//StatsConfig + v_ae1.start(f_CSE_DMR_RET_017(int22, m_createStatsConfigBase, v_contentResponse));//StatsConfig + v_ae1.done; } - testcase TC_CSE_DMR_RET_017_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := m_contentSubscription_allOmit; v_contentResponse.subscription.parentID := ?; v_contentResponse.subscription.creationTime := ?; - f_CSE_DMR_RET_017(int23, m_createSubscriptionBase, v_contentResponse);//Subscription + v_ae1.start(f_CSE_DMR_RET_017(int23, m_createSubscriptionBase, v_contentResponse));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_DMR_RET_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; var integer v_acpAuxIndex := -1; - + // Test control // Test component configuration - f_cf02Up(); + if (p_resourceType!=int16){ //ResourceType != RemoteCSE + f_cf01Up(true); + } else { + f_cf02Up(); + } // Test adapter configuration @@ -6461,15 +7155,17 @@ module OneM2M_Testcases { p_requestPrimitive := f_setAcpId(p_requestPrimitive, {vc_resourcesList[v_acpAuxIndex].resource.accessControlPolicy.resourceID}); } - if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource }else{ - v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive); + vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); } mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) , @@ -6514,63 +7210,80 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to retrieve a non-existing attribute of the TARGET_RESOURCE_ADDRESS resource (“single†attribute case) under CSEBase * */ - testcase TC_CSE_DMR_RET_018_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_018_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_018(int1, m_createAcpBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_018(int1, m_createAcpBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_018_AE_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_018_AE_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_018(int2, m_createAe(PX_APP_ID));//AE + v_ae1.start(f_CSE_DMR_RET_018(int2, m_createAe(PX_APP_ID)));//AE + v_ae1.done; } - testcase TC_CSE_DMR_RET_018_CNT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_018_CNT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_018(int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_018(int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_018_GRP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_018_GRP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_018(int9, m_createGroupBase);//Group + v_ae1.start(f_CSE_DMR_RET_018(int9, m_createGroupBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_018_CSR_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_018_CSR_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_018(int16, m_createRemoteCSEBase);//RemoteCSE + v_ae1.start(f_CSE_DMR_RET_018(int16, m_createRemoteCSEBase));//RemoteCSE + v_ae1.done; } - testcase TC_CSE_DMR_RET_018_SCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_018_SCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_018(int18, m_createScheduleBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_018(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_018_SUB_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_018_SUB_LBL() runs on AeSimu system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_018(int23, m_createSubscriptionBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_018(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_018(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_018(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; var integer v_acpAuxIndex := -1; - + // Test control // Test component configuration - f_cf02Up(); + if (p_resourceType!=int16){ //ResourceType != RemoteCSE + f_cf01Up(true); + } else { + f_cf02Up(); + }; // Test adapter configuration @@ -6583,15 +7296,17 @@ module OneM2M_Testcases { p_requestPrimitive := f_setAcpId(p_requestPrimitive, {vc_resourcesList[v_acpAuxIndex].resource.accessControlPolicy.resourceID}); } - if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource }else{ - v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive); + vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); } mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex), @@ -6632,63 +7347,80 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to retrieve a non-existing attribute of the TARGET_RESOURCE_ADDRESS resource (“multiple†attributes case) under CSEBase * */ - testcase TC_CSE_DMR_RET_019_ACP_LBL_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_019_ACP_LBL_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_019(int1, m_createAcpBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_019(int1, m_createAcpBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_019_AE_LBL_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_019_AE_LBL_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_019(int2, m_createAe(PX_APP_ID));//AE + v_ae1.start(f_CSE_DMR_RET_019(int2, m_createAe(PX_APP_ID)));//AE + v_ae1.done; } - testcase TC_CSE_DMR_RET_019_CNT_LBL_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_019_CNT_LBL_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_019(int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_019(int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_019_GRP_LBL_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_019_GRP_LBL_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_019(int9, m_createGroupBase);//Group + v_ae1.start(f_CSE_DMR_RET_019(int9, m_createGroupBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_019_CSR_LBL_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_019_CSR_LBL_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_019(int16, m_createRemoteCSEBase);//RemoteCSE + v_ae1.start(f_CSE_DMR_RET_019(int16, m_createRemoteCSEBase));//RemoteCSE + v_ae1.done; } - testcase TC_CSE_DMR_RET_019_SCH_LBL_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_019_SCH_LBL_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_019(int18, m_createScheduleBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_019(int18, m_createScheduleBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_019_SUB_LBL_AT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_019_SUB_LBL_AT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_RET_019(int23, m_createSubscriptionBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_019(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; var integer v_acpAuxIndex := -1; - + // Test control // Test component configuration - f_cf02Up(); + if (p_resourceType!=int16){ //ResourceType != RemoteCSE + f_cf01Up(true); + } else { + f_cf02Up(); + } // Test adapter configuration @@ -6701,15 +7433,17 @@ module OneM2M_Testcases { p_requestPrimitive := f_setAcpId(p_requestPrimitive, {vc_resourcesList[v_acpAuxIndex].resource.accessControlPolicy.resourceID}); } - if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); - - v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType); + + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource }else{ - v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive); + vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); } mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex), @@ -6750,22 +7484,28 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects a RETRIEVE Request target to TARGET_RESOURCE_ADDRESS resource when the Result Content set to RESULT_CONTENT * */ - testcase TC_CSE_DMR_RET_020_RCN_0() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_020_RCN_0() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_RET_020(int3, m_createContainerBase, int0);//ResultContent = 0 (nothing) + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int0));//ResultContent = 0 (nothing) + v_ae1.done; } - testcase TC_CSE_DMR_RET_020_RCN_2() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_020_RCN_2() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_RET_020(int3, m_createContainerBase, int2);//ResultContent = 2 (hierarchical address) + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int2));//ResultContent = 2 (hierarchical address) + v_ae1.done; } - testcase TC_CSE_DMR_RET_020_RCN_3() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_020_RCN_3() runs on Tester system CseSystem { // Local variables - f_CSE_DMR_RET_020(int3, m_createContainerBase, int3);//ResultContent = 3 (attributes and hierarchichal address) + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int3));//ResultContent = 3 (attributes and hierarchichal address) + v_ae1.done; } - function f_CSE_DMR_RET_020(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, ResultContent p_resultContent) runs on CseTester { + function f_CSE_DMR_RET_020(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, ResultContent p_resultContent) runs on AeSimu { // Local variables var MsgIn v_response; @@ -6824,66 +7564,77 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 1 (attributes) * */ - testcase TC_CSE_DMR_RET_021_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_021_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc1; - f_CSE_DMR_RET_021(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_021(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_021_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_021_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc1; - f_CSE_DMR_RET_021(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group + v_ae1.start(f_CSE_DMR_RET_021(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_021_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_021_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc1; - f_CSE_DMR_RET_021(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_021(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_021_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_021_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := mw_contentSchedule_rc1; - f_CSE_DMR_RET_021(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_021(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_021_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_021_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; - f_CSE_DMR_RET_021(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_021(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_021_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_021_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc1; - f_CSE_DMR_RET_021(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_021(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_021(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_021(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_aeIndex := -1; var integer v_ae2Index := -1; var integer v_resourceIndex := -1; @@ -6892,7 +7643,7 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -6901,9 +7652,9 @@ module OneM2M_Testcases { if(isvalue(p_childResourceType)) { if(valueof(p_childResourceType) == int23) { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); } else { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); } } @@ -6957,66 +7708,77 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully a list all discovered resource addresses * */ - testcase TC_CSE_DMR_RET_022_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_022_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc4; - f_CSE_DMR_RET_022(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_022(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_022_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_022_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc4; - f_CSE_DMR_RET_022(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group + v_ae1.start(f_CSE_DMR_RET_022(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_022_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_022_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc4; - f_CSE_DMR_RET_022(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_022(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_022_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_022_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := mw_contentSchedule_rc4; - f_CSE_DMR_RET_022(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_022(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_022_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_022_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; - f_CSE_DMR_RET_022(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_022(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_022_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_022_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc4; - f_CSE_DMR_RET_022(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_022(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_022(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_022(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_aeIndex := -1; var integer v_ae2Index := -1; var integer v_resourceIndex := -1; @@ -7025,7 +7787,7 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -7034,9 +7796,9 @@ module OneM2M_Testcases { if(isvalue(p_childResourceType)) { if(valueof(p_childResourceType) == int23) { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); } else { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); } } @@ -7089,66 +7851,77 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully only attributes and child resource references of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 5 (attributes and child resource references) * */ - testcase TC_CSE_DMR_RET_023_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_023_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc5; - f_CSE_DMR_RET_023(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_023(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_023_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_023_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc5; - f_CSE_DMR_RET_023(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group + v_ae1.start(f_CSE_DMR_RET_023(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_023_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_023_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc5; - f_CSE_DMR_RET_023(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_023(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_023_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_023_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := mw_contentSchedule_rc5; - f_CSE_DMR_RET_023(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_023(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_023_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_023_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; - f_CSE_DMR_RET_023(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_023(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_023_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_023_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc5; - f_CSE_DMR_RET_023(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_023(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_023(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_023(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_aeIndex := -1; var integer v_ae2Index := -1; var integer v_resourceIndex := -1; @@ -7157,7 +7930,7 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -7166,9 +7939,9 @@ module OneM2M_Testcases { if(isvalue(p_childResourceType)) { if(valueof(p_childResourceType) == int23) { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); } else { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); } } @@ -7222,66 +7995,77 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully only child resource references of TARGET_RESOURCE_ADDRESS resource when Result Content is set to 6 (child resource references) * */ - testcase TC_CSE_DMR_RET_024_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_024_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc6; - f_CSE_DMR_RET_024(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_024(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_024_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_024_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc6; - f_CSE_DMR_RET_024(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group + v_ae1.start(f_CSE_DMR_RET_024(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_024_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_024_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc6; - f_CSE_DMR_RET_024(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_024(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_024_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_024_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := mw_contentSchedule_rc6; - f_CSE_DMR_RET_024(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_024(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_024_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_024_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; - f_CSE_DMR_RET_024(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_024(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_024_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_024_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc6; - f_CSE_DMR_RET_024(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_024(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_024(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_024(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_aeIndex := -1; var integer v_ae2Index := -1; var integer v_resourceIndex := -1; @@ -7290,7 +8074,7 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -7299,9 +8083,9 @@ module OneM2M_Testcases { if(isvalue(p_childResourceType)) { if(valueof(p_childResourceType) == int23) { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); } else { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); } } @@ -7354,66 +8138,77 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully only child resources of TARGET_RESOURCE_ADDRESS resource when Result Content is set to 8 (child resources) * */ - testcase TC_CSE_DMR_RET_025_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_025_CNT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc8; - f_CSE_DMR_RET_025(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_RET_025(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container + v_ae1.done; } - testcase TC_CSE_DMR_RET_025_GRP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_025_GRP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc8; - f_CSE_DMR_RET_025(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group + v_ae1.start(f_CSE_DMR_RET_025(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group + v_ae1.done; } - testcase TC_CSE_DMR_RET_025_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_025_ACP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc8; - f_CSE_DMR_RET_025(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_RET_025(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_RET_025_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_025_SCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.schedule := mw_contentSchedule_rc8; - f_CSE_DMR_RET_025(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule + v_ae1.start(f_CSE_DMR_RET_025(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_RET_025_PCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_025_PCH() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; - f_CSE_DMR_RET_025(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel + v_ae1.start(f_CSE_DMR_RET_025(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_RET_025_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_025_SUB() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc8; - f_CSE_DMR_RET_025(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription + v_ae1.start(f_CSE_DMR_RET_025(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription + v_ae1.done; } - function f_CSE_DMR_RET_025(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester { + function f_CSE_DMR_RET_025(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_aeIndex := -1; var integer v_ae2Index := -1; var integer v_resourceIndex := -1; @@ -7422,7 +8217,7 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -7431,9 +8226,9 @@ module OneM2M_Testcases { if(isvalue(p_childResourceType)) { if(valueof(p_childResourceType) == int23) { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); } else { - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); } } @@ -7489,8 +8284,9 @@ module OneM2M_Testcases { * @desc Check that the IUT updates successfully the value of the attribute ATTRIBUTE_NAME of the TARGET_RESOURCE_ADDRESS resource * */ - testcase TC_CSE_DMR_UPD_001_CNT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_001_CNT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2:= {"VALUE_2"}; var ResponsePrimitive v_responsePrimitive; @@ -7501,28 +8297,35 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.labels := v_labels_1; v_updateRequest.primitiveContent.container.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_001(int3, v_createRequest, v_updateRequest, v_primitiveContentRetrieveResource);//Container + v_ae1.start(f_CSE_DMR_UPD_001(int3, v_createRequest, v_updateRequest));//Container + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { - if(v_responsePrimitive.primitiveContent.container.labels != v_labels_2){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + if(v_responsePrimitive.primitiveContent.container.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { if(v_primitiveContentRetrieveResource.container.labels != v_labels_2){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + } + } } } - testcase TC_CSE_DMR_UPD_001_GRP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_001_GRP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var template RequestPrimitive v_createRequest := m_createGroupBase; @@ -7533,9 +8336,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.group_.labels := v_labels_1; v_updateRequest.primitiveContent.group_.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_001(int9, v_createRequest, v_updateRequest, v_primitiveContentRetrieveResource);//Group + v_ae1.start(f_CSE_DMR_UPD_001(int9, v_createRequest, v_updateRequest));//Group + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { @@ -7544,17 +8350,21 @@ module OneM2M_Testcases { } } } + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { if(v_primitiveContentRetrieveResource.group_.labels != v_labels_2){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + } + } } } - testcase TC_CSE_DMR_UPD_001_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_001_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var template RequestPrimitive v_createRequest := m_createAcpBase; @@ -7565,29 +8375,35 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_001(int1, v_createRequest, v_updateRequest, v_primitiveContentRetrieveResource);//ACP + v_ae1.start(f_CSE_DMR_UPD_001(int1, v_createRequest, v_updateRequest));//ACP + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels_2){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { if(v_primitiveContentRetrieveResource.accessControlPolicy.labels != v_labels_2){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + } } - } - + } } - testcase TC_CSE_DMR_UPD_001_SCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_001_SCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var template RequestPrimitive v_createRequest := m_createScheduleBase; @@ -7598,29 +8414,36 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.schedule.labels := v_labels_1; v_updateRequest.primitiveContent.schedule.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_001(int18, v_createRequest, v_updateRequest, v_primitiveContentRetrieveResource);//Schedule + v_ae1.start(f_CSE_DMR_UPD_001(int18, v_createRequest, v_updateRequest));//Schedule + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.schedule)) { if(v_responsePrimitive.primitiveContent.schedule.labels != v_labels_2){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.schedule)) { if(v_primitiveContentRetrieveResource.schedule.labels != v_labels_2){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + } } - } + } } - testcase TC_CSE_DMR_UPD_001_PCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_001_PCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var template RequestPrimitive v_createRequest := m_createPollingChannelBase; @@ -7631,28 +8454,35 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_001(int15, v_createRequest, v_updateRequest, v_primitiveContentRetrieveResource);//PollingChannel + v_ae1.start(f_CSE_DMR_UPD_001(int15, v_createRequest, v_updateRequest));//PollingChannel + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { - if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_2){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(v_primitiveContentRetrieveResource.pollingChannel.labels != v_labels_2){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + } + } } } - testcase TC_CSE_DMR_UPD_001_SUB_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_001_SUB_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -7663,48 +8493,53 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.labels := v_labels_1; v_updateRequest.primitiveContent.subscription.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_001(int23, v_createRequest, v_updateRequest, v_primitiveContentRetrieveResource);//Subscription + v_ae1.start(f_CSE_DMR_UPD_001(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; - if(getverdict == pass){ + + + 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.labels != v_labels_2){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { if(v_primitiveContentRetrieveResource.subscription.labels != v_labels_2){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + } } - } + } } - function f_CSE_DMR_UPD_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive{ + function f_CSE_DMR_UPD_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu return ResponsePrimitive{ // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); @@ -7714,15 +8549,15 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } @@ -7731,10 +8566,10 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Used to check that the resource has been updated - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); // Postamble f_cse_postamble_deleteResources(); @@ -7742,7 +8577,7 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - return v_response.primitive.responsePrimitive; + return vc_response.primitive.responsePrimitive; }//end f_CSE_DMR_UPD_001 @@ -7754,38 +8589,45 @@ module OneM2M_Testcases { * @desc Check that the IUT adds successfully the attribute ATTRIBUTE_NAME to the TARGET_RESOURCE_ADDRESS resource * */ - testcase TC_CSE_DMR_UPD_002_CNT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_002_CNT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.container.labels := v_labels_1; - v_responsePrimitive := f_CSE_DMR_UPD_002(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource);//Container + v_ae1.start(f_CSE_DMR_UPD_002(int3, m_createContainerBase, v_updateRequest));//Container + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { - if(v_responsePrimitive.primitiveContent.container.labels != v_labels_1){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + if(v_responsePrimitive.primitiveContent.container.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } - + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly - if(ischosen(v_primitiveContentRetrieveResource.container)) { + if(ischosen(v_primitiveContentRetrieveResource.container)) { if(v_primitiveContentRetrieveResource.container.labels != v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + } + } } } - testcase TC_CSE_DMR_UPD_002_GRP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_002_GRP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; @@ -7793,29 +8635,35 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_.labels := v_labels_1; - v_responsePrimitive := f_CSE_DMR_UPD_002(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource);//Group + v_ae1.start(f_CSE_DMR_UPD_002(int9, m_createGroupBase, v_updateRequest));//Group + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { - if(v_responsePrimitive.primitiveContent.group_.labels != v_labels_1){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + if(v_responsePrimitive.primitiveContent.group_.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } - + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { if(v_primitiveContentRetrieveResource.group_.labels != v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + } + } } } - testcase TC_CSE_DMR_UPD_002_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_002_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; @@ -7823,29 +8671,35 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; - v_responsePrimitive := f_CSE_DMR_UPD_002(int1, m_createAcpBase,v_updateRequest, v_primitiveContentRetrieveResource);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_UPD_002(int1, m_createAcpBase,v_updateRequest));//AccessControlPolicy + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { - if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels_1){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { if(v_primitiveContentRetrieveResource.accessControlPolicy.labels != v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + } + } } } - testcase TC_CSE_DMR_UPD_002_SCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_002_SCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var ResponsePrimitive v_responsePrimitive; @@ -7853,29 +8707,35 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.schedule.labels := v_labels_1; - v_responsePrimitive := f_CSE_DMR_UPD_002(int18, m_createScheduleBase,v_updateRequest, v_primitiveContentRetrieveResource);//Schedule + v_ae1.start(f_CSE_DMR_UPD_002(int18, m_createScheduleBase,v_updateRequest));//Schedule + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.schedule)) { - if(v_responsePrimitive.primitiveContent.schedule.labels != v_labels_1){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + if(v_responsePrimitive.primitiveContent.schedule.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.schedule)) { if(v_primitiveContentRetrieveResource.schedule.labels != v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + } + } } } - testcase TC_CSE_DMR_UPD_002_PCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_002_PCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var ResponsePrimitive v_responsePrimitive; @@ -7883,29 +8743,35 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1; - v_responsePrimitive := f_CSE_DMR_UPD_002(int15, m_createPollingChannelBase,v_updateRequest, v_primitiveContentRetrieveResource);//PollingChannel + v_ae1.start(f_CSE_DMR_UPD_002(int15, m_createPollingChannelBase,v_updateRequest));//PollingChannel + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { - if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_1){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(v_primitiveContentRetrieveResource.pollingChannel.labels != v_labels_1){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } - testcase TC_CSE_DMR_UPD_002_SUB_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_002_SUB_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; @@ -7913,48 +8779,52 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.subscription.labels := v_labels_1; - v_responsePrimitive := f_CSE_DMR_UPD_002(int23, m_createSubscriptionBase,v_updateRequest, v_primitiveContentRetrieveResource);//Subscription + v_ae1.start(f_CSE_DMR_UPD_002(int23, m_createSubscriptionBase,v_updateRequest));//Subscription + v_ae1.done; - if(getverdict == pass){ + + + 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.labels != v_labels_1){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } + if(v_responsePrimitive.primitiveContent.subscription.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { if(v_primitiveContentRetrieveResource.subscription.labels != v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - } + } + } } } - function f_CSE_DMR_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu return ResponsePrimitive { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); @@ -7964,15 +8834,15 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } @@ -7982,7 +8852,7 @@ module OneM2M_Testcases { } //Used to check that the resource has been updated - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); // Postamble f_cse_postamble_deleteResources(); @@ -7990,7 +8860,7 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - return v_response.primitive.responsePrimitive; + return vc_response.primitive.responsePrimitive; }//end f_CSE_DMR_UPD_002 @@ -8002,13 +8872,14 @@ module OneM2M_Testcases { * @desc Check that the IUT deletes successfully the attribute ATTRIBUTE_NAME from the TARGET_RESOURCE_ADDRESS resource * */ - testcase TC_CSE_DMR_UPD_003_CNT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_003_CNT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var AttributeAux_list v_nullFields; var ResponsePrimitive v_responsePrimitive; - var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -8017,33 +8888,39 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_003(int3, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Container + v_ae1.start(f_CSE_DMR_UPD_003(int3, v_createRequest, v_updateRequest, v_nullFields));//Container + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { - if(ispresent(v_responsePrimitive.primitiveContent.container.labels)){ - if(not(match(v_responsePrimitive.primitiveContent.container.labels,{""}))) { - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly"); - } - } + if(ispresent(v_responsePrimitive.primitiveContent.container.labels)){ + if(not(match(v_responsePrimitive.primitiveContent.container.labels,{""}))) { + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly"); + } + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { if(ispresent(v_primitiveContentRetrieveResource.container.labels)) { if(not(match(v_primitiveContentRetrieveResource.container.labels,{""}))){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } - } - } - } + } + } + } + } } - testcase TC_CSE_DMR_UPD_003_GRP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_003_GRP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var AttributeAux_list v_nullFields; @@ -8057,31 +8934,37 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_003(int9, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Group + v_ae1.start(f_CSE_DMR_UPD_003(int9, v_createRequest, v_updateRequest, v_nullFields));//Group + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { - if(ispresent(v_responsePrimitive.primitiveContent.group_.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + if(ispresent(v_responsePrimitive.primitiveContent.group_.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { if(ispresent(v_primitiveContentRetrieveResource.group_.labels)) { if(not(match(v_primitiveContentRetrieveResource.group_.labels,{""}))){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } - } + } + } } } } - testcase TC_CSE_DMR_UPD_003_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_003_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var AttributeAux_list v_nullFields; @@ -8095,19 +8978,24 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_003(int1, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_UPD_003(int1, v_createRequest, v_updateRequest, v_nullFields));//AccessControlPolicy + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { - if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } - //Check that the resource has been udpated correctly + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { if(ispresent(v_primitiveContentRetrieveResource.accessControlPolicy.labels)) { if(not(match(v_primitiveContentRetrieveResource.accessControlPolicy.labels,{""}))){ @@ -8118,8 +9006,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_003_SCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_003_SCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var AttributeAux_list v_nullFields; @@ -8133,18 +9022,23 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_003(int18, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Schedule + v_ae1.start(f_CSE_DMR_UPD_003(int18, v_createRequest, v_updateRequest, v_nullFields));//Schedule + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.schedule)) { - if(ispresent(v_responsePrimitive.primitiveContent.schedule.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + if(ispresent(v_responsePrimitive.primitiveContent.schedule.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.schedule)) { if(ispresent(v_primitiveContentRetrieveResource.schedule.labels)) { @@ -8156,8 +9050,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_003_PCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_003_PCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var AttributeAux_list v_nullFields; @@ -8171,31 +9066,37 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_003(int15, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//PollingChannel + v_ae1.start(f_CSE_DMR_UPD_003(int15, v_createRequest, v_updateRequest, v_nullFields));//PollingChannel + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { - if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(ispresent(v_primitiveContentRetrieveResource.pollingChannel.labels)) { if(not(match(v_primitiveContentRetrieveResource.pollingChannel.labels,{""}))){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } - } + } + } } } } - testcase TC_CSE_DMR_UPD_003_SUB_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_003_SUB_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var AttributeAux_list v_nullFields; @@ -8209,18 +9110,23 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_003(int23, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Subscription + v_ae1.start(f_CSE_DMR_UPD_003(int23, v_createRequest, v_updateRequest, v_nullFields));//Subscription + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { - if(ispresent(v_responsePrimitive.primitiveContent.subscription.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + if(ispresent(v_responsePrimitive.primitiveContent.subscription.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { if(ispresent(v_primitiveContentRetrieveResource.subscription.labels)) { @@ -8232,27 +9138,26 @@ module OneM2M_Testcases { } } - function f_CSE_DMR_UPD_003(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_UPD_003(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu return ResponsePrimitive { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); @@ -8264,15 +9169,15 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request, p_nullFields)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } @@ -8281,7 +9186,7 @@ module OneM2M_Testcases { } } - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); // Postamble f_cse_postamble_deleteResources(); @@ -8289,7 +9194,7 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - return v_response.primitive.responsePrimitive; + return vc_response.primitive.responsePrimitive; }//end f_CSE_DMR_UPD_003 @@ -8301,8 +9206,9 @@ module OneM2M_Testcases { * @desc Check that the IUT updates the value of the attribute ATTRIBUTE_NAME_1, and creates the ATTRIBUTE_NAME_2 and deletes the ATTRIBUTE_NAME_3 of the TARGET_RESOURCE_ADDRESS resource * */ - testcase TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var template RequestPrimitive v_createRequest := m_createContainerBase; @@ -8318,26 +9224,31 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_004(int3, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Container + v_ae1.start(f_CSE_DMR_UPD_004(int3, v_createRequest, v_updateRequest, v_nullFields));//Container + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { - //Check attribute 1 - if(v_responsePrimitive.primitiveContent.container.expirationTime != valueof(v_updateRequest.primitiveContent.container.expirationTime)){ - setverdict(fail, __SCOPE__ & ": Error: Expiration Time attribute not updated correctly") - } - //Check attribute 2 - if(v_responsePrimitive.primitiveContent.container.maxNrOfInstances != valueof(v_updateRequest.primitiveContent.container.maxNrOfInstances)){ - setverdict(fail, __SCOPE__ & ": Error: MaxNrOfInstances attribute not updated correctly") - } - //Check attribute 3 - if(ispresent(v_responsePrimitive.primitiveContent.container.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + //Check attribute 1 + if(v_responsePrimitive.primitiveContent.container.expirationTime != valueof(v_updateRequest.primitiveContent.container.expirationTime)){ + setverdict(fail, __SCOPE__ & ": Error: Expiration Time attribute not updated correctly") + } + //Check attribute 2 + if(v_responsePrimitive.primitiveContent.container.maxNrOfInstances != valueof(v_updateRequest.primitiveContent.container.maxNrOfInstances)){ + setverdict(fail, __SCOPE__ & ": Error: MaxNrOfInstances attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_responsePrimitive.primitiveContent.container.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { //Check attribute 1 @@ -8356,8 +9267,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_004_GRP_ET_GN_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_004_GRP_ET_GN_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.String v_groupName_1 := "VALUE_1"; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; @@ -8375,36 +9287,41 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_004(int9, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Group + v_ae1.start(f_CSE_DMR_UPD_004(int9, v_createRequest, v_updateRequest, v_nullFields));//Group + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { - //Check attribute 1 - if(not match(v_responsePrimitive.primitiveContent.group_.groupName, valueof(v_updateRequest.primitiveContent.group_.groupName))){ - setverdict(fail, __SCOPE__ & ": Error: groupName attribute not updated correctly") - } - //Check attribute 2 - if(not match(v_responsePrimitive.primitiveContent.group_.expirationTime, valueof(v_updateRequest.primitiveContent.group_.expirationTime))){ - setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") - } - //Check attribute 3 - if(ispresent(v_responsePrimitive.primitiveContent.group_.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + //Check attribute 1 + if(not match(v_responsePrimitive.primitiveContent.group_.groupName, valueof(v_updateRequest.primitiveContent.group_.groupName))){ + setverdict(fail, __SCOPE__ & ": Error: groupName attribute not updated correctly") + } + //Check attribute 2 + if(not match(v_responsePrimitive.primitiveContent.group_.expirationTime, valueof(v_updateRequest.primitiveContent.group_.expirationTime))){ + setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_responsePrimitive.primitiveContent.group_.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { //Check attribute 1 if(v_primitiveContentRetrieveResource.group_.groupName != valueof(v_updateRequest.primitiveContent.group_.groupName)){ setverdict(fail, __SCOPE__ & ": Error: groupName attribute not updated correctly") - } + } //Check attribute 2 if(v_primitiveContentRetrieveResource.group_.expirationTime != valueof(v_updateRequest.primitiveContent.group_.expirationTime)){ setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") - } + } //Check attribute 3 if(ispresent(v_primitiveContentRetrieveResource.group_.labels)){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") @@ -8413,11 +9330,12 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_004_ACP_PV_AT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_004_ACP_PV_AT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; - var SetOfAcrs v_privileges_2 := { accessControlRule_list := {valueof(m_createAcr({PX_SUPER_AE_ID}, int61))}}; + var SetOfAcrs v_privileges_2 := {accessControlRule_list := {valueof(m_createAcr({PX_SUPER_AE_ID}, int61))}}; var AttributeAux_list v_nullFields; var template RequestPrimitive v_createRequest := m_createAcpBase;// privileges set by default to 63 for * var template RequestPrimitive v_updateRequest := m_updateAcpBase; @@ -8431,26 +9349,31 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_004(int1, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_UPD_004(int1, v_createRequest, v_updateRequest, v_nullFields));//AccessControlPolicy + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { - //Check attribute 1 - if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy.privileges.accessControlRule_list[0].accessControlOperations, v_privileges_2.accessControlRule_list[0].accessControlOperations)){ - setverdict(fail, __SCOPE__ & ": Error: Privileges attribute not updated correctly") - } - //Check attribute 2 - if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy.announceTo, valueof(v_updateRequest.primitiveContent.accessControlPolicy.announceTo))){ - setverdict(fail, __SCOPE__ & ": Error: Announce_to attribute not updated correctly") - } - //Check attribute 3 - if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + //Check attribute 1 + if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy.privileges.accessControlRule_list[0].accessControlOperations, v_privileges_2.accessControlRule_list[0].accessControlOperations)){ + setverdict(fail, __SCOPE__ & ": Error: Privileges attribute not updated correctly") + } + //Check attribute 2 + if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy.announceTo, valueof(v_updateRequest.primitiveContent.accessControlPolicy.announceTo))){ + setverdict(fail, __SCOPE__ & ": Error: Announce_to attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { //Check attribute 1 @@ -8469,8 +9392,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_004_SCH_SE_AT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_004_SCH_SE_AT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"To be deleted"}; var AttributeAux_list v_nullFields; var template RequestPrimitive v_createRequest := m_createScheduleBase; @@ -8485,26 +9409,31 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_004(int18, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Schedule + v_ae1.start(f_CSE_DMR_UPD_004(int18, v_createRequest, v_updateRequest, v_nullFields));//Schedule + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.schedule)) { - //Check attribute 1 - if(v_responsePrimitive.primitiveContent.schedule.scheduleElement != valueof(v_updateRequest.primitiveContent.schedule.scheduleElement)){ - setverdict(fail, __SCOPE__ & ": Error: Schedule Element attribute not updated correctly") - } - //Check attribute 2 - if(v_responsePrimitive.primitiveContent.schedule.announceTo != valueof(v_updateRequest.primitiveContent.schedule.announceTo)){ - setverdict(fail, __SCOPE__ & ": Error: Announce_To attribute not updated correctly") - } - //Check attribute 3 - if(ispresent(v_responsePrimitive.primitiveContent.schedule.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + //Check attribute 1 + if(v_responsePrimitive.primitiveContent.schedule.scheduleElement != valueof(v_updateRequest.primitiveContent.schedule.scheduleElement)){ + setverdict(fail, __SCOPE__ & ": Error: Schedule Element attribute not updated correctly") + } + //Check attribute 2 + if(v_responsePrimitive.primitiveContent.schedule.announceTo != valueof(v_updateRequest.primitiveContent.schedule.announceTo)){ + setverdict(fail, __SCOPE__ & ": Error: Announce_To attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_responsePrimitive.primitiveContent.schedule.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.schedule)) { //Check attribute 1 @@ -8523,8 +9452,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_004_PCH_LBL_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_004_PCH_LBL_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var AttributeAux_list v_nullFields; @@ -8540,24 +9470,29 @@ module OneM2M_Testcases { v_nullFields := {{"labels", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_004(int15, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//PollingChannel + v_ae1.start(f_CSE_DMR_UPD_004(int15, v_createRequest, v_updateRequest, v_nullFields));//PollingChannel + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { - //Check attribute 1 + //Check attribute 1 - //Check attribute 2 TODO once another alternative is found, activate this checking - /*if(not match(v_responsePrimitive.primitiveContent.pollingChannel.accessControlPolicyIDs, valueof(v_updateRequest.primitiveContent.pollingChannel.accessControlPolicyIDs))){ - setverdict(fail, __SCOPE__ & ": Error: ACPI attribute not added correctly") - }*/ - //Check attribute 3 - if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") - } + //Check attribute 2 TODO once another alternative is found, activate this checking + /*if(not match(v_responsePrimitive.primitiveContent.pollingChannel.accessControlPolicyIDs, valueof(v_updateRequest.primitiveContent.pollingChannel.accessControlPolicyIDs))){ + setverdict(fail, __SCOPE__ & ": Error: ACPI attribute not added correctly") + }*/ + //Check attribute 3 + if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(ispresent (v_primitiveContentRetrieveResource.pollingChannel.labels)){ @@ -8567,8 +9502,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_004_SUB_ET_LBL_EXC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_004_SUB_ET_LBL_EXC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var AttributeAux_list v_nullFields; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -8583,32 +9519,37 @@ module OneM2M_Testcases { v_nullFields := {{"expirationCounter", omit}}; - v_responsePrimitive := f_CSE_DMR_UPD_004(int23, v_createRequest, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Subscription + v_ae1.start(f_CSE_DMR_UPD_004(int23, v_createRequest, v_updateRequest, v_nullFields));//Subscription + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { - //Check attribute 1 - if(not match(v_responsePrimitive.primitiveContent.subscription.labels, valueof(v_updateRequest.primitiveContent.subscription.labels))){ - setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") - } - //Check attribute 2 - if(not match(v_responsePrimitive.primitiveContent.subscription.expirationTime, valueof(v_updateRequest.primitiveContent.subscription.expirationTime))){ - setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") - } - //Check attribute 3 - if(ispresent(v_responsePrimitive.primitiveContent.subscription.expirationCounter)){ - setverdict(fail, __SCOPE__ & ": Error: expirationCounter attribute not deleted correctly") - } + //Check attribute 1 + if(not match(v_responsePrimitive.primitiveContent.subscription.labels, valueof(v_updateRequest.primitiveContent.subscription.labels))){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + //Check attribute 2 + if(not match(v_responsePrimitive.primitiveContent.subscription.expirationTime, valueof(v_updateRequest.primitiveContent.subscription.expirationTime))){ + setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_responsePrimitive.primitiveContent.subscription.expirationCounter)){ + setverdict(fail, __SCOPE__ & ": Error: expirationCounter attribute not deleted correctly") + } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { //Check attribute 1 if(not match (v_primitiveContentRetrieveResource.subscription.labels, valueof(v_updateRequest.primitiveContent.subscription.labels))){ setverdict(fail, __SCOPE__ & ": Error: Label attribute not updated correctly") - } + } //Check attribute 2 if(not match (v_primitiveContentRetrieveResource.subscription.expirationTime, valueof(v_updateRequest.primitiveContent.subscription.expirationTime))){ setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") @@ -8618,30 +9559,29 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ": Error: expirationCounter attribute not deleted correctly") } } - } + } } - function f_CSE_DMR_UPD_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_UPD_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu return ResponsePrimitive { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); @@ -8651,15 +9591,15 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request, p_nullFields)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } @@ -8668,7 +9608,7 @@ module OneM2M_Testcases { } } - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); // Postamble f_cse_postamble_deleteResources(); @@ -8676,7 +9616,7 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - return v_response.primitive.responsePrimitive; + return vc_response.primitive.responsePrimitive; }//end f_CSE_DMR_UPD_004 @@ -8688,8 +9628,9 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to update an attribute of a TARGET_RESOURCE_ADDRESS resource which does not exist * */ - testcase TC_CSE_DMR_UPD_005_CNT_EXC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_005_CNT_EXC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; @@ -8698,11 +9639,13 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container_update_invalid.expirationCounter := v_expirationCounter; - f_CSE_DMR_UPD_005(int3, v_createRequest, v_updateRequest);//Container + v_ae1.start(f_CSE_DMR_UPD_005(int3, v_createRequest, v_updateRequest));//Container + v_ae1.done; } - testcase TC_CSE_DMR_UPD_005_GRP_EXC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_005_GRP_EXC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; @@ -8711,11 +9654,13 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_update_invalid.expirationCounter := v_expirationCounter; - f_CSE_DMR_UPD_005(int9, v_createRequest, v_updateRequest);//Group + v_ae1.start(f_CSE_DMR_UPD_005(int9, v_createRequest, v_updateRequest));//Group + v_ae1.done; } - testcase TC_CSE_DMR_UPD_005_ACP_EXC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_005_ACP_EXC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_updateRequest := m_updateAcpBase; @@ -8724,11 +9669,13 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.aCP_update_invalid.expirationCounter := v_expirationCounter; - f_CSE_DMR_UPD_005(int1, v_createRequest, v_updateRequest);//AccessControlPolicy + v_ae1.start(f_CSE_DMR_UPD_005(int1, v_createRequest, v_updateRequest));//AccessControlPolicy + v_ae1.done; } - testcase TC_CSE_DMR_UPD_005_SCH_EXC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_005_SCH_EXC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createScheduleBase; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; @@ -8737,11 +9684,13 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.schedule_update_invalid.expirationCounter := v_expirationCounter; - f_CSE_DMR_UPD_005(int18, v_createRequest, v_updateRequest);//Schedule + v_ae1.start(f_CSE_DMR_UPD_005(int18, v_createRequest, v_updateRequest));//Schedule + v_ae1.done; } - testcase TC_CSE_DMR_UPD_005_PCH_EXC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_005_PCH_EXC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; @@ -8750,11 +9699,13 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.pollingChannel_update_invalid.expirationCounter := v_expirationCounter; - f_CSE_DMR_UPD_005(int15, v_createRequest, v_updateRequest);//PollingChannel + v_ae1.start(f_CSE_DMR_UPD_005(int15, v_createRequest, v_updateRequest));//PollingChannel + v_ae1.done; } - testcase TC_CSE_DMR_UPD_005_SUB_MNI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_005_SUB_MNI() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.NonNegativeInteger v_maxNrOfInstances := 5; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; @@ -8763,15 +9714,15 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.subscription_update_invalid.maxNrOfInstances := v_maxNrOfInstances; - f_CSE_DMR_UPD_005(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_005(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; } - function f_CSE_DMR_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester { + function f_CSE_DMR_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_aeIndex := -1; var integer v_ae2Index := -1; var integer v_resourceIndex := -1; @@ -8779,14 +9730,14 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive , v_aeIndex); @@ -8829,46 +9780,55 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to update the attribute ATTRIBUTE_NAME of a TARGET_RESOURCE_ADDRESS resource without having privileges for the UPDATE operation * */ - testcase TC_CSE_DMR_UPD_006_CNT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_006_CNT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_DMR_UPD_006(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_006(int3, m_createContainerBase, v_updateRequest));//Container + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.container)) { if(v_primitiveContentRetrieveResource.container.labels == v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_006_GRP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_006_GRP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.group_.labels := v_labels_1; - f_CSE_DMR_UPD_006(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_006(int9, m_createGroupBase, v_updateRequest));//Group + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.group_)) { if(v_primitiveContentRetrieveResource.group_.labels == v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_006_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_006_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var template RequestPrimitive v_requestPrimitive := m_createAcpBase; @@ -8878,75 +9838,91 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; - f_CSE_DMR_UPD_006(int1, v_requestPrimitive, v_updateRequest, v_primitiveContentRetrieveResource);//AccessControlPolicy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_006(int1, v_requestPrimitive, v_updateRequest));//AccessControlPolicy + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { if(v_primitiveContentRetrieveResource.accessControlPolicy.labels == v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_006_SCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_006_SCH_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.schedule.labels := v_labels_1; - f_CSE_DMR_UPD_006(int18, m_createScheduleBase, v_updateRequest, v_primitiveContentRetrieveResource);//Schedule - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_006(int18, m_createScheduleBase, v_updateRequest));//Schedule + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.schedule)) { if(v_primitiveContentRetrieveResource.schedule.labels == v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_006_PCH_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_006_PCH_LBL() runs on Tester system CseSystem { // Local variable + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1; - f_CSE_DMR_UPD_006(int15, m_createPollingChannelBase, v_updateRequest, v_primitiveContentRetrieveResource);//PollingChannel - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_006(int15, m_createPollingChannelBase, v_updateRequest));//PollingChannel + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(v_primitiveContentRetrieveResource.pollingChannel.labels == v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_006_SUB_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_006_SUB_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.labels := v_labels_1; - f_CSE_DMR_UPD_006(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_006(int23, m_createSubscriptionBase, v_updateRequest));//Subscription + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.subscription)) { if(v_primitiveContentRetrieveResource.subscription.labels == v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") - } + } } } } - function f_CSE_DMR_UPD_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester { + function f_CSE_DMR_UPD_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; @@ -8954,17 +9930,16 @@ module OneM2M_Testcases { var integer v_aeIndex := -1; var integer v_acpAuxIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); - stop; + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); + stop; } // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -8973,7 +9948,7 @@ module OneM2M_Testcases { v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); @@ -9000,7 +9975,7 @@ module OneM2M_Testcases { } } - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); // Postamble f_cse_postamble_deleteResources(); @@ -9019,8 +9994,9 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to update a non-RW attribute ATTRIBUTE_NAME of a TARGET_RESOURCE_ADDRESS resource * */ - testcase TC_CSE_DMR_UPD_007_CNT_CT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_007_CNT_CT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -9028,19 +10004,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent := {container_update_invalid := m_contentUpdateContainer_invalid}; v_updateRequest.primitiveContent.container_update_invalid.creationTime := v_creationTime; - f_CSE_DMR_UPD_007(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_007(int3, m_createContainerBase, v_updateRequest));//Container + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.container_update_invalid)) { if(v_primitiveContentRetrieveResource.container_update_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_007_GRP_CT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_007_GRP_CT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -9048,19 +10028,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent := {group_update_invalid := m_contentUpdateGroup_invalid}; v_updateRequest.primitiveContent.group_update_invalid.creationTime := v_creationTime; - f_CSE_DMR_UPD_007(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_007(int9, m_createGroupBase, v_updateRequest));//Group + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.group_update_invalid)) { if(v_primitiveContentRetrieveResource.group_update_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_007_ACP_CT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_007_ACP_CT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -9068,19 +10052,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent := {aCP_update_invalid := m_contentUpdateAcp_invalid}; v_updateRequest.primitiveContent.aCP_update_invalid.creationTime := v_creationTime; - f_CSE_DMR_UPD_007(int1, m_createAcpBase, v_updateRequest, v_primitiveContentRetrieveResource);//AccessControlPolicy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_007(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.aCP_update_invalid)) { if(v_primitiveContentRetrieveResource.aCP_update_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_007_SCH_CT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_007_SCH_CT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -9088,19 +10076,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent := {schedule_update_invalid := m_contentUpdateSchedule_invalid}; v_updateRequest.primitiveContent.schedule_update_invalid.creationTime := v_creationTime; - f_CSE_DMR_UPD_007(int18, m_createScheduleBase, v_updateRequest, v_primitiveContentRetrieveResource);//Schedule - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_007(int18, m_createScheduleBase, v_updateRequest));//Schedule + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.schedule_update_invalid)) { if(v_primitiveContentRetrieveResource.schedule_update_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_007_PCH_CT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_007_PCH_CT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -9108,19 +10100,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent := {pollingChannel_update_invalid := m_contentUpdatePollingChannel_invalid}; v_updateRequest.primitiveContent.pollingChannel_update_invalid.creationTime := v_creationTime; - f_CSE_DMR_UPD_007(int15, m_createPollingChannelBase, v_updateRequest, v_primitiveContentRetrieveResource);//PollingChannel - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_007(int15, m_createPollingChannelBase, v_updateRequest));//PollingChannel + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.pollingChannel_update_invalid)) { if(v_primitiveContentRetrieveResource.pollingChannel_update_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_007_SUB_CT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_007_SUB_CT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var PrimitiveContent v_primitiveContentRetrieveResource; @@ -9128,38 +10124,40 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent := {subscription_update_invalid := m_contentUpdateSubscription_invalid}; v_updateRequest.primitiveContent.subscription_update_invalid.creationTime := v_creationTime; - f_CSE_DMR_UPD_007(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_007(int23, m_createSubscriptionBase, v_updateRequest));//Subscription + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.subscription_update_invalid)) { if(v_primitiveContentRetrieveResource.subscription_update_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") - } + } } } } - function f_CSE_DMR_UPD_007(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester { + function f_CSE_DMR_UPD_007(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); @@ -9186,7 +10184,7 @@ module OneM2M_Testcases { } } - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); // Postamble f_cse_postamble_deleteResources(); @@ -9204,8 +10202,9 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries to delete a mandatory RW attribute ATTRIBUTE_NAME of a TARGET_RESOURCE_ADDRESS resource * */ - testcase TC_CSE_DMR_UPD_008_CNT_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_008_CNT_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AttributeAux_list v_nullFields; @@ -9215,19 +10214,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime; - f_CSE_DMR_UPD_008(int3, m_createContainerBase, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_008(int3, m_createContainerBase, v_updateRequest, v_nullFields));//Container + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.container)) { if(v_primitiveContentRetrieveResource.container.expirationTime == v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_008_GRP_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_008_GRP_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var AttributeAux_list v_nullFields; @@ -9237,19 +10240,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime; - f_CSE_DMR_UPD_008(int9, m_createGroupBase, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_008(int9, m_createGroupBase, v_updateRequest, v_nullFields));//Group + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.group_)) { if(v_primitiveContentRetrieveResource.group_.expirationTime == v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_008_ACP_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_008_ACP_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var AttributeAux_list v_nullFields; @@ -9259,19 +10266,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime; - f_CSE_DMR_UPD_008(int1, m_createAcpBase, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//AccessControlPolicy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_008(int1, m_createAcpBase, v_updateRequest, v_nullFields));//AccessControlPolicy + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { if(v_primitiveContentRetrieveResource.accessControlPolicy.expirationTime == v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_008_SCH_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_008_SCH_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var AttributeAux_list v_nullFields; @@ -9281,19 +10292,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.schedule.expirationTime := v_expirationTime; - f_CSE_DMR_UPD_008(int18, m_createScheduleBase, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Schedule - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_008(int18, m_createScheduleBase, v_updateRequest, v_nullFields));//Schedule + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.schedule)) { if(v_primitiveContentRetrieveResource.schedule.expirationTime == v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_008_PCH_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_008_PCH_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var AttributeAux_list v_nullFields; @@ -9303,19 +10318,23 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.pollingChannel.expirationTime := v_expirationTime; - f_CSE_DMR_UPD_008(int15, m_createPollingChannelBase, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//PollingChannel - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_008(int15, m_createPollingChannelBase, v_updateRequest, v_nullFields));//PollingChannel + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(v_primitiveContentRetrieveResource.pollingChannel.expirationTime == v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") - } + } } } } - testcase TC_CSE_DMR_UPD_008_SUB_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_008_SUB_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var AttributeAux_list v_nullFields; @@ -9325,38 +10344,40 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime; - f_CSE_DMR_UPD_008(int23, m_createSubscriptionBase, v_updateRequest, v_nullFields, v_primitiveContentRetrieveResource);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_008(int23, m_createSubscriptionBase, v_updateRequest, v_nullFields));//Subscription + v_ae1.done; + + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.subscription)) { if(v_primitiveContentRetrieveResource.subscription.expirationTime == v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") - } + } } } } - function f_CSE_DMR_UPD_008(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester { + function f_CSE_DMR_UPD_008(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); @@ -9383,7 +10404,7 @@ module OneM2M_Testcases { } } - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); // Postamble f_cse_postamble_deleteResources(); @@ -9401,7 +10422,7 @@ module OneM2M_Testcases { * @desc Check that the stateTag attribute of a container resource is increased when an update operation has been performed on its child resource * */ - testcase TC_CSE_DMR_UPD_010() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_010() runs on AeSimu system CseSystem { var MsgIn v_response; var integer v_aeIndex := -1; var integer v_containerIndex := -1; @@ -9470,7 +10491,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the UPDATE Request of an existing contentInstance resource with error “OPERATION_NOT_ALLOWED†* */ - testcase TC_CSE_DMR_UPD_011() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_011() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var RequestPrimitive v_request; @@ -9521,7 +10542,7 @@ module OneM2M_Testcases { } v_primitiveContentRetrieveResource:=f_cse_retrieveResource(v_contentInstanceIndex); - if(getverdict == pass){ + if(getverdict == pass){ //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.contentInstance)) { if(v_primitiveContentRetrieveResource.contentInstance.labels == v_labels){ @@ -9546,60 +10567,60 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the UPDATE Request of a latest resource as a direct child of a <container> resource with error “OPERATION_NOT_ALLOWED†* */ - testcase TC_CSE_DMR_UPD_012() runs on CseTester system CseSystem { - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_containerIndex := -1; - var integer v_contentInstanceIndex := -1; - var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; - var Labels v_labels := {"LABEL"}; + testcase TC_CSE_DMR_UPD_012() runs on AeSimu system CseSystem { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_contentInstanceIndex := -1; + var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; + var Labels v_labels := {"LABEL"}; var PrimitiveContent v_primitiveContentRetrieveResource; - v_updateRequest.primitiveContent.contentInstance.labels := v_labels; + v_updateRequest.primitiveContent.contentInstance.labels := v_labels; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); - v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); - //Test Body - v_request := f_getUpdateRequestPrimitive(int4, v_containerIndex, v_updateRequest); + //Test Body + v_request := f_getUpdateRequestPrimitive(int4, v_containerIndex, v_updateRequest); - v_request.to_ := v_request.to_ & "/" & c_resourceShortNameLatest; //<latest> - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Not allowed to update a latest resource with error OPERATION_NOT_ALLOWED"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Accepted update of a latest resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while updating a latest resource"); - } - } + v_request.to_ := v_request.to_ & "/" & c_resourceShortNameLatest; //<latest> + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Not allowed to update a latest resource with error OPERATION_NOT_ALLOWED"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Accepted update of a latest resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating a latest resource"); + } + } v_primitiveContentRetrieveResource:=f_cse_retrieveResource(v_contentInstanceIndex); - if(getverdict == pass){ + if(getverdict == pass){ //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.contentInstance)) { if(v_primitiveContentRetrieveResource.contentInstance.labels == v_labels){ @@ -9608,15 +10629,15 @@ module OneM2M_Testcases { } } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - }//end TC_CSE_DMR_UPD_012 + }//end TC_CSE_DMR_UPD_012 - } // end group g_CSE_DMR_UPD_012 + } // end group g_CSE_DMR_UPD_012 group g_CSE_DMR_UPD_013{ @@ -9624,60 +10645,60 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the UPDATE Request of an oldest resource as a direct child of a <container> resource with error “OPERATION_NOT_ALLOWED†* */ - testcase TC_CSE_DMR_UPD_013() runs on CseTester system CseSystem { - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_containerIndex := -1; - var integer v_contentInstanceIndex := -1; - var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; - var Labels v_labels:= {"LABEL"}; + testcase TC_CSE_DMR_UPD_013() runs on AeSimu system CseSystem { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_contentInstanceIndex := -1; + var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; + var Labels v_labels:= {"LABEL"}; var PrimitiveContent v_primitiveContentRetrieveResource; - v_updateRequest.primitiveContent.contentInstance.labels := v_labels; + v_updateRequest.primitiveContent.contentInstance.labels := v_labels; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); - v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); - //Test Body - v_request := f_getUpdateRequestPrimitive(int4, v_containerIndex, v_updateRequest); + //Test Body + v_request := f_getUpdateRequestPrimitive(int4, v_containerIndex, v_updateRequest); v_request.to_ := v_request.to_ & "/" & c_resourceShortNameOldest; //<oldest> - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Not allowed to update an oldest resource with error OPERATION_NOT_ALLOWED"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Accepted update of an oldest resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while updating an oldest resource"); - } - } + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Not allowed to update an oldest resource with error OPERATION_NOT_ALLOWED"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Accepted update of an oldest resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating an oldest resource"); + } + } v_primitiveContentRetrieveResource:=f_cse_retrieveResource(v_contentInstanceIndex); - if(getverdict == pass){ + if(getverdict == pass){ //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.contentInstance)) { if(v_primitiveContentRetrieveResource.contentInstance.labels == v_labels){ @@ -9685,15 +10706,15 @@ module OneM2M_Testcases { } } } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - }//end TC_CSE_DMR_UPD_013 + }//end TC_CSE_DMR_UPD_013 - } // end group g_CSE_DMR_UPD_013 + } // end group g_CSE_DMR_UPD_013 group g_CSE_DMR_UPD_014 { @@ -9701,8 +10722,9 @@ module OneM2M_Testcases { * @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource. * */ - testcase TC_CSE_DMR_UPD_014_ACP_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_ACP_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; var Timestamp v_expirationTime_2 := "20401020T012345"; var template RequestPrimitive v_createRequest := m_createAcpBase; @@ -9712,9 +10734,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_1; v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest);//ACP - - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest));//ACP + 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.accessControlPolicy)) { @@ -9727,8 +10752,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_ACP_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_ACP_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var template RequestPrimitive v_createRequest := m_createAcpBase; @@ -9738,9 +10764,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest);//ACP + v_ae1.start(f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest));//ACP + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { @@ -9753,8 +10782,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_ACP_PV() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_ACP_PV() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var SetOfAcrs v_privileges_1; var SetOfAcrs v_privileges_2; var template RequestPrimitive v_createRequest := m_createAcpBase; @@ -9767,9 +10797,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_1; v_updateRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest);//ACP + v_ae1.start(f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest));//ACP + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { @@ -9782,8 +10815,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_ACP_PVS() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_ACP_PVS() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var SetOfAcrs v_selfPrivileges_1; var SetOfAcrs v_selfPrivileges_2; var template RequestPrimitive v_createRequest := m_createAcpBase; @@ -9796,9 +10830,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.accessControlPolicy.selfPrivileges := v_selfPrivileges_1; v_updateRequest.primitiveContent.accessControlPolicy.selfPrivileges := v_selfPrivileges_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest);//ACP + v_ae1.start(f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest));//ACP + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { @@ -9811,8 +10848,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_CNT_ACPI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_CNT_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 ResponsePrimitive v_responsePrimitive; @@ -9823,10 +10861,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.accessControlPolicyIDs := v_accessControlPolicyIDs_1; v_updateRequest.primitiveContent.container.accessControlPolicyIDs := v_accessControlPolicyIDs_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container - + v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { @@ -9838,8 +10878,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_014_CNT_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_CNT_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; var Timestamp v_expirationTime_2 := "20401020T012345"; var ResponsePrimitive v_responsePrimitive; @@ -9850,10 +10891,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.expirationTime := v_expirationTime_1; v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container - + v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { @@ -9865,8 +10908,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_014_CNT_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_CNT_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var ResponsePrimitive v_responsePrimitive; @@ -9877,10 +10921,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.labels := v_labels_1; v_updateRequest.primitiveContent.container.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container - + v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { @@ -9892,8 +10938,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_014_CNT_MBS() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_CNT_MBS() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.NonNegativeInteger v_maxByteSize_1 := 256; var XSD.NonNegativeInteger v_maxByteSize_2 := 512; var ResponsePrimitive v_responsePrimitive; @@ -9904,10 +10951,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize_1; v_updateRequest.primitiveContent.container.maxByteSize := v_maxByteSize_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container - + v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { @@ -9919,8 +10968,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_014_CNT_MIA() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_CNT_MIA() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.NonNegativeInteger v_maxInstanceAge_1 := 60; var XSD.NonNegativeInteger v_maxInstanceAge_2 := 120; var ResponsePrimitive v_responsePrimitive; @@ -9931,10 +10981,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.maxInstanceAge := v_maxInstanceAge_1; v_updateRequest.primitiveContent.container.maxInstanceAge := v_maxInstanceAge_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container - + v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { @@ -9946,8 +10998,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_014_CNT_MNI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_CNT_MNI() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.NonNegativeInteger v_maxNrOfInstances_1 := 1; var XSD.NonNegativeInteger v_maxNrOfInstances_2 := 2; var ResponsePrimitive v_responsePrimitive; @@ -9958,10 +11011,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.maxNrOfInstances := v_maxNrOfInstances_1; v_updateRequest.primitiveContent.container.maxNrOfInstances := v_maxNrOfInstances_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container - - - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container + 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.container)) { @@ -9973,8 +11028,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_014_CNT_OR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_CNT_OR() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_ontologyRef_1 := "MyOntologyRef_1"; var XSD.AnyURI v_ontologyRef_2 := "MyOntologyRef_2"; var ResponsePrimitive v_responsePrimitive; @@ -9985,10 +11041,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.ontologyRef := v_ontologyRef_1; v_updateRequest.primitiveContent.container.ontologyRef := v_ontologyRef_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container - + v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { @@ -10000,8 +11058,9 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_014_SUB_ACPI() runs on CseTester system CseSystem { + 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; @@ -10011,9 +11070,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_1; v_updateRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10026,8 +11088,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_BN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_BN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var BatchNotify v_batchNotify_1 := {1, "PT1S"}; var BatchNotify v_batchNotify_2 := {2, "PT1S"}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10037,9 +11100,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.batchNotify := v_batchNotify_1; v_updateRequest.primitiveContent.subscription.batchNotify := v_batchNotify_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10052,8 +11118,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_ENC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_ENC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var EventNotificationCriteria v_eventNotificationCriteria_1 := valueof(m_eventNotificationCriteria({int1}, -)); var EventNotificationCriteria v_eventNotificationCriteria_2 := valueof(m_eventNotificationCriteria({int2}, -)); var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10063,9 +11130,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.eventNotificationCriteria := v_eventNotificationCriteria_1; v_updateRequest.primitiveContent.subscription.eventNotificationCriteria := v_eventNotificationCriteria_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10078,8 +11148,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_ET() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; var Timestamp v_expirationTime_2 := "20401020T012345"; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10089,9 +11160,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.expirationTime := v_expirationTime_1; v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10104,8 +11178,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_EXC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_EXC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter_1 := 10; var XSD.PositiveInteger v_expirationCounter_2 := 20; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10115,9 +11190,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.expirationCounter := v_expirationCounter_1; v_updateRequest.primitiveContent.subscription.expirationCounter := v_expirationCounter_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10130,8 +11208,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_GPI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_GPI() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_groupID_1 := "MyGroupID_1"; var XSD.AnyURI v_groupID_2 := "MyGroupID_2"; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10141,9 +11220,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.groupID := v_groupID_1; v_updateRequest.primitiveContent.subscription.groupID := v_groupID_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10156,8 +11238,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_LBL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10167,9 +11250,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.labels := v_labels_1; v_updateRequest.primitiveContent.subscription.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10182,8 +11268,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_LN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_LN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.Boolean v_latestNotify_1 := true; var XSD.Boolean v_latestNotify_2 := false; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10193,9 +11280,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.latestNotify := v_latestNotify_1; v_updateRequest.primitiveContent.subscription.latestNotify := v_latestNotify_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10208,8 +11298,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_NCT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_NCT() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var NotificationContentType v_notificationContentType_1 := int1; var NotificationContentType v_notificationContentType_2 := int2; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10219,9 +11310,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType_1; v_updateRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10234,8 +11328,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_NEC() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_NEC() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var EventCat v_notificationEventCat_1 := {alt_1 := 100}; var EventCat v_notificationEventCat_2 := {alt_1 := 101}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10245,9 +11340,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.notificationEventCat := v_notificationEventCat_1; v_updateRequest.primitiveContent.subscription.notificationEventCat := v_notificationEventCat_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10260,8 +11358,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_NFU() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_NFU() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_notificationForwardingURI_1 := "MyForwardingURI_1"; var XSD.AnyURI v_notificationForwardingURI_2 := "MyForwardingURI_2"; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10271,9 +11370,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.notificationForwardingURI := v_notificationForwardingURI_1; v_updateRequest.primitiveContent.subscription.notificationForwardingURI := v_notificationForwardingURI_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10286,8 +11388,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_NSP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_NSP() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_notificationStoragePriority_1 := 1; var XSD.PositiveInteger v_notificationStoragePriority_2 := 2; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10297,9 +11400,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.notificationStoragePriority := v_notificationStoragePriority_1; v_updateRequest.primitiveContent.subscription.notificationStoragePriority := v_notificationStoragePriority_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10312,8 +11418,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_PN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_PN() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var PendingNotification v_pendingNotification_1 := int1; var PendingNotification v_pendingNotification_2 := int2; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10323,9 +11430,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.pendingNotification := v_pendingNotification_1; v_updateRequest.primitiveContent.subscription.pendingNotification := v_pendingNotification_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10338,8 +11448,9 @@ module OneM2M_Testcases { } - testcase TC_CSE_DMR_UPD_014_SUB_RL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_014_SUB_RL() runs on Tester system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RateLimit v_rateLimit_1 := {0, omit}; var RateLimit v_rateLimit_2 := {1, omit}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; @@ -10349,9 +11460,12 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.subscription.rateLimit := v_rateLimit_1; v_updateRequest.primitiveContent.subscription.rateLimit := v_rateLimit_2; - v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription + v_ae1.done; + + - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { @@ -10364,27 +11478,26 @@ module OneM2M_Testcases { } - function f_CSE_DMR_UPD_014(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester return ResponsePrimitive{ + function f_CSE_DMR_UPD_014(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); @@ -10394,11 +11507,11 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } @@ -10412,29 +11525,31 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - - return v_response.primitive.responsePrimitive; - + }//end f_CSE_DMR_UPD_014 } // end g_CSE_DMR_UPD_014 - group g_CSE_DMR_UPD_017{ + group g_CSE_DMR_UPD_017{ /** * @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase */ - testcase TC_CSE_DMR_UPD_017_CSR_LBL() runs on CseTester system CseSystem { - var AcpType v_acpType; - var Labels v_labels := {"MyLabel"}; - var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; - var ResponsePrimitive v_responsePrimitive; - var PrimitiveContent v_primitiveContentRetrieveResource; + testcase TC_CSE_DMR_UPD_017_CSR_LBL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels := {"MyLabel"}; + var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; + var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.remoteCSE.labels := v_labels; - v_responsePrimitive := f_CSE_DMR_UPD_017(int16, m_createRemoteCSEBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Remote CSE - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE + 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.remoteCSE)) { @@ -10443,9 +11558,10 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly - if(ischosen(v_primitiveContentRetrieveResource.remoteCSE)) { + if(ischosen(v_primitiveContentRetrieveResource.remoteCSE)) { if(v_primitiveContentRetrieveResource.remoteCSE.labels != v_labels){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } @@ -10453,17 +11569,21 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_CSR_POA() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_CSR_POA() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var PoaList v_poaList := {"http://" & PX_AE2_ADDRESS & "/"}; - var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; - var ResponsePrimitive v_responsePrimitive; - var PrimitiveContent v_primitiveContentRetrieveResource; + var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; + var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; + + v_updateRequest.primitiveContent.remoteCSE.pointOfAccess := v_poaList; - v_updateRequest.primitiveContent.remoteCSE.pointOfAccess := v_poaList; + v_ae1.start(f_CSE_DMR_UPD_017(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE + v_ae1.done; + + - v_responsePrimitive := f_CSE_DMR_UPD_017(int16, m_createRemoteCSEBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Remote CSE - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { @@ -10472,6 +11592,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.remoteCSE)) { @@ -10482,17 +11603,21 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_CSR_NL() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_CSR_NL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_nodeLink := "MyNodeId"; - var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; - var ResponsePrimitive v_responsePrimitive; - var PrimitiveContent v_primitiveContentRetrieveResource; + var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; + var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; + + v_updateRequest.primitiveContent.remoteCSE.nodeLink := v_nodeLink; - v_updateRequest.primitiveContent.remoteCSE.nodeLink := v_nodeLink; + v_ae1.start(f_CSE_DMR_UPD_017(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE + v_ae1.done; + + - v_responsePrimitive := f_CSE_DMR_UPD_017(int16, m_createRemoteCSEBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Remote CSE - if(getverdict == pass){ + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { @@ -10501,6 +11626,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.remoteCSE)) { @@ -10511,8 +11637,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_NOD_LBL() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_NOD_LBL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels := {"MyLabel"}; var template RequestPrimitive v_updateRequest := m_updateNodeBase; var ResponsePrimitive v_responsePrimitive; @@ -10520,8 +11646,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.node.labels := v_labels; - v_responsePrimitive := f_CSE_DMR_UPD_017(int9, m_createNodeBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Node - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int9, m_createNodeBase, v_updateRequest));//Node + 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.node)) { @@ -10530,6 +11660,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.node)) { @@ -10540,39 +11671,49 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_NOD_ACPI() runs on CseTester system CseSystem { - var AcpType v_acpType := {"NotInitialized"}; + testcase TC_CSE_DMR_UPD_017_NOD_ACPI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateNodeBase; + var RequestPrimitive v_updateRequestPrimitive; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; - v_responsePrimitive := f_CSE_DMR_UPD_017(int9, m_createNodeBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType, true);//Node + + v_ae1.start(f_CSE_DMR_UPD_017(int9, m_createNodeBase, v_updateRequest, true));//Node + v_ae1.done; + + + if(getverdict == pass){ + v_responsePrimitive := f_getResponsePrimitive(v_ae1); + + v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.node)) { - if(v_responsePrimitive.primitiveContent.node.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_responsePrimitive.primitiveContent.node.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__, ": Error: Access Control Policy attribute not updated correctly") } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.node)) { - if(v_primitiveContentRetrieveResource.node.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_primitiveContentRetrieveResource.node.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__ & ": Error: Access Control Policy attribute not updated correctly") } } } } - testcase TC_CSE_DMR_UPD_017_NOD_HCL() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_017_NOD_HCL() runs on Tester system CseSystem { /* TO BE DONE */ } - testcase TC_CSE_DMR_UPD_017_AE_LBL() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_AE_LBL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels := {"MyLabel"}; var template RequestPrimitive v_updateRequest := m_updateAE; var ResponsePrimitive v_responsePrimitive; @@ -10580,8 +11721,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.aE.labels := v_labels; - v_responsePrimitive := f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//AE - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest));//AE + 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.aE)) { @@ -10590,6 +11735,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.aE)) { @@ -10600,43 +11746,54 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_AE_ACPI() runs on CseTester system CseSystem { - var AcpType v_acpType := {"NotInitialized"}; + testcase TC_CSE_DMR_UPD_017_AE_ACPI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateAE; + var RequestPrimitive v_updateRequestPrimitive; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; - v_responsePrimitive := f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest, v_primitiveContentRetrieveResource, v_acpType, true);//AE + v_ae1.start(f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest, true));//AE + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ + v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.aE)) { - if(v_responsePrimitive.primitiveContent.aE.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_responsePrimitive.primitiveContent.aE.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__, ": Error: Access control policy IDs attribute not updated correctly") } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); - //Check that the resource has been udpated correctly + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.aE)) { - if(v_primitiveContentRetrieveResource.aE.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_primitiveContentRetrieveResource.aE.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__ & ": Error: Access control policy IDs attribute not updated correctly") } } } } - testcase TC_CSE_DMR_UPD_017_AE_APN() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_AE_APN() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.String v_appName := "MyAppName"; var template RequestPrimitive v_updateRequest := m_updateAE; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.aE.appName := v_appName; - v_responsePrimitive := f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//AE - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest));//AE + 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.aE)) { @@ -10645,6 +11802,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.aE)) { @@ -10655,16 +11813,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_AE_POA() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_AE_POA() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var PoaList v_poaList := {"http://" & PX_AE2_ADDRESS & "/"}; var template RequestPrimitive v_updateRequest := m_updateAE; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.aE.pointOfAccess := v_poaList; - v_responsePrimitive := f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//AE - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest));//AE + 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.aE)) { @@ -10673,6 +11835,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.aE)) { @@ -10683,16 +11846,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_AE_OR() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_AE_OR() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_ontoLogyRef := "MyOntologyRef"; var template RequestPrimitive v_updateRequest := m_updateAE; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.aE.ontologyRef := v_ontoLogyRef; - v_responsePrimitive := f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//AE - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int2, m_createAe(PX_APP_ID), v_updateRequest));//AE + 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.aE)) { @@ -10701,6 +11868,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.aE)) { @@ -10711,8 +11879,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_CNT_LBL() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_CNT_LBL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels := {"MyLabel"}; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; @@ -10720,8 +11888,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container.labels := v_labels; - v_responsePrimitive := f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest));//Container + 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.container)) { @@ -10730,6 +11902,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { @@ -10740,35 +11913,42 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_CNT_ACPI() runs on CseTester system CseSystem { - var AcpType v_acpType := {"NotInitialized"}; + testcase TC_CSE_DMR_UPD_017_CNT_ACPI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var RequestPrimitive v_updateRequestPrimitive; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; - v_responsePrimitive := f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType, true);//Container + v_ae1.start(f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest, true));//Container + v_ae1.done; + + if(getverdict == pass){ + v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { - if(v_responsePrimitive.primitiveContent.container.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_responsePrimitive.primitiveContent.container.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__, ": Error: Access Control Policy IDs attribute not updated correctly") } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { - if(v_primitiveContentRetrieveResource.container.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_primitiveContentRetrieveResource.container.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__ & ": Error: Access Control Policy IDs attribute not updated correctly") } } } } - testcase TC_CSE_DMR_UPD_017_CNT_MNI() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_CNT_MNI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.NonNegativeInteger v_maxNrOfInstances := 5; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; @@ -10776,8 +11956,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container.maxNrOfInstances := v_maxNrOfInstances; - v_responsePrimitive := f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest));//Container + 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.container)) { @@ -10786,6 +11970,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { @@ -10796,8 +11981,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_CNT_MBS() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_CNT_MBS() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.NonNegativeInteger v_maxByteSize := 512; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; @@ -10805,8 +11990,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container.maxByteSize := v_maxByteSize; - v_responsePrimitive := f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest));//Container + 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.container)) { @@ -10815,6 +12004,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { @@ -10825,8 +12015,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_CNT_MIA() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_CNT_MIA() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.NonNegativeInteger v_maxInstanceAge := 1; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; @@ -10834,8 +12024,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container.maxInstanceAge := v_maxInstanceAge; - v_responsePrimitive := f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest));//Container + 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.container)) { @@ -10844,6 +12038,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { @@ -10854,8 +12049,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_CNT_OR() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_CNT_OR() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_ontoLogyRef := "MyOntologyRef"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; @@ -10863,8 +12058,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container.ontologyRef := v_ontoLogyRef; - v_responsePrimitive := f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest));//Container + 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.container)) { @@ -10873,6 +12072,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { @@ -10883,8 +12083,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_CNT_LI() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_CNT_LI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_locationID := "MyLocationID"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; @@ -10892,8 +12092,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container.locationID := v_locationID; - v_responsePrimitive := f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int3, m_createContainerBase, v_updateRequest));//Container + 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.container)) { @@ -10902,6 +12106,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { @@ -10912,8 +12117,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_ACP_LBL() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_ACP_LBL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels := {"MyLabel"}; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; @@ -10921,8 +12126,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels; - v_responsePrimitive := f_CSE_DMR_UPD_017(int1, m_createAcpBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//AccessControlPolicy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy + 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.accessControlPolicy)) { @@ -10931,6 +12140,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { @@ -10941,43 +12151,54 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_ACPI() runs on CseTester system CseSystem { - var AcpType v_acpType := {"NotInitialized"}; + testcase TC_CSE_DMR_UPD_017_SUB_ACPI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var RequestPrimitive v_updateRequestPrimitive; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType, true);//Subscription + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, true));//Subscription + v_ae1.done; - if(getverdict == pass){ - //Check attribute 1 + + + if(getverdict == pass){ + v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1); + //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { - if(v_responsePrimitive.primitiveContent.subscription.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_responsePrimitive.primitiveContent.subscription.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__, ": Error: Access Control Policy IDs attribute not updated correctly") } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { - if(v_primitiveContentRetrieveResource.subscription.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_primitiveContentRetrieveResource.subscription.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__ & ": Error: Access Control Policy IDs attribute not updated correctly") } } } } - testcase TC_CSE_DMR_UPD_017_SUB_LBL() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_LBL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels := {"MyLabel"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.labels := v_labels; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -10986,6 +12207,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -10996,16 +12218,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_ENC() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_ENC() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var EventNotificationCriteria v_eventNotificationCriteria:= valueof(m_eventNotificationCriteria({int3}, -)); var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.eventNotificationCriteria:=v_eventNotificationCriteria ; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11014,6 +12240,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11024,16 +12251,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_EXC() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_EXC() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter:=10; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.expirationCounter:=v_expirationCounter; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11042,6 +12273,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11052,16 +12284,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_GPI() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_GPI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_groupID := "MyGroupID"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.groupID:=v_groupID; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11070,6 +12306,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11080,16 +12317,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_NFU() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_NFU() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_notificationForwardingURI:= "MyNotificationForwardingURI"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.notificationForwardingURI:=v_notificationForwardingURI; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11098,6 +12339,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11108,16 +12350,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_BN() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_BN() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var BatchNotify v_batchNotify:= {1, "PT1S"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.batchNotify:=v_batchNotify; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11126,6 +12372,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11136,16 +12383,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_RL() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_RL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RateLimit v_rateLimit:= {2, "PT1S"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.rateLimit:=v_rateLimit; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11154,6 +12405,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11164,16 +12416,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_PN() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_PN() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var PendingNotification v_pendingNotification:=int2; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.pendingNotification:=v_pendingNotification; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11182,6 +12438,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11192,16 +12449,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_NSP() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_NSP() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_notificationStoragePriority:=10; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.notificationStoragePriority:=v_notificationStoragePriority; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11210,6 +12471,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11220,16 +12482,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_LN() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_LN() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.Boolean v_latestNotify:=true; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.latestNotify:=v_latestNotify; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11238,6 +12504,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11248,16 +12515,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_SUB_NEC() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_SUB_NEC() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var EventCat v_eventCat:= {alt_1:= 300}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.notificationEventCat:=v_eventCat; - v_responsePrimitive := f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int23, m_createSubscriptionBase, 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)) { @@ -11266,6 +12537,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11276,16 +12548,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_GRP_LBL() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_GRP_LBL() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels := {"MyLabel"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; - var PrimitiveContent v_primitiveContentRetrieveResource; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.group_.labels := v_labels; - v_responsePrimitive := f_CSE_DMR_UPD_017(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int9, m_createGroupBase, v_updateRequest));//Group + 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.group_)) { @@ -11294,6 +12570,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { @@ -11304,43 +12581,54 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_017_GRP_ACPI() runs on CseTester system CseSystem { - var AcpType v_acpType := {"NotInitialized"}; + testcase TC_CSE_DMR_UPD_017_GRP_ACPI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateGroupBase; + var RequestPrimitive v_updateRequestPrimitive; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; - v_responsePrimitive := f_CSE_DMR_UPD_017(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType, true);//Group + v_ae1.start(f_CSE_DMR_UPD_017(int9, m_createGroupBase, v_updateRequest, true));//Group + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ + v_responsePrimitive := f_getResponsePrimitive(v_ae1); + v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { - if(v_responsePrimitive.primitiveContent.group_.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_responsePrimitive.primitiveContent.group_.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__, ": Error: Access Control Policy IDs attribute not updated correctly") } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); - //Check that the resource has been udpated correctly + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { - if(v_primitiveContentRetrieveResource.group_.accessControlPolicyIDs != valueof(v_acpType)){ + if(v_primitiveContentRetrieveResource.group_.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){ setverdict(fail, __SCOPE__ & ": Error: Access Control Policy IDs attribute not updated correctly") } } } } - testcase TC_CSE_DMR_UPD_017_GRP_MACP() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_GRP_MACP() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ListOfURIs v_membersAccessControlPolicyIDs := {"NotInitialized"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.group_.membersAccessControlPolicyIDs := v_membersAccessControlPolicyIDs; - v_responsePrimitive := f_CSE_DMR_UPD_017(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int9, m_createGroupBase, v_updateRequest));//Group + 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.group_)) { @@ -11349,26 +12637,31 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); - //Check that the resource has been udpated correctly - if(ischosen(v_primitiveContentRetrieveResource.group_)) { + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.group_)) { if(v_primitiveContentRetrieveResource.group_.membersAccessControlPolicyIDs != v_membersAccessControlPolicyIDs){ setverdict(fail, __SCOPE__ & ": Error: Members Access Control Policy IDs attribute not updated correctly") - } + } } } } - testcase TC_CSE_DMR_UPD_017_GRP_GN() runs on CseTester system CseSystem { - var AcpType v_acpType; + testcase TC_CSE_DMR_UPD_017_GRP_GN() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.String v_groupName:="MyGroupName"; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.group_.groupName := v_groupName; - v_responsePrimitive := f_CSE_DMR_UPD_017(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource, v_acpType);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_017(int9, m_createGroupBase, v_updateRequest));//Group + 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.group_)) { @@ -11377,6 +12670,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { @@ -11387,27 +12681,30 @@ module OneM2M_Testcases { } } - function f_CSE_DMR_UPD_017(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource, out AcpType p_acpi, boolean p_secondAcp := false) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_UPD_017(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, boolean p_secondAcp := false) runs on AeSimu { //Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; - var integer v_ae2Index := -1; - var integer v_acpAuxIndex := -1; - var integer v_acpIndex := -1; - - // Test control + var MsgIn v_response; + var AcpType v_acpi; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_ae2Index := -1; + var integer v_acpAuxIndex := -1; + var integer v_acpIndex := -1; + + // Test control // Test component configuration - f_cf02Up(); + if (p_resourceType!=int16){ //ResourceType != RemoteCSE + f_cf01Up(true); + } else { + f_cf02Up(); + } + + // Test adapter configuration - // Test adapter configuration + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - if(p_resourceType != int1) { v_acpAuxIndex := f_cse_createAccessControlPolicyAux(-, -, -); @@ -11418,63 +12715,66 @@ module OneM2M_Testcases { if(p_secondAcp) {//A second ACP is required v_acpIndex := f_cse_createResource(int1, m_createAcpBase); - p_acpi := {vc_resourcesList[v_acpIndex].resource.accessControlPolicy.resourceID}; + v_acpi := {vc_resourcesList[v_acpIndex].resource.accessControlPolicy.resourceID}; - p_updateRequestPrimitive := f_setAcpId(p_updateRequestPrimitive, p_acpi); + p_updateRequestPrimitive := f_setAcpId(p_updateRequestPrimitive, v_acpi); } - - if (p_resourceType!=int16){ //ResourceType != RemoteCSE + + if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource - } else { //ResourceType = RemoteCSE - v_resourceIndex := f_cse_registerRemoteCse(p_createRequestPrimitive); - } + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource + } else { //ResourceType = RemoteCSE + vc_cseSimu.start(f_cse_registerRemoteCse(p_createRequestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); + } - //Test Body - v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive); + //Test Body + vc_request.primitive.requestPrimitive := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive); - mcaPort.send(m_request(v_request)); //CSEBase - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + mcaPort.send(m_request(vc_request.primitive.requestPrimitive)); //CSEBase + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response { tc_ac.stop; - setverdict(pass, __SCOPE__, ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + setverdict(pass, __SCOPE__, ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__, ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; - setverdict(fail, __SCOPE__, ": Error while updating optional attribute"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__, ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); - } - } + setverdict(fail, __SCOPE__, ": Error while updating optional attribute"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + } + } - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf02Down(); + // Tear down + f_cf02Down(); - return v_response.primitive.responsePrimitive; } // end function f_CSE_DMR_UPD_017 - } // end group g_CSE_DMR_UPD_017 + } // end group g_CSE_DMR_UPD_017 - group g_CSE_DMR_UPD_018 { + group g_CSE_DMR_UPD_018 { /** * @desc Check that the IUT updates successfully the value of the attribute MANDATORY_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase */ - testcase TC_CSE_DMR_UPD_018_CSR_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_CSR_ET() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; var ResponsePrimitive v_responsePrimitive; @@ -11482,9 +12782,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.remoteCSE.expirationTime := v_expirationTime; - v_responsePrimitive := f_CSE_DMR_UPD_018(int16, m_createRemoteCSEBase, v_updateRequest, v_primitiveContentRetrieveResource);//Remote CSE + v_ae1.start(f_CSE_DMR_UPD_018(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE + v_ae1.done; - if(getverdict == pass){ + + + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { @@ -11493,8 +12796,9 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); - //Check that the resource has been udpated correctly + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.remoteCSE)) { if(v_primitiveContentRetrieveResource.remoteCSE.expirationTime != v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute not updated correctly") @@ -11503,16 +12807,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_CSR_RR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_CSR_RR() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.Boolean v_requestReachability := true; var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.remoteCSE.requestReachability := v_requestReachability; + v_ae1.done; - v_responsePrimitive := f_CSE_DMR_UPD_018(int16, m_createRemoteCSEBase, v_updateRequest, v_primitiveContentRetrieveResource);//Remote CSE - if(getverdict == pass){ + + + v_ae1.start(f_CSE_DMR_UPD_018(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { @@ -11521,6 +12829,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.remoteCSE)) { @@ -11531,7 +12840,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_NOD_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_NOD_ET() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateNodeBase; var ResponsePrimitive v_responsePrimitive; @@ -11539,8 +12849,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.node.expirationTime := v_expirationTime; - v_responsePrimitive := f_CSE_DMR_UPD_018(int9, m_createNodeBase, v_updateRequest, v_primitiveContentRetrieveResource);//Node - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int9, m_createNodeBase, v_updateRequest));//Node + 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.node)) { @@ -11549,6 +12863,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.node)) { @@ -11559,7 +12874,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_NOD_NI() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_NOD_NI() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateNodeBase; var XSD.Token v_targetId := "TARGET-ID"; var ResponsePrimitive v_responsePrimitive; @@ -11567,8 +12883,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.node.nodeID := v_targetId; - v_responsePrimitive := f_CSE_DMR_UPD_018(int9, m_createNodeBase, v_updateRequest, v_primitiveContentRetrieveResource);//Node - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int9, m_createNodeBase, v_updateRequest));//Node + 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.node)) { @@ -11577,6 +12897,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.node)) { @@ -11587,7 +12908,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_AE_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_AE_ET() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateAE; var ResponsePrimitive v_responsePrimitive; @@ -11595,8 +12917,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.aE.expirationTime := v_expirationTime; - v_responsePrimitive := f_CSE_DMR_UPD_018(int2, m_createAe(PX_APP_ID), v_updateRequest, v_primitiveContentRetrieveResource);//AE - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int2, m_createAe(PX_APP_ID), v_updateRequest));//AE + 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.aE)) { @@ -11605,7 +12931,8 @@ module OneM2M_Testcases { } } } - + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.aE)) { if(v_primitiveContentRetrieveResource.aE.expirationTime != v_expirationTime){ @@ -11615,7 +12942,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_AE_RR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_AE_RR() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.Boolean v_requestReachability := true; var template RequestPrimitive v_updateRequest := m_updateAE; var ResponsePrimitive v_responsePrimitive; @@ -11623,8 +12951,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.aE.requestReachability := v_requestReachability; - v_responsePrimitive := f_CSE_DMR_UPD_018(int2, m_createAe(PX_APP_ID), v_updateRequest, v_primitiveContentRetrieveResource);//AE - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int2, m_createAe(PX_APP_ID), v_updateRequest));//AE + 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.aE)) { @@ -11633,6 +12965,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.aE)) { @@ -11643,7 +12976,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_CNT_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_CNT_ET() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; @@ -11651,8 +12985,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime; - v_responsePrimitive := f_CSE_DMR_UPD_018(int3, m_createContainerBase, v_updateRequest, v_primitiveContentRetrieveResource);//Container - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int3, m_createContainerBase, v_updateRequest));//Container + 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.container)) { @@ -11661,6 +12999,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.container)) { @@ -11671,7 +13010,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_ACP_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_ACP_ET() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; @@ -11679,8 +13019,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime; - v_responsePrimitive := f_CSE_DMR_UPD_018(int1, m_createAcpBase, v_updateRequest, v_primitiveContentRetrieveResource);//AccessControlPolicy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy + 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.accessControlPolicy)) { @@ -11689,6 +13033,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { @@ -11699,15 +13044,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_ACP_PV() runs on CseTester system CseSystem { - var SetOfAcrs v_privileges_1 := { accessControlRule_list := {valueof(m_createAcr({PX_SUPER_AE_ID}, int61))}}; + testcase TC_CSE_DMR_UPD_018_ACP_PV() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var SetOfAcrs v_privileges_1 := {{valueof(m_createAcr({PX_SUPER_AE_ID}, int61))}}; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_1; - v_responsePrimitive := f_CSE_DMR_UPD_018(int1, m_createAcpBase, v_updateRequest, v_primitiveContentRetrieveResource);//AccessControlPolicy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy + 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.accessControlPolicy)) { @@ -11716,6 +13066,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { @@ -11726,15 +13077,20 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_ACP_PVS() runs on CseTester system CseSystem { - var SetOfAcrs v_privileges_1 := { accessControlRule_list := {valueof(m_createAcr({PX_SUPER_AE_ID}, int61))}}; + testcase TC_CSE_DMR_UPD_018_ACP_PVS() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var SetOfAcrs v_privileges_1 := {{valueof(m_createAcr({PX_SUPER_AE_ID}, int61))}}; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.accessControlPolicy.selfPrivileges := v_privileges_1; - v_responsePrimitive := f_CSE_DMR_UPD_018(int1, m_createAcpBase, v_updateRequest, v_primitiveContentRetrieveResource);//AccessControlPolicy - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy + 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.accessControlPolicy)) { @@ -11743,6 +13099,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { @@ -11751,9 +13108,10 @@ module OneM2M_Testcases { } } } - } + } - testcase TC_CSE_DMR_UPD_018_SUB_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_SUB_ET() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; @@ -11761,8 +13119,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime; - v_responsePrimitive := f_CSE_DMR_UPD_018(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int23, m_createSubscriptionBase, 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)) { @@ -11772,7 +13134,9 @@ module OneM2M_Testcases { } } - //Check that the resource has been udpated correctly + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { if(v_primitiveContentRetrieveResource.subscription.expirationTime != v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute not updated correctly") @@ -11781,7 +13145,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_SUB_NU() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_SUB_NU() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ListOfURIs v_notificationURI := {"NotReachableNotificationURI"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; @@ -11789,8 +13154,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.subscription.notificationURI := v_notificationURI; - v_responsePrimitive := f_CSE_DMR_UPD_018(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int23, m_createSubscriptionBase, 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)) { @@ -11799,6 +13168,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11809,7 +13179,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_SUB_NCT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_SUB_NCT() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var NotificationContentType v_notificationContentType := int2; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; @@ -11817,8 +13188,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType; - v_responsePrimitive := f_CSE_DMR_UPD_018(int23, m_createSubscriptionBase, v_updateRequest, v_primitiveContentRetrieveResource);//Subscription - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int23, m_createSubscriptionBase, 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)) { @@ -11827,6 +13202,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.subscription)) { @@ -11837,7 +13213,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_GRP_ET() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_GRP_ET() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; @@ -11845,8 +13222,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime; - v_responsePrimitive := f_CSE_DMR_UPD_018(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int9, m_createGroupBase, v_updateRequest));//Group + 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.group_)) { @@ -11855,6 +13236,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { @@ -11865,7 +13247,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_GRP_MNM() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_GRP_MNM() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_maxNrOfMembers := 10; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; @@ -11873,8 +13256,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_.maxNrOfMembers := v_maxNrOfMembers; - v_responsePrimitive := f_CSE_DMR_UPD_018(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int9, m_createGroupBase, v_updateRequest));//Group + 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.group_)) { @@ -11883,7 +13270,8 @@ module OneM2M_Testcases { } } } - + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { if(v_primitiveContentRetrieveResource.group_.maxNrOfMembers != v_maxNrOfMembers){ @@ -11893,7 +13281,8 @@ module OneM2M_Testcases { } } - testcase TC_CSE_DMR_UPD_018_GRP_MID() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_UPD_018_GRP_MID() runs on Tester system CseSystem { + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ListOfURIs v_memberIDs := {"NotInitialized"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; @@ -11901,8 +13290,12 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_.memberIDs := v_memberIDs; - v_responsePrimitive := f_CSE_DMR_UPD_018(int9, m_createGroupBase, v_updateRequest, v_primitiveContentRetrieveResource);//Group - if(getverdict == pass){ + v_ae1.start(f_CSE_DMR_UPD_018(int9, m_createGroupBase, v_updateRequest));//Group + 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.group_)) { @@ -11911,6 +13304,7 @@ module OneM2M_Testcases { } } } + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.group_)) { @@ -11921,40 +13315,46 @@ module OneM2M_Testcases { } } - function f_CSE_DMR_UPD_018(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_UPD_018(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu { //Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; - var integer v_acpAuxIndex := -1; - + var integer v_acpAuxIndex := -1; + // Test control // Test component configuration - f_cf02Up(); + if (p_resourceType!=int16){ //ResourceType != RemoteCSE + f_cf01Up(true); + } else { + f_cf02Up(); + } // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - + if(p_resourceType != int1) { v_acpAuxIndex := f_cse_createAccessControlPolicyAux(-, -, -); p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive, {vc_resourcesList[v_acpAuxIndex].resource.accessControlPolicy.resourceID}); } - + if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource } else { //ResourceType = RemoteCSE - v_resourceIndex := f_cse_registerRemoteCse(p_createRequestPrimitive); + vc_cseSimu.start(f_cse_registerRemoteCse(p_createRequestPrimitive)); + vc_cseSimu.done; + + v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); } //Test Body @@ -11963,15 +13363,15 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); //CSEBase tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__, ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__, ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { tc_ac.stop; setverdict(fail, __SCOPE__, ": Error while updating mandatory attribute"); } @@ -11980,18 +13380,17 @@ module OneM2M_Testcases { } } - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); //Postamble - f_cse_postamble_deleteResources(); + f_cse_postamble_deleteResources(); // Tear down f_cf02Down(); - return v_response.primitive.responsePrimitive; } //end function f_CSE_DMR_UPD_018 - } // end group g_CSE_DMR_UPD_018 + } // end group g_CSE_DMR_UPD_018 }//end group Update @@ -12003,74 +13402,87 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the deletion of a RESOURCE_TYPE resource * */ - testcase TC_CSE_DMR_DEL_001_CNT() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_001_CNT() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_001(int3, m_createContainerBase);//Container + v_ae1.start(f_CSE_DMR_DEL_001(int3, m_createContainerBase));//Container + v_ae1.done; - if(getverdict == pass){ - //check if "MyRessource" container resource isn't present in the IUT (for exemple attempt to update the resource) - }; - }; + if(getverdict == pass){ + //check if "MyRessource" container resource isn't present in the IUT (for exemple attempt to update the resource) + }; + }; - testcase TC_CSE_DMR_DEL_001_GRP() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_001_GRP() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_001(int9, m_createGroupBase);//Group - }; + v_ae1.start(f_CSE_DMR_DEL_001(int9, m_createGroupBase));//Group + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_001_ACP() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_001_ACP() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_001(int1, m_createAcpBase);//AccessControlPolicy - }; + v_ae1.start(f_CSE_DMR_DEL_001(int1, m_createAcpBase));//AccessControlPolicy + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_001_SCH() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_001_SCH() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_001(int18, m_createScheduleBase);//Schedule - }; + v_ae1.start(f_CSE_DMR_DEL_001(int18, m_createScheduleBase));//Schedule + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_001_PCH() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_001_PCH() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_001(int15, m_createPollingChannelBase);//PollingChannel - }; + v_ae1.start(f_CSE_DMR_DEL_001(int15, m_createPollingChannelBase));//PollingChannel + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_001_SUB() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_001_SUB() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_001(int23, m_createSubscriptionBase);//Subscription - }; + v_ae1.start(f_CSE_DMR_DEL_001(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_001_CIN() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_DEL_001_CIN() runs on AeSimu system CseSystem { // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_001(int4, m_createContentInstanceBase);//ContentInstance + v_ae1.start(f_CSE_DMR_DEL_001(int4, m_createContentInstanceBase));//ContentInstance + v_ae1.done; }; - function f_CSE_DMR_DEL_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on CseTester { - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; + function f_CSE_DMR_DEL_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; var integer v_parentIndex := -1; var integer v_containerIndex := -1; - var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; + var integer v_resourceIndex := -1; var integer v_ae2Index := -1; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(true); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi) + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi) - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); if(p_resourceType == int4) { v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); @@ -12079,347 +13491,367 @@ module OneM2M_Testcases { v_parentIndex := v_aeIndex; } - v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex); + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex); - // Test Body - v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + // Test Body + v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(p_resourceType))); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); - } - } - - f_checkCseTesterStatus(); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(p_resourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); + } + } + + f_checkAeSimuStatus(); //Check to see if the resource is present or not - if (f_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))){ - setverdict(pass, __SCOPE__ & ":INFO: Resource deleted"); + if (f_isResourcePresent(v_resourceIndex)){ + setverdict(fail, __SCOPE__ & ":INFO: Resource not deleted"); } else { - setverdict(fail, __SCOPE__ & ":ERROR: Resource not deleted"); + setverdict(pass, __SCOPE__ & ":ERROR: Resource deleted"); } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - };//end f_CSE_DMR_DEL_001 + };//end f_CSE_DMR_DEL_001 - };//end of group g_CSE_DMR_DEL_001 + };//end of group g_CSE_DMR_DEL_001 - group g_CSE_DMR_DEL_002{ + group g_CSE_DMR_DEL_002{ /** * @desc Check that the IUT responds with an error when the AE tries to delete the resource TARGET_RESOURCE_ADDRESS without having privileges for the DELETE operation * */ - testcase TC_CSE_DMR_DEL_002_CNT() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_002_CNT() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_002(int3, m_createContainerBase);//Container - }; + v_ae1.start(f_CSE_DMR_DEL_002(int3, m_createContainerBase));//Container + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_002_GRP() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_002_GRP() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_002(int9, m_createGroupBase);//Group - }; + v_ae1.start(f_CSE_DMR_DEL_002(int9, m_createGroupBase));//Group + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_002_ACP() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_002_ACP() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_002(int1, m_createAcpBase);//AccessControlPolicy - }; + v_ae1.start(f_CSE_DMR_DEL_002(int1, m_createAcpBase));//AccessControlPolicy + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_002_SCH() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_002_SCH() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_002(int18, m_createScheduleBase);//Schedule - }; + v_ae1.start(f_CSE_DMR_DEL_002(int18, m_createScheduleBase));//Schedule + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_002_PCH() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_002_PCH() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_002(int15, m_createPollingChannelBase);//PollingChannel - }; + v_ae1.start(f_CSE_DMR_DEL_002(int15, m_createPollingChannelBase));//PollingChannel + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_002_SUB() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_002_SUB() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_002(int23, m_createSubscriptionBase);//Subscription - }; + v_ae1.start(f_CSE_DMR_DEL_002(int23, m_createSubscriptionBase));//Subscription + v_ae1.done; + }; - function f_CSE_DMR_DEL_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on CseTester { - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; + function f_CSE_DMR_DEL_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on AeSimu { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; var RequestPrimitive v_updateRequest; var integer v_acpAuxIndex := -1; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_AE_ID}, int63)); var AccessControlRule v_accessControlRule_2; var SetOfAcrs v_setOfArcs; - // Test control + // Test control if(not(PICS_ACP_SUPPORT)) { setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(true); - // Test adapter configuration + // Test adapter configuration - // Preamble + // Preamble v_acpAuxIndex := f_cse_preamble_createAcpAux(-,-);//c_CRDNDi); - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRUNDi); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRUNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); //Update ACP Aux to remove DELETE operation rights to AE, keeping rights of SUPER USER to run postamble v_accessControlRule_2 := valueof(m_createAcr({f_getResourceId(vc_resourcesList[v_aeIndex].resource)}, int55)); - v_setOfArcs.accessControlRule_list := {v_accessControlRule_1, v_accessControlRule_2}; + v_setOfArcs.accessControlRule_list := {v_accessControlRule_1, v_accessControlRule_2}; v_updateRequest := valueof(m_updateAcpPrivileges(v_setOfArcs, -)); v_updateRequest := f_getUpdateRequestPrimitive(int1, vc_acpAuxIndex, v_updateRequest); f_cse_updateResource(v_updateRequest); - //Adjustments for ACP resource type - if(p_resourceType == int1) { + //Adjustments for ACP resource type + if(p_resourceType == int1) { p_createRequestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2}; - } else { + } else { p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}); - } + } - //Creation of resource - v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); + //Creation of resource + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); - // Test Body - v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); - v_request.from_ := f_getOriginator(v_aeIndex); + // Test Body + v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); + v_request.from_ := f_getOriginator(v_aeIndex); - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Access denied to delete the resource " & int2str(enum2int(p_resourceType))); - } + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Access denied to delete the resource " & int2str(enum2int(p_resourceType))); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error resource deleted without having privileges"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); - } - } + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); - //Check if the resource has been deleted or not - if(f_isResourcePresent(v_resourceIndex)) { - setverdict(pass, __SCOPE__ & ":INFO: Resource not deleted"); - } else { + //Check if the resource has been deleted or not + if(f_isResourcePresent(v_resourceIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource not deleted"); + } else { setverdict(fail, __SCOPE__ & ":INFO: Resource deleted"); - } + } - // Postamble + // Postamble // We are forced to delete the Ae because the delete request in the postamble_deleteResources is sent by Ae itself, witch doesn't have privileges - f_cse_deleteResource(v_aeIndex, m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator()));//Use of PX_SUPER_AE_ID to remove AE - + f_cse_deleteResource(v_aeIndex, m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator()));//Use of PX_SUPER_AE_ID to remove AE f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - };//end f_CSE_DMR_DEL_002 + };//end f_CSE_DMR_DEL_002 - };//end of group g_CSE_DMR_DEL_002 + };//end of group g_CSE_DMR_DEL_002 - group g_CSE_DMR_DEL_003{ + group g_CSE_DMR_DEL_003{ /** * @desc Check that the IUT responds with an error when the AE tries to delete the resource TARGET_RESOURCE_ADDRESS which does not exist * */ - testcase TC_CSE_DMR_DEL_003() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_DEL_003() runs on AeSimu system CseSystem { - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var charstring v_resourceIdOrName := "NotExistingResource"; + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var charstring v_resourceIdOrName := "NotExistingResource"; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - // Test Body - if(vc_addressingMethod == e_nonHierarchical and (vc_primitiveScope == e_cseRelative)) { + // Test Body + if(PX_ADDRESSING_METHOD == e_nonHierarchical and (PX_PRIMITIVE_SCOPE == e_cseRelative)) { v_request := valueof(m_delete(v_resourceIdOrName, f_getOriginator(v_aeIndex))); } else { v_request := valueof(m_delete(f_getResourceAddress(v_aeIndex) & "/" & v_resourceIdOrName, f_getOriginator(v_aeIndex))); } - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { - tc_ac.stop; + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { + tc_ac.stop; setverdict(pass, __SCOPE__ & ": Unexisting resource cannot be deleted"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); + } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - };//end f_CSE_DMR_DEL003 - };//end of group g_CSE_DMR_DEL_003 + };//end f_CSE_DMR_DEL003 + };//end of group g_CSE_DMR_DEL_003 - group g_CSE_DMR_DEL_004{ + group g_CSE_DMR_DEL_004{ /** * @desc Check that the IUT responds with an error when AE tries to delete a child resource of a RESOURCE_TYPE resource when this resource has been already deleted * */ - testcase TC_CSE_DMR_DEL_004_CNT() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_004_CNT() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_004(int3, m_createContainerBase, int3, m_createContainerBase);//Container - }; + v_ae1.start(f_CSE_DMR_DEL_004(int3, m_createContainerBase, int3, m_createContainerBase));//Container + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_004_GRP() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_004_GRP() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_004(int9, m_createGroupBase, int23, m_createSubscriptionBase);//Group - }; + v_ae1.start(f_CSE_DMR_DEL_004(int9, m_createGroupBase, int23, m_createSubscriptionBase));//Group + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_004_ACP() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_004_ACP() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_004(int1, m_createAcpBase, int23, m_createSubscriptionBase);//AccessControlPolicy - }; + v_ae1.start(f_CSE_DMR_DEL_004(int1, m_createAcpBase, int23, m_createSubscriptionBase));//AccessControlPolicy + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_004_SCH() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_004_SCH() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_004(int18, m_createScheduleBase, int23, m_createSubscriptionBase);//Schedule - }; + v_ae1.start(f_CSE_DMR_DEL_004(int18, m_createScheduleBase, int23, m_createSubscriptionBase));//Schedule + v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_004_PCH() runs on CseTester system CseSystem { - // Local variables - // don't exist pollingChannel's child resource - //f_CSE_DMR_DEL_004(int15, m_createPollingChannelBase, int23, m_createSubscriptionBase);//PollingChannel TODO ResourceType needed is PollingChannelURI - }; + testcase TC_CSE_DMR_DEL_004_PCH() runs on Tester system CseSystem { + // Local variables + // don't exist pollingChannel's child resource + //v_ae1.start(f_CSE_DMR_DEL_004(int15, m_createPollingChannelBase, int23, m_createSubscriptionBase);//PollingChannel TODO ResourceType needed is PollingChannelURI +// v_ae1.done; + }; - testcase TC_CSE_DMR_DEL_004_SUB() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_DMR_DEL_004_SUB() runs on Tester system CseSystem { + // Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; - f_CSE_DMR_DEL_004(int23, m_createSubscriptionBase, int18, m_createScheduleBase);//Subscription - }; + v_ae1.start(f_CSE_DMR_DEL_004(int23, m_createSubscriptionBase, int18, m_createScheduleBase));//Subscription + v_ae1.done; + }; - function f_CSE_DMR_DEL_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, ResourceType p_childResourceType, template RequestPrimitive p_createRequestPrimitiveChildResource) runs on CseTester { - // Local variables - var MsgIn v_response; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var integer v_childResourceIndex := -1; - var CseTester v_notifyHandler; + function f_CSE_DMR_DEL_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, ResourceType p_childResourceType, template RequestPrimitive p_createRequestPrimitiveChildResource) runs on AeSimu { + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_childResourceIndex := -1; var integer v_ae2Index := -1; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(true); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); - v_childResourceIndex := f_cse_createResource(p_childResourceType, p_createRequestPrimitiveChildResource, v_resourceIndex); + v_childResourceIndex := f_cse_createResource(p_childResourceType, p_createRequestPrimitiveChildResource, v_resourceIndex); - f_cse_deleteResource(v_resourceIndex); + f_cse_deleteResource(v_resourceIndex); - // Test Body - mcaPort.send(m_request(m_delete(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex)))); + // Test Body + mcaPort.send(m_request(m_delete(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex)))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Error while deleting non existing resource"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); - } - } + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Error while deleting non existing resource"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); + } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - };//end f_CSE_DMR_DEL_004 + };//end f_CSE_DMR_DEL_004 };//end of group g_CSE_DMR_DEL_004 group g_CSE_DMR_DEL_005{ @@ -12428,91 +13860,90 @@ module OneM2M_Testcases { * @desc Check that the stateTag attribute of a container resource is increased when a child resource is deleted * */ - testcase TC_CSE_DMR_DEL_005() runs on CseTester system CseSystem { - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var integer v_childResourceIndex := -1; - const ResourceType c_containerResourceType := int3; + testcase TC_CSE_DMR_DEL_005() runs on AeSimu system CseSystem { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_childResourceIndex := -1; + const ResourceType c_containerResourceType := int3; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex); + v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex); - if(ispresent(vc_resourcesList[v_resourceIndex].resource.container.stateTag)) { + if(ispresent(vc_resourcesList[v_resourceIndex].resource.container.stateTag)) { - v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex); + v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex); - // Test Body - v_request := valueof(m_delete(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex))); - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " delete successfully"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + // Test Body + mcaPort.send(m_request(m_delete(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex)))); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " delete successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); + } + } - mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)))); + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 2) { //(Create and Delete) - setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented"); - } - else{ - setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented"); - } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); - } - } + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 2) { //(Create and Delete) + setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented"); + } + else{ + setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented"); + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); + } + } - }//end if - else{ - setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is empty"); - } + }//end if + else{ + setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is empty"); + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - }//end f_CSE_DMR_DEL_005 - } // end group g_CSE_DMR_DEL_005 + }//end f_CSE_DMR_DEL_005 + } // end group g_CSE_DMR_DEL_005 group g_CSE_DMR_DEL_006{ @@ -12520,7 +13951,7 @@ module OneM2M_Testcases { * @desc Check that the IUT decreases the field value of attribute currentNrOfInstances and currentByteSize of parent container when a latest contentInstance resource is deleted successfully * */ - testcase TC_CSE_DMR_DEL_006() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_DEL_006() runs on AeSimu system CseSystem { // Local variables var integer v_aeIndex := -1; var integer v_containerIndex := -1; @@ -12545,7 +13976,7 @@ module OneM2M_Testcases { if(not(ispresent(v_attributesContainer.container.currentNrOfInstances))) { setverdict(fail, __SCOPE__ & ": Error the currentNrOfInstances attribute is empty"); - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); } // Test Body @@ -12555,7 +13986,7 @@ module OneM2M_Testcases { if(not(ispresent(v_attributesContainer.container.currentNrOfInstances))) { setverdict(fail, __SCOPE__ & ": Error the currentNrOfInstances attribute is empty"); - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); } if((v_attributesContainer.container.currentNrOfInstances > v_attributesContainer_afterDeletion.container.currentNrOfInstances) and @@ -12580,7 +14011,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the DELETE Request of the latest contentInstance resource target to a container resource * */ - testcase TC_CSE_DMR_DEL_007() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_DEL_007() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var RequestPrimitive v_request; @@ -12607,7 +14038,7 @@ module OneM2M_Testcases { // Test Body v_request := valueof(m_delete(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex))); - + mcaPort.send(m_request(v_request)); tc_ac.start; alt { @@ -12628,7 +14059,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); mcaPort.send(m_request(m_retrieveResource((f_getResourceAddress(v_contentInstanceIndex_2)), f_getOriginator(v_contentInstanceIndex_2)))); @@ -12662,7 +14093,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the DELETE request of a latest resource in a container resource that has no direct child contentInstance resources. * */ - testcase TC_CSE_DMR_DEL_008() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_DEL_008() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var RequestPrimitive v_request; @@ -12686,9 +14117,9 @@ module OneM2M_Testcases { // Test Body v_request := valueof(m_delete(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex))); mcaPort.send(m_request(v_request)); - tc_ac.start; + tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " NOT FOUND"); } @@ -12720,7 +14151,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the DELETE Request of the oldest contentInstance resource target to a container resource * */ - testcase TC_CSE_DMR_DEL_009() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_DEL_009() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var RequestPrimitive v_request; @@ -12747,7 +14178,7 @@ module OneM2M_Testcases { // Test Body v_request := valueof(m_delete(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest, f_getOriginator(v_containerIndex))); - + mcaPort.send(m_request(v_request)); tc_ac.start; alt { @@ -12759,8 +14190,8 @@ module OneM2M_Testcases { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); } [] tc_ac.timeout { @@ -12768,19 +14199,19 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); mcaPort.send(m_request(m_retrieveResource((f_getResourceAddress(v_contentInstanceIndex_1)), f_getOriginator(v_contentInstanceIndex_1)))); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " has already been deleted"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Error while retrieving resource attributes as " & int2str(enum2int(c_containerResourceType)) & " has been deleted"); + setverdict(pass, __SCOPE__ & ": Error while retrieving resource attributes as " & int2str(enum2int(c_containerResourceType)) & " has been deleted"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); @@ -12802,7 +14233,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the DELETE request of a oldest resource in a container resource that has no direct child contentInstance resources. * */ - testcase TC_CSE_DMR_DEL_010() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_DEL_010() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var RequestPrimitive v_request; @@ -12836,7 +14267,7 @@ module OneM2M_Testcases { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " has not been created"); } @@ -12859,47 +14290,47 @@ module OneM2M_Testcases { group Location { - group g_CSE_LOC_BV_001{ + group g_CSE_LOC_BV_001{ - testcase TC_CSE_LOC_BV_001() runs on CseTester system CseSystem { + testcase TC_CSE_LOC_BV_001() runs on AeSimu system CseSystem { - var integer v_aeIndex := -1; - var RequestPrimitive v_request; - var MsgIn v_response; - var LocationSource v_locationSource := int1;//Network-based + var integer v_aeIndex := -1; + var RequestPrimitive v_request; + var MsgIn v_response; + var LocationSource v_locationSource := int1;//Network-based - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - v_aeIndex := f_cse_preamble_registerAe(); + //Preamble + v_aeIndex := f_cse_preamble_registerAe(); - //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, omit, omit, omit), v_aeIndex); + //Set requestPrimitive + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, omit, omit, omit), v_aeIndex); - //Test Body - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt{ - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { //BAD REQUEST - tc_ac.stop; - setverdict(pass, __SCOPE__ & "Resource <locationPolicy> create request is rejected due to invalid request body message!!"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Created a locationPolicy resource for an invalid create request with response status code:" & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": Timeout due to no response received from requested server!"); - } + //Test Body + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { //BAD REQUEST + tc_ac.stop; + setverdict(pass, __SCOPE__ & "Resource <locationPolicy> create request is rejected due to invalid request body message!!"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Created a locationPolicy resource for an invalid create request with response status code:" & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": Timeout due to no response received from requested server!"); + } - } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -12908,60 +14339,61 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }// end testcase TC_CSE_LOC_BV_001 + }// end testcase TC_CSE_LOC_BV_001 }//end group g_CSE_LOC_BV_001 group g_CSE_LOC_BV_002{ - testcase TC_CSE_LOC_BV_002() runs on CseTester system CseSystem { + testcase TC_CSE_LOC_BV_002() runs on AeSimu system CseSystem { var integer v_aeAuxIndex := -1; var LocationSource v_locationSource := int1;//Network-based - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; var RequestPrimitive v_request; var MsgIn v_response; var integer v_resourceIndex := -1; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - v_aeAuxIndex := f_cse_preamble_registerAe(); + //Preamble + v_aeAuxIndex := f_cse_preamble_registerAe(); - //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeAuxIndex); + //Set requestPrimitive + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeAuxIndex); - // Test Body - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + // Test Body + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + f_checkAttributesToBeSaved(int10, v_request, v_response.primitive.responsePrimitive); v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int10, v_aeAuxIndex); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is present or not if(f_isResourcePresent(v_resourceIndex)) { @@ -12970,69 +14402,69 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); }// end testcase TC_CSE_LOC_BV_002 - }//end group g_CSE_LOC_BV_002 + }//end group g_CSE_LOC_BV_002 group g_CSE_LOC_BO_003{ - testcase TC_CSE_LOC_BO_003() runs on CseTester system CseSystem {//the originator has no privileges to create a locationPolicy resource!! + testcase TC_CSE_LOC_BO_003() runs on AeSimu system CseSystem {//the originator has no privileges to create a locationPolicy resource!! - var integer v_aeIndex := -1; - var integer v_acpAuxIndex := -1; - var LocationSource v_locationSource := int1;//Network-based - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; + var integer v_aeIndex := -1; + var integer v_acpAuxIndex := -1; + var LocationSource v_locationSource := int1;//Network-based + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; var RequestPrimitive v_request; var MsgIn v_response; // Test control - if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); - stop; - } + if(not(PICS_ACP_SUPPORT)) { + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); + stop; + } - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble + //Preamble v_acpAuxIndex := f_cse_preamble_createAcpAux(-, int62);//c_RUDNDi) //No resource creation privilege v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -); - //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource,omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeIndex); + //Set requestPrimitive + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource,omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeIndex); - // Test Body - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Access denied to create a resource including locationPolicy!"); - } + // Test Body + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Access denied to create a resource including locationPolicy!"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT failed to check the access privilege of originator!"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); - } - } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT failed to check the access privilege of originator!"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -13041,59 +14473,59 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - } // end testcase TC_CSE_LOC_BO_003 + } // end testcase TC_CSE_LOC_BO_003 }//end group g_CSE_LOC_BO_003 group g_CSE_LOC_BO_004{ - testcase TC_CSE_LOC_BO_004() runs on CseTester system CseSystem { + testcase TC_CSE_LOC_BO_004() runs on AeSimu system CseSystem { - var integer v_aeIndex := -1; - var LocationSource v_locationSource := int1;//Netwok-based - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; + var integer v_aeIndex := -1; + var LocationSource v_locationSource := int1;//Netwok-based + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; var RequestPrimitive v_request; var MsgIn v_response; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - v_aeIndex := f_cse_preamble_registerAe(); + //Preamble + v_aeIndex := f_cse_preamble_registerAe(); - //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeIndex); + //Set requestPrimitive + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeIndex); - // Test Body - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": The targeted resource is not found!!"); - } + // Test Body + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": The targeted resource is not found!!"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: "& int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT created a locationPolicy resource under a non-existed parent resource!"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); - } - } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: "& int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT created a locationPolicy resource under a non-existed parent resource!"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -13101,25 +14533,25 @@ module OneM2M_Testcases { } else { setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }// end testcase TC_CSE_LOC_BO_004 + }// end testcase TC_CSE_LOC_BO_004 }//end group g_CSE_LOC_BO_004 group g_CSE_LOC_BI_005{ - testcase TC_CSE_LOC_BI_005() runs on CseTester system CseSystem {//reject an invalid update request with invalid attribtue locationUpdatePeriod + testcase TC_CSE_LOC_BI_005() runs on AeSimu system CseSystem {//reject an invalid update request with invalid attribtue locationUpdatePeriod - var integer v_aeAuxIndex := -1; - var integer v_locPolicyResourceIndex := -1; - var LocationSource v_locationSource := int1;//Netwok-based - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; + var integer v_aeAuxIndex := -1; + var integer v_locPolicyResourceIndex := -1; + var LocationSource v_locationSource := int1;//Netwok-based + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var XSD.Duration locationUpdatePeriod_invalid := c_invalid_location_update_period; var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; @@ -13127,98 +14559,98 @@ module OneM2M_Testcases { var RequestPrimitive v_locpolicy_request_preamble; var MsgIn v_response; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - register AE - v_aeAuxIndex := f_cse_preamble_registerAe(); - //Preamble - create a valid locationPolicy resource for later update use - v_locpolicy_request_preamble:= valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); - v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex); + //Preamble - register AE + v_aeAuxIndex := f_cse_preamble_registerAe(); + //Preamble - create a valid locationPolicy resource for later update use + v_locpolicy_request_preamble:= valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); + v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex); - //Set requestPrimitive - v_request := f_getUpdateRequestPrimitive(int10, v_locPolicyResourceIndex, m_updateLocationPolicy(f_getResourceAddress(v_locPolicyResourceIndex), omit, locationUpdatePeriod_invalid)); + //Set requestPrimitive + v_request := f_getUpdateRequestPrimitive(int10, v_locPolicyResourceIndex, m_updateLocationPolicy(f_getResourceAddress(v_locPolicyResourceIndex), omit, locationUpdatePeriod_invalid)); - // Test Body - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Update locationPolicy resource is rejected!!"); - } + // Test Body + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Update locationPolicy resource is rejected!!"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: "& int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT failed to handle an invalid locationPolicy update request"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); - } - } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: "& int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT failed to handle an invalid locationPolicy update request"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //TODO: Check to see if the resource has been updated or not - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }//end testcase TC_CSE_LOC_BI_005 + }//end testcase TC_CSE_LOC_BI_005 }//end group g_CSE_LOC_BI_005 group g_CSE_LOC_BV_006 { - testcase TC_CSE_LOC_BV_006() runs on CseTester system CseSystem{ - //TO RETRIEVE a <container> resource that has created in cse and linked with a <locationPolicy> resource (network-based case) + testcase TC_CSE_LOC_BV_006() runs on AeSimu system CseSystem{ + //TO RETRIEVE a <container> resource that has created in cse and linked with a <locationPolicy> resource (network-based case) - var integer v_aeAuxIndex := -1; - var integer v_locPolicyResourceIndex := -1; - var integer v_locContainerResourceIndex := -1; - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; + var integer v_aeAuxIndex := -1; + var integer v_locPolicyResourceIndex := -1; + var integer v_locContainerResourceIndex := -1; + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; - var RequestPrimitive v_loc_request_preamble; - var RequestPrimitive v_container_request_preamble; - var MsgIn v_response; - var LocationSource v_locationSource := int1;//Network-based + var RequestPrimitive v_loc_request_preamble; + var RequestPrimitive v_container_request_preamble; + var MsgIn v_response; + var LocationSource v_locationSource := int1;//Network-based - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - register AE - v_aeAuxIndex := f_cse_preamble_registerAe(); - //Preamble - create a valid locationPolicy resource for later container resource creation - v_loc_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); - v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? - v_locPolicyResourceIndex := f_cse_createResource(int10, v_loc_request_preamble, v_aeAuxIndex);//created locationpolicy index + //Preamble - register AE + v_aeAuxIndex := f_cse_preamble_registerAe(); + //Preamble - create a valid locationPolicy resource for later container resource creation + v_loc_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); + v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? + v_locPolicyResourceIndex := f_cse_createResource(int10, v_loc_request_preamble, v_aeAuxIndex);//created locationpolicy index v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index //Test Body - retrieve the created container resource - mcaPort.send(m_request(valueof(m_retrieveResource(f_getResourceAddress(v_locContainerResourceIndex), f_getOriginator(v_locContainerResourceIndex))))); - tc_ac.start; - alt{ - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ - tc_ac.stop; - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.container.locationID)){ - setverdict(fail, __SCOPE__ & "No locationID is included in the response!"); - }else{ - setverdict(pass, __SCOPE__ & "Container resource associated with locationPolicy resource is successfully retrieved with locationID included in the response!"); - } + mcaPort.send(m_request(valueof(m_retrieveResource(f_getResourceAddress(v_locContainerResourceIndex), f_getOriginator(v_locContainerResourceIndex))))); + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ + tc_ac.stop; + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.container.locationID)){ + setverdict(fail, __SCOPE__ & "No locationID is included in the response!"); + }else{ + setverdict(pass, __SCOPE__ & "Container resource associated with locationPolicy resource is successfully retrieved with locationID included in the response!"); + } - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ - tc_ac.stop; - setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ + tc_ac.stop; + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } @@ -13226,65 +14658,66 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } - } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }//end testcase TC_CSE_LOC_BV_006 + }//end testcase TC_CSE_LOC_BV_006 }//end group g_CSE_LOC_BV_006 group g_CSE_LOC_BV_007 { - testcase TC_CSE_LOC_BV_007() runs on CseTester system CseSystem{ - //TO create a <locationPolicy> resource with locationSource set to Device-based + testcase TC_CSE_LOC_BV_007() runs on AeSimu system CseSystem{ + //TO create a <locationPolicy> resource with locationSource set to Device-based - var integer v_aeAuxIndex := -1; - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; + var integer v_aeAuxIndex := -1; + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var RequestPrimitive v_request; var MsgIn v_response; - var LocationSource v_locationSource := int2;//Device-based + var LocationSource v_locationSource := int2;//Device-based var integer v_resourceIndex := -1; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - if(PX_IUT_IS_ASN_CSE){ + if(PX_IUT_IS_ASN_CSE){ - //Preamble - v_aeAuxIndex := f_cse_preamble_registerAe(); - //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, omit, omit), v_aeAuxIndex); + //Preamble + v_aeAuxIndex := f_cse_preamble_registerAe(); + //Set requestPrimitive + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, omit, omit), v_aeAuxIndex); - // Test Body - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + // Test Body + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + f_checkAttributesToBeSaved(int10, v_request, v_response.primitive.responsePrimitive); v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int10, v_aeAuxIndex); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is present or not if(f_isResourcePresent(v_resourceIndex)) { @@ -13293,62 +14726,63 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - } + } // Tear down f_cf01Down(); - }//end testcase TC_CSE_LOC_BV_007 + }//end testcase TC_CSE_LOC_BV_007 }//end group g_CSE_LOC_BV_007 group g_CSE_LOC_BV_008 { - testcase TC_CSE_LOC_BV_008() runs on CseTester system CseSystem{ - //TO create a <locationPolicy> resource with locationSource set to Share-based + testcase TC_CSE_LOC_BV_008() runs on AeSimu system CseSystem{ + //TO create a <locationPolicy> resource with locationSource set to Share-based - var integer v_aeAuxIndex := -1; - var LocationSource v_locationSource := int3;//Share-based + var integer v_aeAuxIndex := -1; + var LocationSource v_locationSource := int3;//Share-based var RequestPrimitive v_request; var MsgIn v_response; var integer v_resourceIndex := -1; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - if(PX_IUT_IS_MN_CSE){ + if(PX_IUT_IS_MN_CSE){ - //Preamble - v_aeAuxIndex := f_cse_preamble_registerAe(); - //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, omit, omit, omit), v_aeAuxIndex); + //Preamble + v_aeAuxIndex := f_cse_preamble_registerAe(); + //Set requestPrimitive + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, omit, omit, omit), v_aeAuxIndex); - // Test Body - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + // Test Body + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + f_checkAttributesToBeSaved(int10, v_request, v_response.primitive.responsePrimitive); v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int10, v_aeAuxIndex); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is present or not if(f_isResourcePresent(v_resourceIndex)) { @@ -13357,323 +14791,323 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - } + } // Tear down f_cf01Down(); - }//end testcase TC_CSE_LOC_BV_008 + }//end testcase TC_CSE_LOC_BV_008 }//end group g_CSE_LOC_BV_008 group g_CSE_LOC_BV_009 { - testcase TC_CSE_LOC_BV_009_01() runs on CseTester system CseSystem{ - //TO NOTIFY a location information + testcase TC_CSE_LOC_BV_009_01() runs on AeSimu system CseSystem{ + //TO NOTIFY a location information - var integer v_aeAuxIndex := -1; - var integer v_locPolicyResourceIndex := -1; - var integer v_locContainerResourceIndex := -1; - var integer v_subscriptionResourceIndex := -1; - var LocationSource v_locationSource := int1;//Netwok-based - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; + var integer v_aeAuxIndex := -1; + var integer v_locPolicyResourceIndex := -1; + var integer v_locContainerResourceIndex := -1; + var integer v_subscriptionResourceIndex := -1; + var LocationSource v_locationSource := int1;//Netwok-based + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; - var RequestPrimitive v_locpolicy_request_preamble; - var RequestPrimitive v_container_request_preamble; - var RequestPrimitive v_subscription_request_preamble; - var MsgIn v_response; + var RequestPrimitive v_locpolicy_request_preamble; + var RequestPrimitive v_container_request_preamble; + var RequestPrimitive v_subscription_request_preamble; + var MsgIn v_response; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - register AE + //Preamble - register AE v_aeAuxIndex := f_cse_preamble_registerAe(); - //Preamble - create a valid locationPolicy resource - v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); - v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? + //Preamble - create a valid locationPolicy resource + v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); + v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? - v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index - v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index - v_subscription_request_preamble := valueof(m_createSubscription(f_getResourceAddress(v_locContainerResourceIndex), c_defaultResourceName, -)); + v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index + v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index + v_subscription_request_preamble := valueof(m_createSubscription(f_getResourceAddress(v_locContainerResourceIndex), c_defaultResourceName, -)); v_subscriptionResourceIndex := f_cse_createResource(int23, v_subscription_request_preamble, v_locContainerResourceIndex); //Test Body - retrieve the <latest> resource of the created container resource linked with the locationPolicy resource mcaPort.send(m_request(valueof(m_retrieveResource(f_getResourceAddress(v_locContainerResourceIndex) & "/" & "latest", f_getOriginator(v_locContainerResourceIndex))))); - tc_ac.start; - alt{ - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ - tc_ac.stop; - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ - setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); - }else{ - setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); - } + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ + tc_ac.stop; + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ + setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); + }else{ + setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); + } - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ - tc_ac.stop; - setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ + tc_ac.stop; + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } - } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }//end testcase TC_CSE_LOC_BV_009_01 + }//end testcase TC_CSE_LOC_BV_009_01 - testcase TC_CSE_LOC_BV_009_02() runs on CseTester system CseSystem{ - //TO NOTIFY a location information + testcase TC_CSE_LOC_BV_009_02() runs on AeSimu system CseSystem{ + //TO NOTIFY a location information - var integer v_aeAuxIndex := -1; - var integer v_locPolicyResourceIndex := -1; - var integer v_locContainerResourceIndex := -1; - var integer v_subscriptionResourceIndex := -1; - var LocationSource v_locationSource := int2;//Device-based - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; - var RequestPrimitive v_locpolicy_request_preamble; - var RequestPrimitive v_container_request_preamble; - var RequestPrimitive v_subscription_request_preamble; - var MsgIn v_response; + var integer v_aeAuxIndex := -1; + var integer v_locPolicyResourceIndex := -1; + var integer v_locContainerResourceIndex := -1; + var integer v_subscriptionResourceIndex := -1; + var LocationSource v_locationSource := int2;//Device-based + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; + var RequestPrimitive v_locpolicy_request_preamble; + var RequestPrimitive v_container_request_preamble; + var RequestPrimitive v_subscription_request_preamble; + var MsgIn v_response; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - register AE + //Preamble - register AE v_aeAuxIndex := f_cse_preamble_registerAe(); - //Preamble - create a valid locationPolicy resource + //Preamble - create a valid locationPolicy resource - v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, omit, omit)); - v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? + v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, omit, omit)); + v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? - v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index - v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index - v_subscription_request_preamble := valueof(m_createSubscription(f_getResourceAddress(v_locContainerResourceIndex), c_defaultResourceName, -)); + v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index + v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index + v_subscription_request_preamble := valueof(m_createSubscription(f_getResourceAddress(v_locContainerResourceIndex), c_defaultResourceName, -)); v_subscriptionResourceIndex := f_cse_createResource(int23, v_subscription_request_preamble, v_locContainerResourceIndex); //Test Body - retrieve the <latest> resource of the created container resource linked with the locationPolicy resource mcaPort.send(m_request(valueof(m_retrieveResource(f_getResourceAddress(v_locContainerResourceIndex) & "/" & "latest", f_getOriginator(v_locContainerResourceIndex))))); - tc_ac.start; - alt{ - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ - tc_ac.stop; - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ - setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); - }else{ - setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); - } + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ + tc_ac.stop; + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ + setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); + }else{ + setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); + } - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ - tc_ac.stop; - setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ + tc_ac.stop; + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } - } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }//end testcase TC_CSE_LOC_BV_009_02 + }//end testcase TC_CSE_LOC_BV_009_02 - testcase TC_CSE_LOC_BV_009_03() runs on CseTester system CseSystem{ - //TO NOTIFY a location information + testcase TC_CSE_LOC_BV_009_03() runs on AeSimu system CseSystem{ + //TO NOTIFY a location information - var integer v_aeAuxIndex := -1; - var integer v_locPolicyResourceIndex := -1; - var integer v_locContainerResourceIndex := -1; - var integer v_subscriptionResourceIndex := -1; - var LocationSource v_locationSource := int3;//Sharing-based - var RequestPrimitive v_locpolicy_request_preamble; - var RequestPrimitive v_container_request_preamble; - var RequestPrimitive v_subscription_request_preamble; - var MsgIn v_response; + var integer v_aeAuxIndex := -1; + var integer v_locPolicyResourceIndex := -1; + var integer v_locContainerResourceIndex := -1; + var integer v_subscriptionResourceIndex := -1; + var LocationSource v_locationSource := int3;//Sharing-based + var RequestPrimitive v_locpolicy_request_preamble; + var RequestPrimitive v_container_request_preamble; + var RequestPrimitive v_subscription_request_preamble; + var MsgIn v_response; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - register AE + //Preamble - register AE v_aeAuxIndex := f_cse_preamble_registerAe(); - //Preamble - create a valid locationPolicy resource + //Preamble - create a valid locationPolicy resource - v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, omit, omit, omit)); - v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? + v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, omit, omit, omit)); + v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? - v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index - v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index - v_subscription_request_preamble := valueof(m_createSubscription(f_getResourceAddress(v_locContainerResourceIndex), c_defaultResourceName, -)); + v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index + v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index + v_subscription_request_preamble := valueof(m_createSubscription(f_getResourceAddress(v_locContainerResourceIndex), c_defaultResourceName, -)); v_subscriptionResourceIndex := f_cse_createResource(int23, v_subscription_request_preamble, v_locContainerResourceIndex); //Test Body - retrieve the <latest> resource of the created container resource linked with the locationPolicy resource mcaPort.send(m_request(valueof(m_retrieveResource(f_getResourceAddress(v_locContainerResourceIndex) & "/" & "latest", f_getOriginator(v_locContainerResourceIndex))))); - tc_ac.start; - alt{ - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ - tc_ac.stop; - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ - setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); - }else{ - setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); - } + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ + tc_ac.stop; + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ + setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); + }else{ + setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); + } - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ - tc_ac.stop; - setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ + tc_ac.stop; + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } - } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }//end testcase TC_CSE_LOC_BV_009_03 + }//end testcase TC_CSE_LOC_BV_009_03 }//end group g_CSE_LOC_BV_009 /*group g_CSE_LOC_BV_007 { - testcase TC_CSE_LOC_BV_007() runs on CseTester system CseSystem{ - //TODO - }//end testcase TC_CSE_LOC_BV_007 + testcase TC_CSE_LOC_BV_007() runs on AeSimu system CseSystem{ + //TODO + }//end testcase TC_CSE_LOC_BV_007 }//end group g_CSE_LOC_BV_007 group g_CSE_LOC_BV_008 { - testcase TC_CSE_LOC_BV_008() runs on CseTester system CseSystem{ - //TODO - }//end testcase TC_CSE_LOC_BV_008 + testcase TC_CSE_LOC_BV_008() runs on AeSimu system CseSystem{ + //TODO + }//end testcase TC_CSE_LOC_BV_008 }//end group g_CSE_LOC_BV_008 */ group g_CSE_LOC_BV_012 { - testcase TC_CSE_LOC_BV_012() runs on CseTester system CseSystem{ - //To CREATE a <subscription> resource as a child resource of the created <container> + testcase TC_CSE_LOC_BV_012() runs on AeSimu system CseSystem{ + //To CREATE a <subscription> resource as a child resource of the created <container> - var integer v_aeAuxIndex := -1; - var integer v_locPolicyResourceIndex := -1; - var integer v_locContainerResourceIndex := -1; - var LocationSource v_locationSource := int1;//Netwok-based - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; - var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; - var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; - var RequestPrimitive v_locpolicy_request_preamble; - var RequestPrimitive v_container_request_preamble; - var RequestPrimitive v_subscription_request_preamble; - var MsgIn v_response; + var integer v_aeAuxIndex := -1; + var integer v_locPolicyResourceIndex := -1; + var integer v_locContainerResourceIndex := -1; + var LocationSource v_locationSource := int1;//Netwok-based + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; + var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; + var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; + var RequestPrimitive v_locpolicy_request_preamble; + var RequestPrimitive v_container_request_preamble; + var RequestPrimitive v_subscription_request_preamble; + var MsgIn v_response; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - register AE - v_aeAuxIndex := f_cse_preamble_registerAe(); - //Preamble - create a valid locationPolicy resource - v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); - v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? + //Preamble - register AE + v_aeAuxIndex := f_cse_preamble_registerAe(); + //Preamble - create a valid locationPolicy resource + v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); + v_container_request_preamble := valueof(m_createContainer(f_getResourceAddress(v_aeAuxIndex), omit));//no location-container name provided? - v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index - v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index - v_subscription_request_preamble := valueof(m_createSubscription(f_getResourceAddress(v_locContainerResourceIndex), c_defaultResourceName, -)); + v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index + v_locContainerResourceIndex := f_cse_createResource(int3, v_container_request_preamble, v_locPolicyResourceIndex);//created container index + v_subscription_request_preamble := valueof(m_createSubscription(f_getResourceAddress(v_locContainerResourceIndex), c_defaultResourceName, -)); - //Test Body - mcaPort.send(m_request(valueof(f_getCreateRequestPrimitive(int23, v_subscription_request_preamble, v_locContainerResourceIndex)))); - tc_ac.start; - alt{ - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response{ - tc_ac.stop; - setverdict(pass, __SCOPE__ & "Subscription resource is successfully!"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ - tc_ac.stop; + //Test Body + mcaPort.send(m_request(valueof(f_getCreateRequestPrimitive(int23, v_subscription_request_preamble, v_locContainerResourceIndex)))); + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response{ + tc_ac.stop; + setverdict(pass, __SCOPE__ & "Subscription resource is successfully!"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response{ - tc_ac.stop; - setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating subscription resource!"); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response{ + tc_ac.stop; + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating subscription resource!"); + } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); + // Tear down + f_cf01Down(); - }//end testcase TC_CSE_LOC_BV_012 + }//end testcase TC_CSE_LOC_BV_012 }//end group g_CSE_LOC_BV_012 group g_CSE_LOC_BV_013 { - testcase TC_CSE_LOC_BV_013() runs on CseTester system CseSystem{ - //TO RETRIEVE a <locationPolicy> resource that has created in cse + testcase TC_CSE_LOC_BV_013() runs on AeSimu system CseSystem{ + //TO RETRIEVE a <locationPolicy> resource that has created in cse - var integer v_aeAuxIndex := -1; - var integer v_locPolicyResourceIndex := -1; - var RequestPrimitive v_locpolicy_request_preamble; - var MsgIn v_response; - var LocationSource v_locationSource := int1;//Netwok-based - var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD}; + var integer v_aeAuxIndex := -1; + var integer v_locPolicyResourceIndex := -1; + var RequestPrimitive v_locpolicy_request_preamble; + var MsgIn v_response; + var LocationSource v_locationSource := int1;//Netwok-based + var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; - var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; + var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; - //Test component configuration - f_cf01Up(); + //Test component configuration + f_cf01Up(); - //Preamble - register AE - v_aeAuxIndex := f_cse_preamble_registerAe(); - //Preamble - create a valid locationPolicy resource for later container resource creation - v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); - v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index + //Preamble - register AE + v_aeAuxIndex := f_cse_preamble_registerAe(); + //Preamble - create a valid locationPolicy resource for later container resource creation + v_locpolicy_request_preamble := valueof(m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress)); + v_locPolicyResourceIndex := f_cse_createResource(int10, v_locpolicy_request_preamble, v_aeAuxIndex);//created locationpolicy index //Test Body - retrieve the created locationpolicy resource - mcaPort.send(m_request(valueof(m_retrieveResource(f_getResourceAddress(v_locPolicyResourceIndex), f_getOriginator(v_locPolicyResourceIndex))))); - tc_ac.start; - alt{ - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ - tc_ac.stop; - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.locationPolicy.locationContainerID)){ - setverdict(fail, __SCOPE__ & "No locationContainerID is included in the response!"); - }else{ - setverdict(pass, __SCOPE__ & "LocationPolicy resource is successfully retrieved with locationContainerID included in the response!"); - } + mcaPort.send(m_request(valueof(m_retrieveResource(f_getResourceAddress(v_locPolicyResourceIndex), f_getOriginator(v_locPolicyResourceIndex))))); + tc_ac.start; + alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ + tc_ac.stop; + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.locationPolicy.locationContainerID)){ + setverdict(fail, __SCOPE__ & "No locationContainerID is included in the response!"); + }else{ + setverdict(pass, __SCOPE__ & "LocationPolicy resource is successfully retrieved with locationContainerID included in the response!"); + } - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ - tc_ac.stop; - setverdict(fail, __SCOPE__ & "Requested locationPolicy is not found!"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ + tc_ac.stop; + setverdict(fail, __SCOPE__ & "Requested locationPolicy is not found!"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } @@ -13681,83 +15115,85 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } - } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - }//end testcase TC_CSE_LOC_BV_013 + }//end testcase TC_CSE_LOC_BV_013 }//end group g_CSE_LOC_BV_013 }//end group Location - group Group_Managment { + group Group_Managment { - group Create { + group Create { - /** - * @desc Check that the IUT rejects the creation of the group resource when member ID exceed max number of members. - * - */ - testcase TC_CSE_GMG_CRE_001() runs on CseTester system CseSystem { + /** + * @desc Check that the IUT rejects the creation of the group resource when member ID exceed max number of members. + * + */ + testcase TC_CSE_GMG_CRE_001() runs on AeSimu system CseSystem { // Local constants const XSD.NonNegativeInteger c_maxNrOfMembers := 1; - // Local variables - var MsgIn v_response; - var integer v_aeIndex := -1; - var integer v_containerIndex_1, v_containerIndex_2 := -1; + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; + var integer v_containerIndex_1, v_containerIndex_2 := -1; var RequestPrimitive v_request; var ListOfURIs v_memberIDs; - var template RequestPrimitive v_createRequest; - - // Test control + var template RequestPrimitive v_createRequest; + var template RequestPrimitive v_createContainerRequest_1 := m_createContainer_noResourceName; + var template RequestPrimitive v_createContainerRequest_2 := m_createContainer_noResourceName; + + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource + v_containerIndex_1 := f_cse_createResource(int3, v_createContainerRequest_1, v_aeIndex); // AE child resource + v_containerIndex_2 := f_cse_createResource(int3, v_createContainerRequest_2, v_aeIndex); // AE child resource v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; v_createRequest := valueof(m_createGroup(c_maxNrOfMembers, v_memberIDs, omit, int3)); - // Test Body + // Test Body v_request := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Creation failed because member ID exceed max number of member"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Creation failed because member ID exceed max number of member"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error resource created while member ID exceed max number of member"); } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -13767,43 +15203,43 @@ module OneM2M_Testcases { } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - } + } - /** + /** * @desc Check that the IUT rejects the creation of the group resource when the memberType cannot be retrieved due to lack of privilege. * */ - testcase TC_CSE_GMG_CRE_002() runs on CseTester system CseSystem { - // Local variables - var MsgIn v_response; - var integer v_aeIndex := -1; + testcase TC_CSE_GMG_CRE_002() runs on AeSimu system CseSystem { + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; var integer v_containerIndex := -1; - var integer v_acpIndex := -1; + var integer v_acpIndex := -1; var RequestPrimitive v_request; var template RequestPrimitive v_containerCreateRequest := m_createContainerBase; - var template RequestPrimitive v_createRequest; - var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, int61); //c_CUDNDi + var template RequestPrimitive v_createRequest; + var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, int61); //c_CUDNDi - // Test control + // Test control if(not(PICS_ACP_SUPPORT)) { setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } - // Test component configuration - f_cf01Up(); - - // Test adapter configuration + // Test component configuration + f_cf01Up(); + + // Test adapter configuration - // Preamble + // Preamble - v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi + v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource v_containerCreateRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; v_containerIndex := f_cse_createResource(int3, v_containerCreateRequest, v_aeIndex); // AE child resource @@ -13811,29 +15247,29 @@ module OneM2M_Testcases { v_createRequest := m_createGroup(1, {f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, omit, int3); v_request := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); // creating group - // Test Body + // Test Body - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int5105))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": creation failed due to lack of privilege"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int5105))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": creation failed due to lack of privilege"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error creation successful while doesn't have privileges for retrieving resource"); } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); - } - } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); + } + } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -13842,132 +15278,132 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } + // Tear down + f_cf01Down(); + } - /** - * @desc Check that the IUT detects the presence of duplicate member IDs during the creation of the <group> resource and removes the duplicate member IDs prior to creation of the <group> resource. - * - */ - testcase TC_CSE_GMG_CRE_003() runs on CseTester system CseSystem { - // Local variables - var MsgIn v_response; - var integer v_aeIndex := -1; + /** + * @desc Check that the IUT detects the presence of duplicate member IDs during the creation of the <group> resource and removes the duplicate member IDs prior to creation of the <group> resource. + * + */ + testcase TC_CSE_GMG_CRE_003() runs on AeSimu system CseSystem { + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; var integer v_containerIndex := -1; - var RequestPrimitive v_createRequest; - var XSD.AnyURI v_memberID; + var RequestPrimitive v_createRequest; + var XSD.AnyURI v_memberID; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi. + // Preamble + v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi. v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); // AE child resource v_memberID := f_getResourceId(vc_resourcesList[v_containerIndex].resource); v_createRequest := valueof(m_createGroup(2, {v_memberID, v_memberID}, omit, int3)); v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); // Test Body - mcaPort.send(m_request(v_createRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource created successfully"); - - if(not match({v_memberID}, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ + mcaPort.send(m_request(v_createRequest)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource created successfully"); + + if(not match({v_memberID}, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ setverdict(fail, __SCOPE__, ": Error, presence of duplicate member IDs "); - } + } if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) { setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - } + } /** * @desc Check that the IUT validates the resource type during the creation of the <group> resource when memberType attribute is not ‘mixed’. */ - testcase TC_CSE_GMG_CRE_004() runs on CseTester system CseSystem { + testcase TC_CSE_GMG_CRE_004() runs on AeSimu system CseSystem { // Local variables - var MsgIn v_response; + var MsgIn v_response; var RequestPrimitive v_createRequest; - var integer v_aeIndex := -1; + var integer v_aeIndex := -1; var integer v_containerIndex := -1; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi + // Preamble + v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); // AE child resource v_createRequest := valueof(m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, omit, int3)); //Member type is set to Container v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); - // Test Body - mcaPort.send(m_request(v_createRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource created successfully"); + // Test Body + mcaPort.send(m_request(v_createRequest)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource created successfully"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){ - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); - } - else { - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); - } - } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource" ); - } - } + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); + } + else { + if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); + } + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource" ); + } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - } + } - /** - * @desc Check that the IUT handles unsuccessful validation of the resource type during the creation of the <group> resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is SET_MIXED. - * - */ - testcase TC_CSE_GMG_CRE_005() runs on CseTester system CseSystem { + /** + * @desc Check that the IUT handles unsuccessful validation of the resource type during the creation of the <group> resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is SET_MIXED. + * + */ + testcase TC_CSE_GMG_CRE_005() runs on AeSimu system CseSystem { //Local variables var MsgIn v_response; var RequestPrimitive v_createRequest; @@ -13987,55 +15423,55 @@ module OneM2M_Testcases { v_createRequest := valueof(m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, omit, int2, int3)); //Member type is set to AE and consistencyStrategy is set to MIXED v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); - // Test Body - mcaPort.send(m_request(v_createRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource created successfully"); + // Test Body + mcaPort.send(m_request(v_createRequest)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource created successfully"); - // check for memberTypeValidated - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){ - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); - } - else { - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); - } - } - // check for memberType (MIXED) - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType)){ - setverdict(fail, __SCOPE__, ": Error, memberType attribute not provided"); - } - else { - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType != int0){ - setverdict(fail, __SCOPE__, ": Error, memberType attribute not correct"); - } - } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } + // check for memberTypeValidated + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); + } + else { + if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); + } + } + // check for memberType (MIXED) + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType)){ + setverdict(fail, __SCOPE__, ": Error, memberType attribute not provided"); + } + else { + if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType != int0){ + setverdict(fail, __SCOPE__, ": Error, memberType attribute not correct"); + } + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - } + } - /** - * @desc Check that the IUT handles unsuccessful validation of the resource type during the creation of the <group> resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_MEMBER,. - * - */ - testcase TC_CSE_GMG_CRE_006() runs on CseTester system CseSystem { + /** + * @desc Check that the IUT handles unsuccessful validation of the resource type during the creation of the <group> resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_MEMBER,. + * + */ + testcase TC_CSE_GMG_CRE_006() runs on AeSimu system CseSystem { //Local variables var MsgIn v_response; var RequestPrimitive v_createRequest; @@ -14060,54 +15496,54 @@ module OneM2M_Testcases { v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); // Test Body - mcaPort.send(m_request(v_createRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource created successfully"); + mcaPort.send(m_request(v_createRequest)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource created successfully"); // check for memberTypeValidated - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){ - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); - } else { - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); - } - } - // check for membersId - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ - setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not provided"); - } - else { - if(not match({f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ - setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not correct"); - } - } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); + } else { + if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); + } + } + // check for membersId + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not provided"); + } + else { + if(not match({f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not correct"); + } + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } - // Postamble - f_cse_postamble_deleteResources(); + // Postamble + f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - } + } /** * @desc Check that the IUT handles unsuccessful validation of the resource type during the creation of the group resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_GROUP. * */ - testcase TC_CSE_GMG_CRE_007() runs on CseTester system CseSystem { + testcase TC_CSE_GMG_CRE_007() runs on AeSimu system CseSystem { //Local variables var MsgIn v_response; var RequestPrimitive v_createRequest; @@ -14127,245 +15563,38 @@ module OneM2M_Testcases { v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex); v_groupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); - v_memberIDs := {f_getResourceId(vc_resourcesList[v_groupIndex].resource), f_getResourceId(vc_resourcesList[v_containerIndex].resource)}; - v_createRequest := valueof(m_createGroup(2, v_memberIDs, omit, int3, int2, -, -)); //Member type is set to container and consistencyStrategy is set to ABANDON GROUP - v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); - - // Test Body - mcaPort.send(m_request(v_createRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4110))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": unsuccessful validation of the resource type during the creation of the group"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error create succesfull while the operation should be aborted"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); - - } - - group g_CSE_GMG_CRE_008 { - - /** - * @desc Check that IUT generates a request primitive for each resource in memberIDs with no relative address appended to it. - * - */ - testcase TC_CSE_GMG_CRE_008_CRE() runs on CseTester system CseSystem { //Create - var template PrimitiveContent v_contentResponse; - v_contentResponse.container := mw_contentContainer_rc1; - - f_CSE_GMG_CRE_008(m_createContainerBase, v_contentResponse, int2001); - }//end TC_CSE_GMG_CRE_008_CRE - - testcase TC_CSE_GMG_CRE_008_UPD() runs on CseTester system CseSystem { //Update - var template RequestPrimitive v_updateRequest := m_updateAeBase; - var template PrimitiveContent v_contentResponse; - var Labels v_labels_1:= {"VALUE_1"}; - v_contentResponse.aE := m_contentAe_allOmit; - v_contentResponse.aE.labels := ?; - v_updateRequest.primitiveContent.aE.labels := v_labels_1; - - f_CSE_GMG_CRE_008(v_updateRequest, v_contentResponse, int2004); - }//end TC_CSE_GMG_CRE_008_UPD - - testcase TC_CSE_GMG_CRE_008_RET() runs on CseTester system CseSystem { //Retrieve - var template PrimitiveContent v_contentResponse; - v_contentResponse.aE := mw_contentAeBase; - - f_CSE_GMG_CRE_008(m_retrieveResource("Temporary", "Temporary"), v_contentResponse, int2000); - }//end TC_CSE_GMG_CRE_008_RET - - testcase TC_CSE_GMG_CRE_008_DEL() runs on CseTester system CseSystem { //Delete - var template PrimitiveContent v_contentResponse; - v_contentResponse.aE := mw_contentAeBase;// TODO see with wath should it be matched - - f_CSE_GMG_CRE_008(m_delete("Temporary", "Temporary"), v_contentResponse, int2002); - }//end TC_CSE_GMG_CRE_008_DEL - - function f_CSE_GMG_CRE_008(template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, in ResponseStatusCode p_responseStatusCode) runs on CseTester { - //Local constants - const integer c_numberOfResponsePrimitive := 2; - - // Local variables - var MsgIn v_response; - var integer v_aeIndex := -1; - var integer v_containerIndex_1 := -1; - var integer v_containerIndex_2 := -1; - var integer v_groupIndex := -1; - var ListOfURIs v_memberIDs; - var integer i; - - // Test control - - // Test component configuration - f_cf01Up(); - - // Test adapter configuration - - // Preamble - v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi - v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; - v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, -), v_aeIndex); // AE child resource - - p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; - p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - - // Test Body - - mcaPort.send(m_request(valueof(p_requestPrimitive))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); - - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ - setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); - } - else{ - if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){ - setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid"); - } - else{ - for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){ - if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, p_contentResponse)){ - setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected"); - } - } - } - } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource"); - } - } - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); - - } // end f_CSE_GMG_CRE_008 - - } // end group g_CSE_GMG_CRE_008 - - - /** - * @desc Check that IUT generates a request primitive for each resource in memberIDs with a relative address appended to it. - * - */ - testcase TC_CSE_GMG_CRE_009() runs on CseTester system CseSystem { - //Local constants - const integer c_numberOfResponsePrimitive := 2; - - // Local variables - var MsgIn v_response; - var integer v_aeIndex_1, v_aeIndex_2, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex := -1; - var integer i; - var ListOfURIs v_memberIDs; - var ListOfURIs v_membersAcpIds; - var RequestPrimitive v_createRequest := valueof(m_createContentInstance("NotInitialized", "Value1")); - var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, -); - var template PrimitiveContent v_contentResponse; - - v_contentResponse.contentInstance := mw_contentContentInstanceBase; - - // Test control - if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); - stop; - } - - // Test component configuration - f_cf01Up(); - - // Test adapter configuration - - // Preamble - v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi - v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred - v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource - v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_1); // AE1 child resource - v_containerIndex_2 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_2); // AE2 child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)}; - v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; - v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds, -), -); - - v_createRequest.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName; - v_createRequest.from_ := f_getOriginator(v_groupIndex); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN - + v_memberIDs := {f_getResourceId(vc_resourcesList[v_groupIndex].resource), f_getResourceId(vc_resourcesList[v_containerIndex].resource)}; + v_createRequest := valueof(m_createGroup(2, v_memberIDs, omit, int3, int2, -, -)); //Member type is set to container and consistencyStrategy is set to ABANDON GROUP + v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); + // Test Body - mcaPort.send(m_request(v_createRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4110))) -> value v_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); - - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ - setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); - } - else{ - if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){ - setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid"); - } - else{ - for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){ - if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, v_contentResponse)){ - setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected"); - } - } - } - } + setverdict(pass, __SCOPE__ & ": unsuccessful validation of the resource type during the creation of the group"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error create succesfull while the operation should be aborted"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } - + // Postamble f_cse_postamble_deleteResources(); - + // Tear down - f_cf01Down(); - - } // end TC_CSE_GMG_CRE_009 + f_cf01Down(); + + } } // end group Create @@ -14375,21 +15604,22 @@ module OneM2M_Testcases { * @desc Check that the IUT generates a request primitive for each resource in memberIDs with a relative address appended to fanOutPoint that includes a virtual resource. * */ - testcase TC_CSE_GMG_RET_001() runs on CseTester system CseSystem { + testcase TC_CSE_GMG_RET_001() runs on AeSimu system CseSystem { //Local constants const integer c_numberOfResponsePrimitive := 2; // Local variables var MsgIn v_response; - var integer v_aeIndex_1, v_aeIndex_2, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex, v_contentInstanceIndex_1, v_contentInstanceIndex_2 := -1; + var integer v_aeIndex_1, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex, v_contentInstanceIndex_1, v_contentInstanceIndex_2 := -1; var integer i; var ListOfURIs v_memberIDs; var ListOfURIs v_membersAcpIds; var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, -); var template PrimitiveContent v_contentResponse; var XSD.AnyURI v_fanoutPointAddress; + var RequestPrimitive v_containerRequestPrimitive := m_createContainer_noResourceName; - v_contentResponse.container := mw_contentContainerBase; + v_contentResponse.contentInstance := mw_contentContentInstanceBase; // Test control if(not(PICS_ACP_SUPPORT)) { @@ -14404,17 +15634,17 @@ module OneM2M_Testcases { // Preamble v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi - v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource - v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_1); // AE1 child resource - v_containerIndex_2 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_2); // AE2 child resource + v_containerRequestPrimitive := f_setAcpId(v_containerRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}); + v_containerIndex_1 := f_cse_createResource(int3, v_containerRequestPrimitive, v_aeIndex_1); // AE1 child resource + v_containerIndex_2 := f_cse_createResource(int3, v_containerRequestPrimitive, v_aeIndex_1); // AE2 child resource v_contentInstanceIndex_1 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex_1); // Container_1 child resource v_contentInstanceIndex_2 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex_2); // Container_2 child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)}; + v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; - v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds), -1); + v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, v_membersAcpIds), -1); - v_fanoutPointAddress := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName & "/" & c_resourceShortNameLatest; + v_fanoutPointAddress := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_resourceShortNameLatest; // Test Body mcaPort.send(m_request(m_retrieveResource(v_fanoutPointAddress, f_getOriginator(v_aeIndex_1)))); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN @@ -14463,13 +15693,13 @@ module OneM2M_Testcases { } // end group Retrieve - group Update { + group Update { - /** - * @desc Check that the IUT rejects the update of the group resource when the memberType cannot be retrieved due to lack of privilege. - * - */ - testcase TC_CSE_GMG_UPD_001() runs on CseTester system CseSystem { + /** + * @desc Check that the IUT rejects the update of the group resource when the memberType cannot be retrieved due to lack of privilege. + * + */ + testcase TC_CSE_GMG_UPD_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -14496,11 +15726,12 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource - v_containerCreateRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_containerIndex_2 := f_cse_createResource(int3, v_containerCreateRequest, v_aeIndex); // AE child resource v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3, -, - , -), v_aeIndex); + v_containerCreateRequest := f_setAcpId(v_containerCreateRequest, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}); + v_containerIndex_2 := f_cse_createResource(int3, v_containerCreateRequest, v_aeIndex); // AE child resource + v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); // creating group @@ -14531,14 +15762,14 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - } + } /** - * @desc Check that the IUT detects the presence of duplicate member IDs during an update of the <group> resource and removes the duplicate member IDs prior to updating the <group> resource. - * - */ - testcase TC_CSE_GMG_UPD_002() runs on CseTester system CseSystem { + * @desc Check that the IUT detects the presence of duplicate member IDs during an update of the <group> resource and removes the duplicate member IDs prior to updating the <group> resource. + * + */ + testcase TC_CSE_GMG_UPD_002() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -14548,7 +15779,7 @@ module OneM2M_Testcases { var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); var XSD.AnyURI v_memberId_1; var XSD.AnyURI v_memberId_2; - var PrimitiveContent v_primitiveContentRetrievedResource; + var PrimitiveContent v_primitiveContentRetrievedResource; // Test control @@ -14602,14 +15833,14 @@ module OneM2M_Testcases { } } - v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); - if(getverdict == pass){ - if(ischosen(v_primitiveContentRetrievedResource.group_)){ - if(v_primitiveContentRetrievedResource.group_.memberIDs[0] != v_memberId_2){ + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); + if(getverdict == pass){ + if(ischosen(v_primitiveContentRetrievedResource.group_)){ + if(v_primitiveContentRetrievedResource.group_.memberIDs[0] != v_memberId_2){ setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not updated"); - } - } - } + } + } + } //Postamble f_cse_postamble_deleteResources(); @@ -14618,12 +15849,12 @@ module OneM2M_Testcases { f_cf01Down(); } - /** - * @desc Check that the IUT validates the resource type during an UPDATE of the <group> resource when memberType attribute is not ‘mixed’. - * - */ - testcase TC_CSE_GMG_UPD_003() runs on CseTester system CseSystem { - // Local variables + /** + * @desc Check that the IUT validates the resource type during an UPDATE of the <group> resource when memberType attribute is not ‘mixed’. + * + */ + testcase TC_CSE_GMG_UPD_003() runs on AeSimu system CseSystem { + // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_containerIndex_1 := -1; @@ -14648,38 +15879,38 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); - // Test Body - mcaPort.send(m_request(v_updateRequest));// TODO see if the memberTypeValidated is present in the update response - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": update successful"); + // Test Body + mcaPort.send(m_request(v_updateRequest));// TODO see if the memberTypeValidated is present in the update response + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": update successful"); - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); - } - else { - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false) { - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated wrong value"); - } - } - } + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); + } + else { + if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false) { + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated wrong value"); + } + } + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while updating resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while updating resource"); - } - } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while updating resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); + } + } v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); - if(getverdict == pass){ + if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ if(v_primitiveContentRetrievedResource.group_.memberTypeValidated == false){ setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not updated"); @@ -14687,20 +15918,20 @@ module OneM2M_Testcases { } } - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } + // Tear down + f_cf01Down(); + } - /** - * @desc Check that the IUT handles unsuccessful validation of the resource type during an UPDATE of the <group> resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is SET_MIXED. - * - */ - testcase TC_CSE_GMG_UPD_004() runs on CseTester system CseSystem { - // Local variables - var MsgIn v_response; + /** + * @desc Check that the IUT handles unsuccessful validation of the resource type during an UPDATE of the <group> resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is SET_MIXED. + * + */ + testcase TC_CSE_GMG_UPD_004() runs on AeSimu system CseSystem { + // Local variables + var MsgIn v_response; var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); var integer v_aeIndex := -1; var integer v_containerIndex := -1; @@ -14710,16 +15941,16 @@ module OneM2M_Testcases { var XSD.AnyURI v_memberId_2; var PrimitiveContent v_primitiveContentRetrievedResource; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble + // Preamble v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi - v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex); + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource); v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource); @@ -14728,21 +15959,21 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_1, v_memberId_2}; v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); - // Test Body - mcaPort.send(m_request(v_updateRequest));// TODO see if the memberTypeValidated is present in the update response - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { - tc_ac.stop; + // Test Body + mcaPort.send(m_request(v_updateRequest));// TODO see if the memberTypeValidated is present in the update response + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; setverdict(pass, __SCOPE__ & ": update successful"); //memberTypeValidated attribute set to FALSE if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); - } + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); + } else { - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != false) { - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be FALSE"); + if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != true) { + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be TRUE"); } } @@ -14771,7 +16002,7 @@ module OneM2M_Testcases { } v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); - if(getverdict == pass){ + if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ if(v_primitiveContentRetrievedResource.group_.memberTypeValidated == false){ setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not updated"); @@ -14783,18 +16014,18 @@ module OneM2M_Testcases { } } - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } + // Tear down + f_cf01Down(); + } - /** - * @desc Check that the IUT handles unsuccessful validation of the resource type during an UPDATE of the group resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_MEMBER. - * - */ - testcase TC_CSE_GMG_UPD_005() runs on CseTester system CseSystem { + /** + * @desc Check that the IUT handles unsuccessful validation of the resource type during an UPDATE of the group resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_MEMBER. + * + */ + testcase TC_CSE_GMG_UPD_005() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); @@ -14811,11 +16042,11 @@ module OneM2M_Testcases { // Test component configuration f_cf01Up(); - // Test adapter configuration + // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi - v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex); + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource); v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource); @@ -14824,14 +16055,14 @@ module OneM2M_Testcases { v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_1}; v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); - //Test Body + //Test Body - mcaPort.send(m_request(v_updateRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": update successful"); + mcaPort.send(m_request(v_updateRequest)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": update successful"); //memberTypeValidated attribute set to TRUE if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { @@ -14843,7 +16074,7 @@ module OneM2M_Testcases { } } - //memberIDs attribute set to v_memberID1 + //memberIDs attribute set to v_memberID1 if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not provided"); } @@ -14855,22 +16086,22 @@ module OneM2M_Testcases { setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not correct"); } } - } + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while updating resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while updating resource"); - } - } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while updating resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); + } + } v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); - if(getverdict == pass){ + if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ if(v_primitiveContentRetrievedResource.group_.memberTypeValidated == false){ setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not updated"); @@ -14882,47 +16113,47 @@ module OneM2M_Testcases { } } - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } + // Tear down + f_cf01Down(); + } - /** - * @desc Check that the IUT handles unsuccessful validation of the resource type during the creation of the group resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_GROUP. - * - */ - testcase TC_CSE_GMG_UPD_006() runs on CseTester system CseSystem { + /** + * @desc Check that the IUT handles unsuccessful validation of the resource type during the creation of the group resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_GROUP. + * + */ + testcase TC_CSE_GMG_UPD_006() runs on AeSimu system CseSystem { // Local variables - var MsgIn v_response; - var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); - var integer v_aeIndex := -1; - var integer v_containerIndex := -1; - var integer v_groupIndex := -1; + var MsgIn v_response; + var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_groupIndex := -1; var integer v_subGroupIndex := -1; - var XSD.AnyURI v_memberId_1; - var XSD.AnyURI v_memberId_2; + var XSD.AnyURI v_memberId_1; + var XSD.AnyURI v_memberId_2; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble + // Preamble v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi - v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex); + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource); v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource); - v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int2), v_aeIndex); //Member type is set to Container(int3) and consistencyStrategy is set to ABANDON GROUP (default value) + v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int2), v_aeIndex); //Member type is set to Container(int3) and consistencyStrategy is set to ABANDON GROUP (default value) - v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_1}; - v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); + v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_1}; + v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); - //Test Body + //Test Body mcaPort.send(m_request(v_updateRequest)); tc_ac.start; alt { @@ -14943,42 +16174,42 @@ module OneM2M_Testcases { } } - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } + // Tear down + f_cf01Down(); + } - /** - * @desc Check that the IUT detects when the number of memberIDs exceeds the limitation of maxNrOfMembers. - * - */ - testcase TC_CSE_GMG_UPD_007() runs on CseTester system CseSystem - { - //Local constants - const integer c_maxNrOfMembers := 2; + /** + * @desc Check that the IUT detects when the number of memberIDs exceeds the limitation of maxNrOfMembers. + * + */ + testcase TC_CSE_GMG_UPD_007() runs on AeSimu system CseSystem + { + //Local constants + const integer c_maxNrOfMembers := 2; - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_groupIndex, v_containerIndex_1, v_containerIndex_2, v_containerIndex_3 := -1; - var ListOfURIs v_memberIDs; - var template RequestPrimitive v_createRequest; + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_groupIndex, v_containerIndex_1, v_containerIndex_2, v_containerIndex_3 := -1; + var ListOfURIs v_memberIDs; + var template RequestPrimitive v_createRequest; var PrimitiveContent v_primitiveContentRetrievedResource; - var template RequestPrimitive v_updateRequest := m_updateGroupBase; + var template RequestPrimitive v_updateRequest := m_updateGroupBase; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource @@ -14990,33 +16221,33 @@ module OneM2M_Testcases { v_groupIndex := f_cse_createResource(int9, v_createRequest, v_aeIndex); - //Test Body - v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); + //Test Body + v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); v_memberIDs := v_memberIDs & {f_getResourceId(vc_resourcesList[v_containerIndex_3].resource)}; - v_request.primitiveContent.group_.memberIDs := v_memberIDs; + v_request.primitiveContent.group_.memberIDs := v_memberIDs; - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": operation is not allowed"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": operation is not allowed"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error update successful while maxNrOfMembers has exceeded"); } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); - } - } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); + } + } v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); - if(getverdict == pass){ + if(getverdict == pass){ //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrievedResource.group_)) { if(v_primitiveContentRetrievedResource.group_.memberIDs == v_memberIDs){ @@ -15025,19 +16256,19 @@ module OneM2M_Testcases { } } - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } + // Tear down + f_cf01Down(); + } /** * @desc Check that the IUT detects when the value provided for maxNrOfMembers attribute is less than the value of the currentNrOfMembers attribute. * */ - testcase TC_CSE_GMG_UPD_008() runs on CseTester system CseSystem { - // Local variables + testcase TC_CSE_GMG_UPD_008() runs on AeSimu system CseSystem { + // Local variables var MsgIn v_response; var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); var integer v_aeIndex := -1; @@ -15066,29 +16297,29 @@ module OneM2M_Testcases { v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); - //Test Body - mcaPort.send(m_request(v_updateRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": max number of member exceeded"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } + //Test Body + mcaPort.send(m_request(v_updateRequest)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": max number of member exceeded"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error update successful while operation is not allowed"); } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while updating resource"); - } - } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); + } + } v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); - if(getverdict == pass){ + if(getverdict == pass){ //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrievedResource.group_)) { if(v_primitiveContentRetrievedResource.group_.maxNrOfMembers == v_maxNrOfMembers){ @@ -15097,101 +16328,98 @@ module OneM2M_Testcases { } } - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } + // Tear down + f_cf01Down(); + } - /** - * @desc Check that the IUT handles validation of the resource type during an UPDATE of the <group> resource when memberIDs contains a sub-group on a temporarily unreachable Hosting CSE. - * - */ - testcase TC_CSE_GMG_UPD_009() runs on CseTester system CseSystem - { - //Local constants + /** + * @desc Check that the IUT handles validation of the resource type during an UPDATE of the <group> resource when memberIDs contains a sub-group on a temporarily unreachable Hosting CSE. + * + */ + testcase TC_CSE_GMG_UPD_009() runs on AeSimu system CseSystem + { + //Local constants const integer c_maxNrOfMembers := 2; - const ResourceType c_ResourceTypeGroup := int9; - - - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_groupIndex := -1; + const ResourceType c_ResourceTypeGroup := int9; + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_groupIndex := -1; var integer v_containerIndex_1 := -1; var integer v_containerIndex_2 := -1; var XSD.AnyURI v_memberId_1; var XSD.AnyURI v_memberId_2; - var template RequestPrimitive v_createRequest := m_createGroupBase; - var template RequestPrimitive v_updateRequest := m_updateGroupBase; - + var template RequestPrimitive v_createRequest := m_createGroupBase; + var template RequestPrimitive v_updateRequest := m_updateGroupBase; var PrimitiveContent v_primitiveContentRetrievedResource; - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi -// TODO: -> register IUT to the remoteCSE -// TODO: Create one of the container in a remoteCSE + // Preamble + v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi + //TODO: -> register IUT to the remoteCSE + //TODO: Create one of the container in a remoteCSE v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - + v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex_1].resource); v_memberId_2 := f_getResourceId(vc_resourcesList[v_containerIndex_2].resource); - + v_createRequest := valueof(m_createGroup(c_maxNrOfMembers, {v_memberId_1}, omit, int3)); - - v_groupIndex := f_cse_createResource(c_ResourceTypeGroup, v_createRequest, v_aeIndex); + + v_groupIndex := f_cse_createResource(c_ResourceTypeGroup, v_createRequest, v_aeIndex); - - //Test Body + //Test Body v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_1, v_memberId_2}; v_request := f_getUpdateRequestPrimitive(c_ResourceTypeGroup, v_groupIndex, v_updateRequest); - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { - tc_ac.stop; + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; - if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); - } else { - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false) { - if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 2) { - setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); - } else { - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] == v_memberId_1 and v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[1] == v_memberId_2) { - setverdict(pass, __SCOPE__ & ": update successful"); - } else { - setverdict(fail, __SCOPE__, ": Error, wrong memberIDs"); - } - } - } else { - setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be set to FALSE"); - } - } - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); - } - } + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); + } else { + if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false) { + if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 2) { + setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); + } else { + if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] == v_memberId_1 and v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[1] == v_memberId_2) { + setverdict(pass, __SCOPE__ & ": update successful"); + } else { + setverdict(fail, __SCOPE__, ": Error, wrong memberIDs"); + } + } + } else { + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be set to FALSE"); + } + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); + } + } v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); - if(getverdict == pass){ + if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ if(v_primitiveContentRetrievedResource.group_.memberTypeValidated != false){ setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not updated"); @@ -15203,96 +16431,92 @@ module OneM2M_Testcases { } } - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } + // Tear down + f_cf01Down(); + } - /** - * @desc Check that the IUT handles validation of the resource type during an UPDATE of the group resource when memberIDs contains a sub-group on a a previously unreachable Hosting CSE that has become reachable - * @verdict - */ - testcase TC_CSE_GMG_UPD_010() runs on CseTester system CseSystem - { - //Local constants - const ResourceType c_ResourceTypeGroup := int9; - const integer c_maxNrOfMembers := 2; - - - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_remoteCSEIndex := -1; - var integer v_groupIndex := -1; + /** + * @desc Check that the IUT handles validation of the resource type during an UPDATE of the group resource when memberIDs contains a sub-group on a a previously unreachable Hosting CSE that has become reachable + * @verdict + */ + testcase TC_CSE_GMG_UPD_010() runs on AeSimu system CseSystem + { + //Local constants + const ResourceType c_ResourceTypeGroup := int9; + const integer c_maxNrOfMembers := 2; + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_remoteCSEIndex := -1; + var integer v_groupIndex := -1; var integer v_containerIndex_1 := -1; var integer v_containerIndex_2 := -1; var integer v_subscriptionIndex := -1; - - var template RequestPrimitive v_createRequest := m_createGroupBase; - var template RequestPrimitive v_updateRequest := m_updateGroupBase; - + + var template RequestPrimitive v_createRequest := m_createGroupBase; + var template RequestPrimitive v_updateRequest := m_updateGroupBase; + var XSD.AnyURI v_memberId_1; var XSD.AnyURI v_memberId_2; - var CseTester v_notifyHandler; - - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(true); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi -// TODO: -> register IUT to the remoteCSE - //v_remoteCSEIndex := ... + // Preamble + v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi + //TODO: -> register IUT to the remoteCSE v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - + v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex_1].resource); v_memberId_2 := f_getResourceId(vc_resourcesList[v_containerIndex_2].resource); - + v_createRequest := valueof(m_createGroup(c_maxNrOfMembers, {v_memberId_1, v_memberId_2}, omit, int3)); - + v_groupIndex := f_cse_createResource(c_ResourceTypeGroup, v_createRequest, v_aeIndex); - + v_subscriptionIndex := f_cse_createResource(int23,m_createSubscriptionBase, v_groupIndex); + + vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler()); - v_notifyHandler.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_aeIndex)); - - //Test Body - v_request := f_getUpdateRequestPrimitive(c_ResourceTypeGroup, v_groupIndex, v_updateRequest); - //v_request.from_ := CSE-ID - v_request.to_ := f_getResourceAddress(v_remoteCSEIndex); - //Content set to <remoteCSE> resource containing onlineStatus := false; + //Test Body + v_request := f_getUpdateRequestPrimitive(c_ResourceTypeGroup, v_groupIndex, v_updateRequest); + //v_request.from_ := CSE-ID + v_request.to_ := f_getResourceAddress(v_remoteCSEIndex); + //Content set to <remoteCSE> resource containing onlineStatus := false; - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { - tc_ac.stop; + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; setverdict(pass, __SCOPE__ & ": update successful"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); + } + } - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf01Down(); - } - } // end group Update + // Tear down + f_cf01Down(); + } + } // end group Update @@ -15307,26 +16531,38 @@ module OneM2M_Testcases { * @desc Check that the IUT allows a <group>/fanoutPoint OPERATION when the Originator has OPERATION_PERMISSION specified in membersAccessControlPolicyIDs attribute in the group resource. * */ - testcase TC_CSE_GMG_001_CRE() runs on CseTester system CseSystem { //Create - f_CSE_GMG_001(m_createContainerBase, int2001); + testcase TC_CSE_GMG_001_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_001(m_createContainerBase, int2001)); + v_ae1.done; }//end TC_CSE_GMG_001_CRE - testcase TC_CSE_GMG_001_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_GMG_001_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_GMG_001(v_updateRequest, int2004); + + v_ae1.start(f_CSE_GMG_001(v_updateRequest, int2004)); + v_ae1.done; }//end TC_CSE_GMG_001_UPD - testcase TC_CSE_GMG_001_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_GMG_001(m_retrieveResource("Temporary", "Temporary"), int2000); + testcase TC_CSE_GMG_001_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_001(m_retrieveResource("Temporary", "Temporary"), int2000)); + v_ae1.done; }//end TC_CSE_GMG_001_RET - testcase TC_CSE_GMG_001_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_GMG_001(m_delete("Temporary", "Temporary"), int2002); + testcase TC_CSE_GMG_001_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_001(m_delete("Temporary", "Temporary"), int2002)); + v_ae1.done; }//end TC_CSE_GMG_001_DEL - function f_CSE_GMG_001(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester { + function f_CSE_GMG_001(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -15361,7 +16597,8 @@ module OneM2M_Testcases { p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); - + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); + // Test Body mcaPort.send(m_request(valueof(p_requestPrimitive))); @@ -15411,26 +16648,38 @@ module OneM2M_Testcases { * @desc Check that IUT denies a <group>/fanOutPoint OPERATION when the Originator does not have OPERATION_PERMISSION specified in membersAccessControlPolicyIDs in the group resource. * */ - testcase TC_CSE_GMG_002_CRE() runs on CseTester system CseSystem { //Create - f_CSE_GMG_002(m_createContainerBase, int62); //c_RUDNDi + testcase TC_CSE_GMG_002_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_002(m_createContainerBase, int62)); //c_RUDNDi + v_ae1.done; }//end TC_CSE_GMG_002_CRE - testcase TC_CSE_GMG_002_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_GMG_002_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_GMG_002(v_updateRequest, int59);//c_CRDNDi + + v_ae1.start(f_CSE_GMG_002(v_updateRequest, int59));//c_CRDNDi + v_ae1.done; }//end TC_CSE_GMG_002_UPD - testcase TC_CSE_GMG_002_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_GMG_002(m_retrieveResource("Temporary", "Temporary"), int61);//c_CUDNDi + testcase TC_CSE_GMG_002_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_002(m_retrieveResource("Temporary", "Temporary"), int61));//c_CUDNDi + v_ae1.done; }//end TC_CSE_GMG_002_RET - testcase TC_CSE_GMG_002_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_GMG_002(m_delete("Temporary", "Temporary"), int55); //c_CRUNDi + testcase TC_CSE_GMG_002_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_002(m_delete("Temporary", "Temporary"), int55)); //c_CRUNDi + v_ae1.done; }//end TC_CSE_GMG_002_DEL - function f_CSE_GMG_002(template RequestPrimitive p_requestPrimitive, in AccessControlOperations p_accessControlOperations) runs on CseTester { + function f_CSE_GMG_002(template RequestPrimitive p_requestPrimitive, in AccessControlOperations p_accessControlOperations) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -15464,6 +16713,7 @@ module OneM2M_Testcases { p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); // Test Body @@ -15503,26 +16753,38 @@ module OneM2M_Testcases { * @desc Check that the IUT allows a <group>/fanoutPoint OPERATION when the Originator has OPERATION_PERMISSION specified in accessControlPolicyIDs and the membersAccessControlPolicyIDs is empty in the <group> resource. * @verdict */ - testcase TC_CSE_GMG_003_CRE() runs on CseTester system CseSystem { //Create - f_CSE_GMG_003(m_createContainerBase, int2001); + testcase TC_CSE_GMG_003_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_003(m_createContainerBase, int2001)); + v_ae1.done; }//end TC_CSE_GMG_003_CRE - testcase TC_CSE_GMG_003_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_GMG_003_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_GMG_003(v_updateRequest, int2004); + + v_ae1.start(f_CSE_GMG_003(v_updateRequest, int2004)); + v_ae1.done; }//end TC_CSE_GMG_003_UPD - testcase TC_CSE_GMG_003_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_GMG_003(m_retrieveResource("Temporary", "Temporary"), int2000); + testcase TC_CSE_GMG_003_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_003(m_retrieveResource("Temporary", "Temporary"), int2000)); + v_ae1.done; }//end TC_CSE_GMG_003_RET - testcase TC_CSE_GMG_003_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_GMG_003(m_delete("Temporary", "Temporary"), int2002); + testcase TC_CSE_GMG_003_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_003(m_delete("Temporary", "Temporary"), int2002)); + v_ae1.done; }//end TC_CSE_GMG_003_DEL - function f_CSE_GMG_003(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester { + function f_CSE_GMG_003(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -15548,15 +16810,243 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi - v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource - v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource + v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource + v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource + v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource + v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; + v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, v_membersAcpIds), v_aeIndex); // AE child resource + + p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; + p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); + + // Test Body + + mcaPort.send(m_request(valueof(p_requestPrimitive))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); + + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); + } + else { + for(i:=0; i<lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list); i := i+1){ + if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i], mw_responsePrimitiveOK)){ + setverdict(fail, __SCOPE__, ": Error, one responsePrimitve of aggregatedResponse_list is not successful"); + } + } + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + } // end f_CSE_GMG_003 + + } // end group g_CSE_GMG_003 + + group g_CSE_GMG_004 { + + /** + * @desc Check that IUT rejects a <group>/fanOutPoint OPERATION when the Originator does not have OPERATION_PERMISSION specified in accessControlPolicyIDs and the membersAccessControlPolicyIDs is empty in the group resource. + * + */ + testcase TC_CSE_GMG_004_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_004(m_createContainerBase, int62)); //c_RUDNDi + v_ae1.done; + }//end TC_CSE_GMG_004_CRE + + testcase TC_CSE_GMG_004_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var Labels v_labels_1:= {"VALUE_1"}; + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_GMG_004(v_updateRequest, int59));//c_CRDNDi + v_ae1.done; + }//end TC_CSE_GMG_004_UPD + + testcase TC_CSE_GMG_004_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_004(m_retrieveResource("Temporary", "Temporary"), int61));//c_CUDNDi + v_ae1.done; + }//end TC_CSE_GMG_004_RET + + testcase TC_CSE_GMG_004_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_GMG_004(m_delete("Temporary", "Temporary"), int55)); //c_CRUNDi + v_ae1.done; + }//end TC_CSE_GMG_004_DEL + + function f_CSE_GMG_004(template RequestPrimitive p_requestPrimitive, in AccessControlOperations p_accessControlOperations) runs on AeSimu { + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; + var integer v_acpIndex := -1; + var integer v_containerIndex_1 := -1; + var integer v_containerIndex_2 := -1; + var integer v_groupIndex := -1; + var ListOfURIs v_memberIDs; + var AcpType v_acpIDs; + var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, p_accessControlOperations); + + // Test control + if(not(PICS_ACP_SUPPORT)) { + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); + stop; + } + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi + v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource + v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource + v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource + v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; + v_acpIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, v_acpIDs, int3), v_aeIndex); // AE child resource + + p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; + p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); + + // Test Body + + mcaPort.send(m_request(valueof(p_requestPrimitive))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Update failed due to lack of privilege"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error operation successful while doesn't have privileges"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while executing operation"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + } // end f_CSE_GMG_004 + + } // end group g_CSE_GMG_004 + + group g_CSE_GMG_005 { + + /** + * @desc Check that IUT generates a request primitive for each resource in memberIDs with no relative address appended to it. + * + */ + testcase TC_CSE_GMG_005_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template PrimitiveContent v_contentResponse; + v_contentResponse.container := mw_contentContainer_rc1; + + v_ae1.start(f_CSE_GMG_005(m_createContainerBase, v_contentResponse, int2001)); + v_ae1.done; + }//end TC_CSE_GMG_005_CRE + + testcase TC_CSE_GMG_005_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var template PrimitiveContent v_contentResponse; + var Labels v_labels_1:= {"VALUE_1"}; + v_contentResponse.container := mw_contentContainerBase; + v_contentResponse.container.labels := ?; + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_GMG_005(v_updateRequest, v_contentResponse, int2004)); + v_ae1.done; + }//end TC_CSE_GMG_005_UPD + + testcase TC_CSE_GMG_005_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template PrimitiveContent v_contentResponse; + v_contentResponse.container := mw_contentContainerBase; + + v_ae1.start(f_CSE_GMG_005(m_retrieveResource("Temporary", "Temporary"), v_contentResponse, int2000)); + v_ae1.done; + }//end TC_CSE_GMG_005_RET + + testcase TC_CSE_GMG_005_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template PrimitiveContent v_contentResponse; + v_contentResponse.container := mw_contentContainerBase;// TODO see with wath should it be matched + + v_ae1.start(f_CSE_GMG_005(m_delete("Temporary", "Temporary"), v_contentResponse, int2002)); + v_ae1.done; + }//end TC_CSE_GMG_005_DEL + + function f_CSE_GMG_005(template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, in ResponseStatusCode p_responseStatusCode) runs on AeSimu { + //Local constants + const integer c_numberOfResponsePrimitive := 2; + + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; + var integer v_containerIndex_1 := -1; + var integer v_containerIndex_2 := -1; + var integer v_groupIndex := -1; + var ListOfURIs v_memberIDs; + var integer i; + var template RequestPrimitive v_createContainerRequest_1 := m_createContainer_noResourceName; + var template RequestPrimitive v_createContainerRequest_2 := m_createContainer_noResourceName; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi + v_containerIndex_1 := f_cse_createResource(int3, v_createContainerRequest_1, v_aeIndex); // AE child resource + v_containerIndex_2 := f_cse_createResource(int3, v_createContainerRequest_2, v_aeIndex); // AE child resource v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; - v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; - v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, v_membersAcpIds), v_aeIndex); // AE child resource - + v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, -), v_aeIndex); // AE child resource + p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; - p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); // Test Body @@ -15566,17 +17056,22 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); - + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); } - else { - for(i:=0; i<lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list); i := i+1){ - if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i], mw_responsePrimitiveOK)){ - setverdict(fail, __SCOPE__, ": Error, one responsePrimitve of aggregatedResponse_list is not successful"); + else{ + if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){ + setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid"); + } + else{ + for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){ + if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, p_contentResponse)){ + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected"); + } } } - } + } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; @@ -15597,47 +17092,76 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - } // end f_CSE_GMG_003 + } // end f_CSE_GMG_005 - } // end group g_CSE_GMG_003 + } // end group g_CSE_GMG_005 - group g_CSE_GMG_004 { + group g_CSE_GMG_006 { /** - * @desc Check that IUT rejects a <group>/fanOutPoint OPERATION when the Originator does not have OPERATION_PERMISSION specified in accessControlPolicyIDs and the membersAccessControlPolicyIDs is empty in the group resource. + * @desc Check that IUT generates a request primitive for each resource in memberIDs with no relative address appended to it. * */ - testcase TC_CSE_GMG_004_CRE() runs on CseTester system CseSystem { //Create - f_CSE_GMG_004(m_createContainerBase, int62); //c_RUDNDi - }//end TC_CSE_GMG_004_CRE + testcase TC_CSE_GMG_006_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template PrimitiveContent v_contentResponse; + v_contentResponse.container := mw_contentContainer_rc1; + + v_ae1.start(f_CSE_GMG_006(m_createContainerBase, v_contentResponse, int2001)); + v_ae1.done; + }//end TC_CSE_GMG_006_CRE - testcase TC_CSE_GMG_004_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_GMG_006_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var template PrimitiveContent v_contentResponse; var Labels v_labels_1:= {"VALUE_1"}; + v_contentResponse.container := mw_contentContainerBase; + v_contentResponse.container.labels := ?; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_GMG_004(v_updateRequest, int59);//c_CRDNDi - }//end TC_CSE_GMG_004_UPD - - testcase TC_CSE_GMG_004_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_GMG_004(m_retrieveResource("Temporary", "Temporary"), int61);//c_CUDNDi - }//end TC_CSE_GMG_004_RET + + v_ae1.start(f_CSE_GMG_006(v_updateRequest, v_contentResponse, int2004)); + v_ae1.done; + }//end TC_CSE_GMG_006_UPD - testcase TC_CSE_GMG_004_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_GMG_004(m_delete("Temporary", "Temporary"), int55); //c_CRUNDi - }//end TC_CSE_GMG_004_DEL + testcase TC_CSE_GMG_006_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template PrimitiveContent v_contentResponse; + v_contentResponse.container := mw_contentContainerBase; + + v_ae1.start(f_CSE_GMG_006(m_retrieveResource("Temporary", "Temporary"), v_contentResponse, int2000)); + v_ae1.done; + }//end TC_CSE_GMG_006_RET - function f_CSE_GMG_004(template RequestPrimitive p_requestPrimitive, in AccessControlOperations p_accessControlOperations) runs on CseTester { - // Local variables + testcase TC_CSE_GMG_006_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template PrimitiveContent v_contentResponse; + v_contentResponse.container := mw_contentContainerBase;// TODO see with wath should it be matched + + v_ae1.start(f_CSE_GMG_006(m_delete("Temporary", "Temporary"), v_contentResponse, int2002)); + v_ae1.done; + }//end TC_CSE_GMG_006_DEL + + /** + * @desc Check that IUT generates a request primitive for each resource in memberIDs with a relative address appended to it. + * + */ + function f_CSE_GMG_006(template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, in ResponseStatusCode p_responseStatusCode) runs on AeSimu { + //Local constants + const integer c_numberOfResponsePrimitive := 2; + + // Local variables var MsgIn v_response; - var integer v_aeIndex := -1; - var integer v_acpIndex := -1; - var integer v_containerIndex_1 := -1; - var integer v_containerIndex_2 := -1; - var integer v_groupIndex := -1; + var integer v_aeIndex_1, v_aeIndex_2, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex := -1; + var integer i; var ListOfURIs v_memberIDs; - var AcpType v_acpIDs; - var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, p_accessControlOperations); - + var ListOfURIs v_membersAcpIds; + var RequestPrimitive v_createRequest := valueof(m_createContentInstance("NotInitialized", "Value1")); + var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, -); + var template PrimitiveContent v_contentResponse; + + v_contentResponse.contentInstance := mw_contentContentInstanceBase; + // Test control if(not(PICS_ACP_SUPPORT)) { setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); @@ -15648,62 +17172,79 @@ module OneM2M_Testcases { f_cf01Up(); // Test adapter configuration - + // Preamble - v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi - v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource - v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; - v_acpIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; - v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, v_acpIDs, int3), v_aeIndex); // AE child resource + v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi + v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred + v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource + v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_1); // AE1 child resource + v_containerIndex_2 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_2); // AE2 child resource + v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)}; + v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds, -), -); - p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; - p_requestPrimitive.from_ := f_getOriginator(v_groupIndex); + v_createRequest.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName; + v_createRequest.from_ := f_getOriginator(v_groupIndex); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN + v_createRequest.requestIdentifier := v_createRequest.requestIdentifier & f_rnd(1, 1000000); // Test Body - mcaPort.send(m_request(valueof(p_requestPrimitive))); + mcaPort.send(m_request(v_createRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Update failed due to lack of privilege"); + setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); + + if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); + } + else{ + if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){ + setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid"); + } + else{ + for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){ + if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, v_contentResponse)){ + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected"); + } + } + } + } } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error operation successful while doesn't have privileges"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing operation"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } - + // Postamble f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); - } // end f_CSE_GMG_004 - - } // end group g_CSE_GMG_004 + } // end f_CSE_GMG_006 + }//end group g_CSE_GMG_006 }// End of Basic_Operations - } // end group Group_Managment + } // end group Group_Managment - group Discovery { + group Discovery { /** * @desc Check that the IUT returns successfully a list all discovered resource addresses * */ - testcase TC_CSE_DIS_001() runs on CseTester system CseSystem { + testcase TC_CSE_DIS_001() runs on AeSimu system CseSystem { // Local variables var integer v_aeIndex := -1; var integer v_resourceIndex := -1; @@ -15755,15 +17296,15 @@ module OneM2M_Testcases { * @desc Check that the IUT returns the empty address list when no result matching with filter criteria is discovered * */ - testcase TC_CSE_DIS_003() runs on CseTester system CseSystem { + testcase TC_CSE_DIS_003() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var RequestPrimitive v_request; var integer v_childResourceIndex := -1; - const ResourceType c_containerResourceType := int3; - var Labels v_labels := {"NotFoundLabel"}; + const ResourceType c_containerResourceType := int3; + var Labels v_labels := {"NotFoundLabel"}; // Test control @@ -15784,7 +17325,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response { tc_ac.stop; - if(sizeof(v_response.primitive.responsePrimitive.primitiveContent.uRIList) == 0){ + if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.uRIList) == 0){ setverdict(pass, __SCOPE__ & ": No Content is present"); } else @@ -15816,15 +17357,15 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully a list of discovered resource addresses with Non-hierarchical addressing form when the Discovery Result Type is provided in the request * */ - testcase TC_CSE_DIS_004() runs on CseTester system CseSystem { + testcase TC_CSE_DIS_004() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var RequestPrimitive v_request; var integer v_childResourceIndex := -1; - const ResourceType c_containerResourceType := int3; - var integer v_i_cont := 0; + const ResourceType c_containerResourceType := int3; + var integer v_i_cont := 0; // Test control @@ -15844,13 +17385,13 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response { tc_ac.stop; - while (v_i_cont<sizeof(v_response.primitive.responsePrimitive.primitiveContent.uRIList)){ + while (v_i_cont<lengthof(v_response.primitive.responsePrimitive.primitiveContent.uRIList)){ if (f_isNonHierarchical(v_response.primitive.responsePrimitive.primitiveContent.uRIList[v_i_cont])) { setverdict(pass, __SCOPE__ & ": Non-hierarchical address form present in URIList[" & int2str(v_i_cont) & "] element"); } else { setverdict(fail, __SCOPE__ & ": Non-hierarchical address form absent in URIList[" & int2str(v_i_cont) & "] element"); } - v_i_cont := v_i_cont + 1; + v_i_cont := v_i_cont + 1; } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { @@ -15877,7 +17418,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the discovery requests to the resource TARGET_RESOURCE_ADDRESS when AE has no privilege to perform the discovery request for the resource TARGET_RESOURCE_ADDRESS * */ - testcase TC_CSE_DIS_005() runs on CseTester system CseSystem { + testcase TC_CSE_DIS_005() runs on AeSimu system CseSystem { // Local variables var integer v_aeIndex := -1; var integer v_resourceIndex := -1; @@ -15936,7 +17477,7 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE sends requests to discover the resource TARGET_RESOURCE_ADDRESS which does not exist in the Hosting CSE * */ - testcase TC_CSE_DIS_006() runs on CseTester system CseSystem { + testcase TC_CSE_DIS_006() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -15992,7 +17533,7 @@ module OneM2M_Testcases { * @desc Check that the IUT responds the originator with an error when the originator sends a request including an invalid format of filter criteria to discover the resource TARGET_RESOURCE_ADDRESS * */ - testcase TC_CSE_DIS_007() runs on CseTester system CseSystem { + testcase TC_CSE_DIS_007() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16044,7 +17585,7 @@ module OneM2M_Testcases { f_cf01Down(); } // end TC_CSE_DIS_007 - } //end group Group Discovery + } //end group Group Discovery group Subscription_And_Notification { @@ -16054,27 +17595,26 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the creation of the <subscription> resource when the target subscribed-to RESOURCE_TYPE resource is not subscribable. * */ - testcase TC_CSE_SUB_CRE_001_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_CRE_001_SUB() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred; - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription resource is created @@ -16101,7 +17641,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_resourceIndex, f_getResourceName(v_request.primitiveContent))){ @@ -16118,7 +17658,7 @@ module OneM2M_Testcases { } // end TC_CSE_SUB_CRE_001_SUB - testcase TC_CSE_SUB_CRE_001_CIN() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_CRE_001_CIN() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16127,7 +17667,6 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var RequestPrimitive v_request; - v_createRequest.primitiveContent.subscription.resourceName := omit; // Test control // Test component configuration @@ -16165,7 +17704,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_contentInstanceResourceIndex, f_getResourceName(v_request.primitiveContent))){ @@ -16186,7 +17725,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the creation of the <subscription> resource when the originator does not have privileges for retrieving the subscribed-to resource. * */ - testcase TC_CSE_SUB_CRE_002() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_CRE_002() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16233,7 +17772,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -16254,7 +17793,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the creation of the <subscription> resource when the notificationURI is not the originator and the IUT cannot send the Notify request to the notificationURI * */ - testcase TC_CSE_SUB_CRE_003() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_CRE_003() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16295,7 +17834,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -16316,32 +17855,45 @@ module OneM2M_Testcases { * @desc Check that the IUT stores Originator ID in the notification creator attribute when a <SUBSCRIPTION> creation request which needs verification is received and the notificationURI is not the Originator. * */ - testcase TC_CSE_SUB_CRE_004() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_CRE_004() runs on AeSimu system CseSystem { //Local variables var template RequestPrimitive v_request := m_createSubscriptionBase; + var RequestPrimitive v_notificationRequest; var integer v_aeIndex := -1; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; - + var integer v_resourceIndex := -1; + // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_request, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_request, int23); - // Test Body v_request := f_getCreateRequestPrimitive(int23, m_createSubscriptionBase, v_aeIndex); v_request.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; - mcaPort.send(m_request(valueof(v_request))); + v_resourceIndex := f_cse_createResource(int23, v_request, v_aeIndex);//Subscription + + if(vc_ae2.running) { + vc_ae2.stop; + }; + + f_checkComponentDoneAndGetVerdict(vc_ae2); + + // Test Body + v_notificationRequest := f_getRequestPrimitive(vc_ae2); - f_is_component_done(v_notifyHandler); + if(f_compareURIs(v_aeIndex, v_notificationRequest.primitiveContent.notification.creator)) { + setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive"); + } else { + setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive"); + } // Postamble f_cse_postamble_deleteResources(); @@ -16355,7 +17907,7 @@ module OneM2M_Testcases { * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Create_of_Direct_Child_Resource" and an create operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_CRE_005() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_CRE_005() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; @@ -16364,13 +17916,12 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := omit; var template PrimitiveContent v_contentNotification := {container := mw_contentContainer_rc1};// all attributes expected var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -16378,42 +17929,42 @@ module OneM2M_Testcases { v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int3}), -, omit, omit, omit, -, omit); - - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body v_request:= f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex); - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Resource type int3 (Container) created successfully"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type int3 (Container) created successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while creating resource type int3 (Container)"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while creating resource type int3 (Container)"); - } - } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating resource type int3 (Container)"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type int3 (Container)"); + } + } - f_is_component_done(v_notifyHandler); - + f_checkComponentDoneAndGetVerdict(vc_ae2); + //Postamble f_cse_postamble_deleteResources(); @@ -16429,26 +17980,25 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the creation of the <subscription> resource when the notificationURI is not the originator and the IUT have received the Notify response containing Response Status Code indicating SUBSCRIPTION_CREATOR_HAS_NO_PRIVILEGE * */ - testcase TC_CSE_SUB_NTF_001() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_NTF_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe(omit,omit);//c_CUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23, int4101); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23, int4101); // Test Body v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription @@ -16474,7 +18024,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -16495,26 +18045,25 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the creation of the <subscription> resource when the notificationURI is not the originator and the IUT have received the Notify response containing Response Status Code indicating SUBSCRIPTION_HOST_HAS_NO_PRIVILEGE * */ - testcase TC_CSE_SUB_NTF_002() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_NTF_002() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe(omit,omit);//c_CUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23, int5205); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23, int5205); // Test Body v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription @@ -16540,7 +18089,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Check to see if the resource is NOT present if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ @@ -16557,13 +18106,15 @@ module OneM2M_Testcases { } // end TC_CSE_SUB_NTF_002 - /** - * @desc Check that the IUT sends aggregated notification to the subscriber resource when the duration value of the batchNotify attribute is set to TIME_LIMIT and when this timer expires - * - */ - testcase TC_CSE_SUB_NTF_003() runs on CseTester system CseSystem { + /** + * @desc Check that the IUT sends aggregated notification to the subscriber resource when the duration value of the batchNotify attribute is set to TIME_LIMIT and when this timer expires + * + */ + testcase TC_CSE_SUB_NTF_003() runs on AeSimu system CseSystem { // Local variables - const integer numberOfAggregatedNotification := 3; + timer t_batchNotificationTimer := PX_TAC * 2.0; + var float v_elapsedTime; + const integer c_numberOfAggregatedNotification := 2; var Labels v_labels_1:= {"VALUE_1"}; var Labels v_labels_2:= {"VALUE_2"}; var integer v_aeIndex := -1; @@ -16572,7 +18123,6 @@ module OneM2M_Testcases { var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; v_contentResponse.aE := mw_contentAeBase; // all attributes expected @@ -16580,45 +18130,53 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), omit, omit, -, int2); + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(c_numberOfAggregatedNotification + 1, "PT10S" ), omit, omit, -, int2);//batchNotify/number greater than number of notifications to be sent so that batchNotify/duration expires before v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body - v_notifyHandler.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, 2)); // check that no notification is received + vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, c_numberOfAggregatedNotification)); v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1 f_cse_updateResource(v_request); + t_batchNotificationTimer.start; v_updateRequest := m_updateAeBase; - v_updateRequest.requestIdentifier := "m_updateAe" & f_rnd(1, 1000000); v_updateRequest.primitiveContent.aE.appName := "MyAppName2"; v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 2 f_cse_updateResource(v_request); - f_is_component_done(v_notifyHandler); + vc_ae2.done; + v_elapsedTime := t_batchNotificationTimer.read; + t_batchNotificationTimer.stop; + + if(v_elapsedTime < 10.0) { + setverdict(fail, __SCOPE__ & ": Notifications sent before bathNotify/duration expired"); + } + + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); - + //Tear down f_cf01Down(); - } // end TC_CSE_SUB_NTF_003 + } // end TC_CSE_SUB_NTF_003 }//end group Notify @@ -16628,7 +18186,7 @@ module OneM2M_Testcases { * @desc Check that the IUT sends Notify request to the subscriber resource when an update operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_UPD_001() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var Labels v_labels_1:= {"VALUE_1"}; @@ -16638,31 +18196,30 @@ module OneM2M_Testcases { var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body v_contentResponse.aE := mw_contentAeBase; // all attributes expected - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request v_request.primitiveContent.aE.labels := v_labels_1; @@ -16687,7 +18244,7 @@ module OneM2M_Testcases { } }; - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -16701,7 +18258,7 @@ module OneM2M_Testcases { * @desc Check that the IUT sends a Notify request to the subscriber resource when the notificationContentType attribute is set to “modified attributes†and an update operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_UPD_002() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_002() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16711,13 +18268,12 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := omit; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -16726,19 +18282,20 @@ module OneM2M_Testcases { v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int2, omit); //notificationContentType ="modified attributes" - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); //Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body //TODO Use f_getTemplateFromPrimitiveContent() which needs to be modified to receive the template in which the output template will be built upon v_contentResponse.aE.labels := ?;// only modified attribute expected + v_contentResponse.aE.lastModifiedTime := ?;// only modified attribute expected //TODO Get it automatically into the expected content template - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs v_updateRequest.primitiveContent.aE.labels := v_labels_1; @@ -16764,7 +18321,7 @@ module OneM2M_Testcases { } } - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -16778,7 +18335,7 @@ module OneM2M_Testcases { * @desc Check that the IUT sends a Notify request to the subscriber resource when the notificationContentType attribute is set to “ResourceID†and an update operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_UPD_003() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_003() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16788,35 +18345,34 @@ module OneM2M_Testcases { var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - v_contentResponse.aE := m_contentAe_allOmit; // only modified attribute expected - v_contentResponse.aE.resourceID := ?; + v_contentResponse.uRI := ?; + // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int3, omit); // notificationContentType ="ResourceID" v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription - v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); - - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); // Test Body - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs + + v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); mcaPort.send(m_request(v_request)); tc_ac.start; @@ -16838,6 +18394,8 @@ module OneM2M_Testcases { } } + f_checkComponentDoneAndGetVerdict(vc_ae2); + //Postamble f_cse_postamble_deleteResources(); @@ -16850,7 +18408,7 @@ module OneM2M_Testcases { * @desc Check that the IUT decreases the expirationCounter attribute of a subscription resource when the Hosting CSE of the subscribed-to resource successfully sends the notification request to subscriber resource(s) * */ - testcase TC_CSE_SUB_UPD_004() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_004() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16861,7 +18419,6 @@ module OneM2M_Testcases { var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var template PrimitiveContent v_retrieveContentResponse; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; @@ -16871,31 +18428,30 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 3, omit, omit, omit, -, omit); //expirationCounter set to 3 v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); // Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // AE update request f_cse_updateResource(v_request); // AE update - //TODO See if we keep this f_is_component_done, it assure that the retrieve operation is executed after having sent and received the Notification - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)))); @@ -16923,7 +18479,7 @@ module OneM2M_Testcases { } } - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -16937,7 +18493,7 @@ module OneM2M_Testcases { * @desc Check that the IUT deletes the subscription resource when the the expirationCounter meets zero * */ - testcase TC_CSE_SUB_UPD_005() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_005() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16947,7 +18503,6 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := omit; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; @@ -16956,30 +18511,29 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 1, omit, omit, omit, -, omit); //expirationCounter set to 1 v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);// Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // AE update request f_cse_updateResource(v_request); // AE update - //TODO See if we keep this f_is_component_done, it assure that the retrieve operation is executed after having sent and received the Notification - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)))); @@ -17002,7 +18556,7 @@ module OneM2M_Testcases { } } - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -17016,17 +18570,16 @@ module OneM2M_Testcases { * @desc Check that the IUT doesn’t send a Notify request to the subscriber resource when the “attribute†condition tag of eventNotificationCriteria attribute is set to LIST_OF_ATTRIBUTE and doesn’t contain the ATTRIBUTE_NAME attribute updated. * */ - testcase TC_CSE_SUB_UPD_006() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_006() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var Labels v_labels_1:= {"VALUE_1"}; - var AttributeList_1 v_attributeList := {"appName"}; + var AttributeList_1 v_attributeList := {"apn"}; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; @@ -17034,14 +18587,14 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList), omit, omit, omit, omit, -, omit); @@ -17049,12 +18602,12 @@ module OneM2M_Testcases { v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body - v_notifyHandler.start(f_cse_notifyProcedure_noNotificationHandler()); // check that no notification is received + vc_ae2.start(f_cse_notifyProcedure_noNotificationHandler()); // check that no notification is received mcaPort.send(m_request(v_request)); tc_ac.start; @@ -17076,7 +18629,7 @@ module OneM2M_Testcases { } } - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -17090,7 +18643,7 @@ module OneM2M_Testcases { * @desc Check that the IUT sends aggregated notification to the subscriber resource when the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached * */ - testcase TC_CSE_SUB_UPD_007() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_007() runs on AeSimu system CseSystem { // Local variables const integer numberOfAggregatedNotification := 3; var Labels v_labels_1:= {"VALUE_1"}; @@ -17102,7 +18655,6 @@ module OneM2M_Testcases { var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; v_contentResponse.aE := mw_contentAeBase; // all attributes expected @@ -17110,25 +18662,25 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), omit, omit, -, omit ); - + v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body - v_notifyHandler.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received + vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1 @@ -17142,7 +18694,7 @@ module OneM2M_Testcases { v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 3 f_cse_updateResource(v_request); - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -17152,92 +18704,90 @@ module OneM2M_Testcases { } // end TC_CSE_SUB_UPD_007 - /** - * @desc Check that the IUT sends the latest notification to the subscriber resource when latestNotify is set to TRUE, the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached - * - */ - testcase TC_CSE_SUB_UPD_008() runs on CseTester system CseSystem { - // Local variables - const integer numberOfAggregatedNotification := 3; - var Labels v_labels_1:= {"VALUE_1"}; - var Labels v_labels_2:= {"VALUE_2"}; - var Labels v_labels_3:= {"VALUE_3"}; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var template RequestPrimitive v_createRequest := omit; - var template PrimitiveContent v_contentResponse; - var template RequestPrimitive v_updateRequest := m_updateAeBase; - var RequestPrimitive v_request; - var CseTester v_notifyHandler; + /** + * @desc Check that the IUT sends the latest notification to the subscriber resource when latestNotify is set to TRUE, the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached + * + */ + testcase TC_CSE_SUB_UPD_008() runs on AeSimu system CseSystem { + // Local variables + const integer numberOfAggregatedNotification := 3; + var Labels v_labels_1:= {"VALUE_1"}; + var Labels v_labels_2:= {"VALUE_2"}; + var Labels v_labels_3:= {"VALUE_3"}; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var template RequestPrimitive v_createRequest := omit; + var template PrimitiveContent v_contentResponse; + var template RequestPrimitive v_updateRequest := m_updateAeBase; + var RequestPrimitive v_request; var integer v_ae2Index := -1; - v_contentResponse.aE := mw_contentAeBase; // all attributes expected + v_contentResponse.aE := mw_contentAeBase; // all attributes expected - // Test control + // Test control - // Test component configuration - f_cf01Up(); + // Test component configuration + f_cf01Up(true); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), true, omit, -, omit); - //TODO We Need to check if the IUT send a notification only for the latest update operation - // like we match a Notification we have to verify if it is the first (unvalid behavior) or the last (valid behavior) - // maybe we need to synchronise our components + //TODO We Need to check if the IUT send a notification only for the latest update operation + // like we match a Notification we have to verify if it is the first (unvalid behavior) or the last (valid behavior) + // maybe we need to synchronise our components - v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription + v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs - v_updateRequest.primitiveContent.aE.labels := v_labels_1; - v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1 + v_updateRequest.primitiveContent.aE.labels := v_labels_1; + v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1 f_cse_updateResource(v_request); - v_updateRequest.primitiveContent.aE.labels := v_labels_2; - v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 2 + v_updateRequest.primitiveContent.aE.labels := v_labels_2; + v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 2 f_cse_updateResource(v_request); - v_updateRequest.primitiveContent.aE.labels := v_labels_3; - v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 3 + v_updateRequest.primitiveContent.aE.labels := v_labels_3; + v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 3 f_cse_updateResource(v_request); - f_is_component_done(v_notifyHandler); - - //Postamble - f_cse_postamble_deleteResources(); + f_checkComponentDoneAndGetVerdict(vc_ae2); + + //Postamble + f_cse_postamble_deleteResources(); - //Tear down - f_cf01Down(); + //Tear down + f_cf01Down(); - } // end TC_CSE_SUB_UPD_008 + } // end TC_CSE_SUB_UPD_008 /** * @desc Check that the IUT sends a Notify request to the subscriber resource when the “attribute†condition tag of eventNotificationCriteria attribute is set to ATTRIBUTE_NAME and an update operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_UPD_009() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_009() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var Labels v_labels_1:= {"VALUE_1"}; - var AttributeList_1 v_attributeList := {"labels"}; + var AttributeList_1 v_attributeList := {"lbl"}; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; @@ -17246,14 +18796,14 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList), omit, omit, omit, omit, -, omit); @@ -17261,12 +18811,12 @@ module OneM2M_Testcases { v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs mcaPort.send(m_request(v_request)); tc_ac.start; @@ -17288,7 +18838,7 @@ module OneM2M_Testcases { } } - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -17308,40 +18858,43 @@ module OneM2M_Testcases { * @desc Check that the IUT sends a Notify request to the AE2_RESOURCE_ADDRESS of the subscriberURI attribute when the SUBSCRIPTION_RESOURCE_ADDRESS <subscription> resource is deleted * */ - testcase TC_CSE_SUB_DEL_001() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_DEL_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var RequestPrimitive v_request; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; + var template Notification v_notificationContent := mw_contentNotificationBase; + var RequestPrimitive v_notificationRequest; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit,f_getResourceAddress(v_ae2Index), -, omit); // SubscriberURI ="ResourceID" v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); // Subscription v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); // Subscription resource deletion request - - if(v_notifyHandler.running) { - v_notifyHandler.stop; + + if(vc_ae2.running) { + vc_ae2.stop; }; // Test Body - v_notifyHandler.start(f_CSE_SUB_DEL_001(f_getResourceAddress(v_resourceIndex))); // check that no notification is received + v_notificationContent.subscriptionReference := ?; + v_notificationContent.notificationEvent := omit; + vc_ae2.start(f_cse_notifyProcedure_subscriptionDeletionHandler(v_notificationContent)); // check that no notification is received mcaPort.send(m_request(v_request)); tc_ac.start; @@ -17363,7 +18916,15 @@ module OneM2M_Testcases { } } - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); + + v_notificationRequest := f_getRequestPrimitive(vc_ae2); + + if(f_compareURIs(v_resourceIndex, v_notificationRequest.primitiveContent.notification.subscriptionReference)) { + setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive"); + } else { + setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive"); + } //Postamble f_cse_postamble_deleteResources(); @@ -17373,58 +18934,24 @@ module OneM2M_Testcases { } // end TC_CSE_SUB_DEL_001 - function f_CSE_SUB_DEL_001(in XSD.AnyURI p_subscriptionReference) runs on CseTester { - // Local variables - var MsgIn v_response; - var template Notification v_notificationRequest := mw_contentNotificationBase; - - v_notificationRequest.subscriptionDeletion := true; - v_notificationRequest.subscriptionReference := p_subscriptionReference; - - - map(self:mcaPort, system:mcaPort); - map(self:acPort, system:acPort); - - tc_ac.start; - alt { - [] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Notification received"); - } - [] mcaPort.receive{ - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error, unexpected message received"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No notification received"); - } - } - - unmap(self:mcaPort, system:mcaPort); - unmap(self:acPort, system:acPort); - - } //end f_CSE_SUB_DEL_001 - - /** * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Delete_of_Resource" and an delete operation has been performed the subscribed-to resource * */ - testcase TC_CSE_SUB_DEL_002() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_DEL_002() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_subscriptionResourceIndex := -1; var template RequestPrimitive v_createRequest := omit; - var template PrimitiveContent v_contentNotification := {aE:= mw_contentAeBase}; // all attributes expected; + var template PrimitiveContent v_notificationContent; var RequestPrimitive v_deleteRequest; - var CseTester v_notifyHandler; var integer v_ae2Index := -1; // Test control // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -17433,19 +18960,21 @@ module OneM2M_Testcases { v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int2}, -), omit, omit, omit, omit, -, omit); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_subscriptionResourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex );//Subscription - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; //Test Body - v_notifyHandler.start(f_cse_notifyProcedure_subscriptionDeletionHandler(v_contentNotification)); // check if the notification is well received and if its content matchs + v_notificationContent := {aE:= mw_contentAeBase}; // all attributes expected; - v_deleteRequest:= valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex))); // Ae delete request + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_notificationContent)); // check if the notification is well received and if its content matchs + v_deleteRequest:= valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex))); // Ae delete request + mcaPort.send(m_request(v_deleteRequest)); tc_ac.start; alt { @@ -17468,7 +18997,7 @@ module OneM2M_Testcases { } } - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -17482,7 +19011,7 @@ module OneM2M_Testcases { * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Delete_of_Direct_Child_Resource" and an delete operation has been performed on a child resource of the subscribed-to resource * */ - testcase TC_CSE_SUB_DEL_003() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_DEL_003() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -17490,12 +19019,11 @@ module OneM2M_Testcases { var integer v_containerResourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var RequestPrimitive v_deleteRequest; - var template PrimitiveContent v_contentNotification := {container := mw_contentContainer_rc1}; // all attributes expected in notification; - var CseTester v_notifyHandler; + var template PrimitiveContent v_notificationContent; var integer v_ae2Index := -1; // Test component configuration - f_cf01Up(); + f_cf01Up(true); // Test adapter configuration @@ -17506,19 +19034,21 @@ module OneM2M_Testcases { v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int4}, -), omit, omit, omit, omit, -, omit); - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); + f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_subscriptionResourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription (with name attribute omitted) - if(v_notifyHandler.running) { - v_notifyHandler.stop; + if(vc_ae2.running) { + vc_ae2.stop; }; //Test Body - v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs + v_notificationContent := {container := mw_contentContainer_rc1}; // all attributes expected; - v_deleteRequest := valueof(m_delete(f_getResourceAddress(v_containerResourceIndex), f_getOriginator(v_containerResourceIndex)));// Container deletion request + vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_notificationContent)); // check if the notification is well received and if its content matchs + v_deleteRequest := valueof(m_delete(f_getResourceAddress(v_containerResourceIndex), f_getOriginator(v_containerResourceIndex)));// Container deletion request + mcaPort.send(m_request(v_deleteRequest)); tc_ac.start; alt { @@ -17539,7 +19069,7 @@ module OneM2M_Testcases { } } - f_is_component_done(v_notifyHandler); + f_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); @@ -17563,7 +19093,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts the creation of a accessControlPolicy resource with privileges attribute having multiple access control rules * */ - testcase TC_CSE_SEC_ACP_CRE_001() runs on CseTester system CseSystem { + testcase TC_CSE_SEC_ACP_CRE_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -17600,7 +19130,8 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_accessControlPolicyType)) & " created successfully"); - v_acpIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int1, v_aeIndex); + f_checkAttributesToBeSaved(c_accessControlPolicyType, v_createRequest, v_response.primitive.responsePrimitive); + v_acpIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int1, v_aeIndex); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -17615,7 +19146,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is present or not if(f_isResourcePresent(v_acpIndex)) { @@ -17633,9 +19164,9 @@ module OneM2M_Testcases { }//end TC_CSE_SEC_ACP_CRE_001 /** - * @desc Check that the IUT accepts the creation of a accessControlPolicy resource with selfPrivileges attribute having multiple access control rules - */ - testcase TC_CSE_SEC_ACP_CRE_002() runs on CseTester system CseSystem { + * @desc Check that the IUT accepts the creation of a accessControlPolicy resource with selfPrivileges attribute having multiple access control rules + */ + testcase TC_CSE_SEC_ACP_CRE_002() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -17672,7 +19203,8 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_accessControlPolicyType)) & " created successfully"); - v_acpIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, c_accessControlPolicyType, v_aeIndex); + f_checkAttributesToBeSaved(c_accessControlPolicyType, v_createRequest, v_response.primitive.responsePrimitive); + v_acpIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, c_accessControlPolicyType, v_aeIndex); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -17687,7 +19219,7 @@ module OneM2M_Testcases { } } - f_checkCseTesterStatus(); + f_checkAeSimuStatus(); //Check to see if the resource is present or not if(f_isResourcePresent(v_acpIndex)) { @@ -17712,13 +19244,14 @@ module OneM2M_Testcases { * @desc Check that the IUT updates successfully the accessControlPolicyIDs attribute of the <AE> resource when the AE has privileges for UPDATE operation in any selfPrivileges of the <accessControlPolicy> resources which this attribute originally indicates. * */ - testcase TC_CSE_SEC_ACP_UPD_001() runs on CseTester system CseSystem { + testcase TC_CSE_SEC_ACP_UPD_001() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_acpIndex1 := -1; var integer v_acpIndex2 := -1; - var RequestPrimitive v_createRequest := valueof(m_createAcp(f_getResourceAddress(-1), omit)); + var RequestPrimitive v_createRequestAcp1 := valueof(m_createAcp(f_getResourceAddress(-1), omit)); + var RequestPrimitive v_createRequestAcp2 := valueof(m_createAcp(f_getResourceAddress(-1), omit)); var RequestPrimitive v_updateRequest := valueof(m_updateAeBase); var AccessControlRule v_accessControlRule_1; var AccessControlRule v_accessControlRule_2; @@ -17734,9 +19267,9 @@ module OneM2M_Testcases { // Test adapter configuration // Preamble - v_acpIndex1 := f_cse_createResource(int1, v_createRequest); // CSE child resource + v_acpIndex1 := f_cse_createResource(int1, v_createRequestAcp1); // CSE child resource - v_acpIndex2 := f_cse_createResource(int1, v_createRequest); // CSE child resource + v_acpIndex2 := f_cse_createResource(int1, v_createRequestAcp2); // CSE child resource v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex1].resource)}, -); @@ -17773,10 +19306,10 @@ module OneM2M_Testcases { } v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_aeIndex); - if(getverdict == pass){ + if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.aE)) { if(not match (f_resourceIdCleaner(v_primitiveContentRetrievedResource.aE.accessControlPolicyIDs[0]), v_updateRequest.primitiveContent.aE.accessControlPolicyIDs[0])){ - setverdict(fail, __SCOPE__ & ": Error: Access Control policy ID attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Access Control policy ID attribute not updated correctly"); } } } @@ -17793,14 +19326,15 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when the AE tries an UPDATE operation on the accessControlPolicyIDs attribute without having privileges for such operation in any selfPrivileges of the <accessControlPolicy> resources which this attribute originally indicates. * */ - testcase TC_CSE_SEC_ACP_UPD_002() runs on CseTester system CseSystem { + testcase TC_CSE_SEC_ACP_UPD_002() runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_acpIndex1 := -1; var integer v_acpIndex2 := -1; - var RequestPrimitive v_createRequest := valueof(m_createAcp(f_getResourceAddress(-1), omit)); - var RequestPrimitive v_updateRequest := valueof(m_updateAeBase); + var RequestPrimitive v_createRequestAcp1 := valueof(m_createAcp(f_getResourceAddress(-1), omit)); + var RequestPrimitive v_createRequestAcp2 := valueof(m_createAcp(f_getResourceAddress(-1), omit)); + var RequestPrimitive v_updateRequest; var AccessControlRule v_accessControlRule_1; var AccessControlRule v_accessControlRule_2; var SetOfAcrs v_setOfArcs_1; @@ -17815,9 +19349,9 @@ module OneM2M_Testcases { // Test adapter configuration // Preamble - v_acpIndex1 := f_cse_createResource(int1, v_createRequest); // CSE child resource + v_acpIndex1 := f_cse_createResource(int1, v_createRequestAcp1); // CSE child resource - v_acpIndex2 := f_cse_createResource(int1, v_createRequest); // CSE child resource + v_acpIndex2 := f_cse_createResource(int1, v_createRequestAcp2); // CSE child resource v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex1].resource)}, -); @@ -17830,6 +19364,7 @@ module OneM2M_Testcases { f_cse_updateResource(v_updateRequest); // Test Body + v_updateRequest := valueof(m_updateAeBase); v_updateRequest.primitiveContent.aE.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex2].resource)}; v_updateRequest := f_getUpdateRequestPrimitive(int1, v_aeIndex, v_updateRequest); @@ -17880,26 +19415,38 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when an ORIGINATOR tries an OPERATION without having privileges for performing the OPERATION on the TARGET_RESOURCE_TYPE resource. * */ - testcase TC_CSE_SEC_ACP_001_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_001(m_createContainerBase); + testcase TC_CSE_SEC_ACP_001_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_001(m_createContainerBase)); + v_ae1.done; }//end TC_CSE_SEC_ACP_001_CRE - testcase TC_CSE_SEC_ACP_001_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_SEC_ACP_001_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateAeBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - f_CSE_SEC_ACP_001(v_updateRequest); + + v_ae1.start(f_CSE_SEC_ACP_001(v_updateRequest)); + v_ae1.done; }//end TC_CSE_SEC_ACP_001_UPD - testcase TC_CSE_SEC_ACP_001_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_001(m_retrieveResource("Temporary", "Temporary")); + testcase TC_CSE_SEC_ACP_001_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_001(m_retrieveResource("Temporary", "Temporary"))); + v_ae1.done; }//end TC_CSE_SEC_ACP_001_RET - testcase TC_CSE_SEC_ACP_001_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_001(m_delete("Temporary", "Temporary")); + testcase TC_CSE_SEC_ACP_001_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_001(m_delete("Temporary", "Temporary"))); + v_ae1.done; }//end TC_CSE_SEC_ACP_001_DEL - function f_CSE_SEC_ACP_001(template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_SEC_ACP_001(template RequestPrimitive p_requestPrimitive) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -17929,6 +19476,7 @@ module OneM2M_Testcases { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := "UnknowOriginator"; + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; @@ -17953,8 +19501,8 @@ module OneM2M_Testcases { //Postamble //We are forced to delete the Ae because the delete request in the postamble_deleteResources is sent by Ae itself, witch doesn't have privileges if(testcasename() == "TC_CSE_SEC_ACP_001_DEL") { - f_cse_deleteResource(v_aeIndex, m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator()));//Use of PX_SUPER_AE_ID to remove AE - } + f_cse_deleteResource(v_aeIndex, m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator()));//Use of PX_SUPER_AE_ID to remove AE + } f_cse_postamble_deleteResources(); //Tear down @@ -17970,26 +19518,38 @@ module OneM2M_Testcases { * @desc Check that the IUT responds successfully when the AE tries an OPERATION on its <AE> resource which has multiple accessControlPolicyID attribute * */ - testcase TC_CSE_SEC_ACP_002_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_002(m_createContainerBase, int2001); + testcase TC_CSE_SEC_ACP_002_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_002(m_createContainerBase, int2001)); + v_ae1.done; }//end TC_CSE_SEC_ACP_002_CRE - testcase TC_CSE_SEC_ACP_002_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_SEC_ACP_002_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateAeBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - f_CSE_SEC_ACP_002(v_updateRequest, int2004); + + v_ae1.start(f_CSE_SEC_ACP_002(v_updateRequest, int2004)); + v_ae1.done; }//end TC_CSE_SEC_ACP_002_UPD - testcase TC_CSE_SEC_ACP_002_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_002(m_retrieveResource("Temporary", "Temporary"), int2000); + testcase TC_CSE_SEC_ACP_002_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_002(m_retrieveResource("Temporary", "Temporary"), int2000)); + v_ae1.done; }//end TC_CSE_SEC_ACP_002_RET - testcase TC_CSE_SEC_ACP_002_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_002(m_delete("Temporary", "Temporary"), int2002); + testcase TC_CSE_SEC_ACP_002_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_002(m_delete("Temporary", "Temporary"), int2002)); + v_ae1.done; }//end TC_CSE_SEC_ACP_002_DEL - function f_CSE_SEC_ACP_002(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester { + function f_CSE_SEC_ACP_002(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -18028,6 +19588,7 @@ module OneM2M_Testcases { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; @@ -18067,26 +19628,38 @@ module OneM2M_Testcases { * @desc Check that the IUT responds successfully when an allowed DOMAIN tries an OPERATION on a AE_RESOURCE_TYPE resource. * */ - testcase TC_CSE_SEC_ACP_003_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_003(m_createContainerBase, int2001); + testcase TC_CSE_SEC_ACP_003_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_003(m_createContainerBase, int2001)); + v_ae1.done; }//end TC_CSE_SEC_ACP_003_CRE - testcase TC_CSE_SEC_ACP_003_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_SEC_ACP_003_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateAeBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - f_CSE_SEC_ACP_003(v_updateRequest, int2004); + + v_ae1.start(f_CSE_SEC_ACP_003(v_updateRequest, int2004)); + v_ae1.done; }//end TC_CSE_SEC_ACP_003_02 - testcase TC_CSE_SEC_ACP_003_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_003(m_retrieveResource("Temporary", "Temporary"), int2000); + testcase TC_CSE_SEC_ACP_003_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_003(m_retrieveResource("Temporary", "Temporary"), int2000)); + v_ae1.done; }//end TC_CSE_SEC_ACP_003_03 - testcase TC_CSE_SEC_ACP_003_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_003(m_delete("Temporary", "Temporary"), int2002); + testcase TC_CSE_SEC_ACP_003_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_003(m_delete("Temporary", "Temporary"), int2002)); + v_ae1.done; }//end TC_CSE_SEC_ACP_003_04 - function f_CSE_SEC_ACP_003(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester{ + function f_CSE_SEC_ACP_003(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on AeSimu{ // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -18112,6 +19685,7 @@ module OneM2M_Testcases { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := "testDomain"; + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; @@ -18170,26 +19744,38 @@ module OneM2M_Testcases { * @desc Check that the IUT responds successfully when any ORIGINATOR tries an OPERATION on a AE_RESOURCE_TYPE resource for which all originators are allowed * */ - testcase TC_CSE_SEC_ACP_004_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_004(m_createContainerBase, int2001); + testcase TC_CSE_SEC_ACP_004_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_004(m_createContainerBase, int2001)); + v_ae1.done; }//end TC_CSE_SEC_ACP_004_CRE - testcase TC_CSE_SEC_ACP_004_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_SEC_ACP_004_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateAeBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - f_CSE_SEC_ACP_004(v_updateRequest, int2004); + + v_ae1.start(f_CSE_SEC_ACP_004(v_updateRequest, int2004)); + v_ae1.done; }//end TC_CSE_SEC_ACP_004_UPD - testcase TC_CSE_SEC_ACP_004_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_004(m_retrieveResource("Temporary", "Temporary"), int2000); + testcase TC_CSE_SEC_ACP_004_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_004(m_retrieveResource("Temporary", "Temporary"), int2000)); + v_ae1.done; }//end TC_CSE_SEC_ACP_004_RET - testcase TC_CSE_SEC_ACP_004_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_004(m_delete("Temporary", "Temporary"), int2002); + testcase TC_CSE_SEC_ACP_004_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_004(m_delete("Temporary", "Temporary"), int2002)); + v_ae1.done; }//end TC_CSE_SEC_ACP_004_DEL - function f_CSE_SEC_ACP_004(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester{ + function f_CSE_SEC_ACP_004(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on AeSimu{ // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -18212,6 +19798,7 @@ module OneM2M_Testcases { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); p_requestPrimitive.from_ := "UnknowOriginator"; + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; @@ -18250,26 +19837,38 @@ module OneM2M_Testcases { * @desc Check that the IUT responds successfully when the AE tries an OPERATION on its child <container> resource whose accessControlPolicyID attribute is not set and AE has privileges for such OPERATION on its associated accessControlPolicy resource * */ - testcase TC_CSE_SEC_ACP_011_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_011(m_createContainerBase, int2001); + testcase TC_CSE_SEC_ACP_011_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_011(m_createContainerBase, int2001)); + v_ae1.done; }//end TC_CSE_SEC_ACP_011_CRE - testcase TC_CSE_SEC_ACP_011_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_SEC_ACP_011_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_SEC_ACP_011(v_updateRequest, int2004); + + v_ae1.start(f_CSE_SEC_ACP_011(v_updateRequest, int2004)); + v_ae1.done; }//end TC_CSE_SEC_ACP_011_UPD - testcase TC_CSE_SEC_ACP_011_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_011(m_retrieveResource("Temporary", "Temporary"), int2000); + testcase TC_CSE_SEC_ACP_011_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_011(m_retrieveResource("Temporary", "Temporary"), int2000)); + v_ae1.done; }//end TC_CSE_SEC_ACP_011_RET - testcase TC_CSE_SEC_ACP_011_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_011(m_delete("Temporary", "Temporary"), int2002); + testcase TC_CSE_SEC_ACP_011_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_011(m_delete("Temporary", "Temporary"), int2002)); + v_ae1.done; }//end TC_CSE_SEC_ACP_011_DEL - function f_CSE_SEC_ACP_011(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester { + function f_CSE_SEC_ACP_011(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -18289,6 +19888,7 @@ module OneM2M_Testcases { // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_containerIndex); p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000); mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; @@ -18326,26 +19926,38 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with an error when an ORIGINATOR tries an OPERATION on a <Container> resource with no accessControlPolicyID associated and such ORIGINATOR having no privileges for performing the OPERATION on the <Container> resource. * */ - testcase TC_CSE_SEC_ACP_012_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_012(m_createContainerBase, int62); + testcase TC_CSE_SEC_ACP_012_CRE() runs on Tester system CseSystem { //Create + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_012(m_createContainerBase, int62)); + v_ae1.done; }//end TC_CSE_SEC_ACP_012_CRE - testcase TC_CSE_SEC_ACP_012_UPD() runs on CseTester system CseSystem { //Update + testcase TC_CSE_SEC_ACP_012_UPD() runs on Tester system CseSystem { //Update + var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_SEC_ACP_012(v_updateRequest, int59); + + v_ae1.start(f_CSE_SEC_ACP_012(v_updateRequest, int59)); + v_ae1.done; }//end TC_CSE_SEC_ACP_012_UPD - testcase TC_CSE_SEC_ACP_012_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_012(m_retrieveResource("Temporary", "Temporary"), int61); + testcase TC_CSE_SEC_ACP_012_RET() runs on Tester system CseSystem { //Retrieve + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_012(m_retrieveResource("Temporary", "Temporary"), int61)); + v_ae1.done; }//end TC_CSE_SEC_ACP_012_RET - testcase TC_CSE_SEC_ACP_012_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_012(m_delete("Temporary", "Temporary"), int55); + testcase TC_CSE_SEC_ACP_012_DEL() runs on Tester system CseSystem { //Delete + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ACP_012(m_delete("Temporary", "Temporary"), int55)); + v_ae1.done; }//end TC_CSE_SEC_ACP_012_DEL - function f_CSE_SEC_ACP_012(template RequestPrimitive p_requestPrimitive, in AccessControlOperations p_acor) runs on CseTester { + function f_CSE_SEC_ACP_012(template RequestPrimitive p_requestPrimitive, in AccessControlOperations p_acor) runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -18402,8 +20014,8 @@ module OneM2M_Testcases { //Postamble //We are forced to delete the Ae because the delete request in the postamble_deleteResources is sent by Ae itself, witch doesn't have privileges if(testcasename() == "TC_CSE_SEC_ACP_012_DEL") { - f_cse_deleteResource(v_aeIndex, m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator()));//Use of PX_SUPER_AE_ID to remove AE - } + f_cse_deleteResource(v_aeIndex, m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator()));//Use of PX_SUPER_AE_ID to remove AE + } f_cse_postamble_deleteResources(); //Tear down -- GitLab