diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 93a62492f411905ec9ec57ccc9baea0662f42d58..103099ae93fc432e6ec9edf261af33473f1a8dbf 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $ - * $Id: OneM2M_Functions.ttcn 340 2017-08-07 12:08:41Z reinaortega $ + * $Id: OneM2M_Functions.ttcn 345 2017-08-07 14:45:26Z reinaortega $ * @desc Module containing functions for oneM2M * */ @@ -595,15 +595,24 @@ module OneM2M_Functions { * @param p_requestPrimitive * @verdict */ - function f_cse_deleteResource(in RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_cse_deleteResource(in integer p_index, in template (omit) RequestPrimitive p_requestPrimitive := omit) runs on CseTester { + var RequestPrimitive v_request; - mcaPort.send(m_request(p_requestPrimitive)); + if(not isbound(p_requestPrimitive)) { + v_request := valueof(m_deleteRequest(f_getResourceAddress(p_index))); + } else { + v_request := p_requestPrimitive; + } + + mcaPort.send(m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(pass, __SCOPE__&"INFO: Resource" & p_requestPrimitive.to_ & " deleted"); + setverdict(pass, __SCOPE__&"INFO: Resource " & p_requestPrimitive.to_ & " deleted"); + + f_removeElementFromList(vc_resourcesIndexToBeDeleted, p_index); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; @@ -2033,11 +2042,11 @@ module OneM2M_Functions { } } - function f_removeElementFromList (inout IntegerList p_list, in integer index) { + function f_removeElementFromList (inout IntegerList p_list, in integer p_valueToBeDeleted) { var IntegerList result := {}; var integer i; for(i := 0; i < lengthof(p_list); i := i+1){ - if(i != index){ + if(p_list[i] != p_valueToBeDeleted){ result := result & {p_list[i]}; } } diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index fbd02fda7c0e61a1de1ae0d73ea383373208ec08..4d478ad335699429d9061242e31121e6b66ca50f 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $ - * $Id: OneM2M_Testcases.ttcn 344 2017-08-07 14:11:47Z reinaortega $ + * $Id: OneM2M_Testcases.ttcn 345 2017-08-07 14:45:26Z reinaortega $ * @desc Module containing test cases for oneM2M * */ @@ -1036,7 +1036,7 @@ module OneM2M_Testcases { //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(valueof(m_deleteRequest(f_getResourceAddress(v_aeAnncIndex)))); //to deregister the AE + f_cse_deleteResource(v_aeAnncIndex); //to deregister the AE //Test Body v_request := valueof(m_updateAEAnnc(-, -, -, "APP-ID", -)); //TODO to double check all parameters @@ -12120,7 +12120,7 @@ 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 - f_cse_deleteResource(valueof(m_deleteRequest(f_getResourceAddress(v_aeIndex)))); + f_cse_deleteResource(v_aeIndex); //Update vc_resourcesIndexToBeDeleted f_removeElementFromList (vc_resourcesIndexToBeDeleted, v_aeIndex); f_cse_postamble_deleteResources(); @@ -12260,7 +12260,7 @@ module OneM2M_Testcases { v_childResourceIndex := f_cse_createResource(p_childResourceType, p_createRequestPrimitiveChildResource, v_resourceIndex); - f_cse_deleteResource(valueof(m_deleteRequest(f_getResourceAddress(v_resourceIndex)))); + f_cse_deleteResource(v_resourceIndex); // Test Body mcaPort.send(m_request(m_deleteRequest(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex)))); @@ -12420,7 +12420,7 @@ module OneM2M_Testcases { } // Test Body - f_cse_deleteResource(valueof(m_deleteRequest(f_getResourceAddress(v_contentInstanceIndex)))); + f_cse_deleteResource(v_contentInstanceIndex); v_attributesContainer_afterDeletion := f_cse_retrieveResource(v_containerIndex);