diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 103099ae93fc432e6ec9edf261af33473f1a8dbf..fa28d6da4aa26fd47059099c691201b034e83943 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 345 2017-08-07 14:45:26Z reinaortega $ + * $Id: OneM2M_Functions.ttcn 346 2017-08-08 12:49:09Z reinaortega $ * @desc Module containing functions for oneM2M * */ @@ -598,10 +598,10 @@ module OneM2M_Functions { function f_cse_deleteResource(in integer p_index, in template (omit) RequestPrimitive p_requestPrimitive := omit) runs on CseTester { var RequestPrimitive v_request; - if(not isbound(p_requestPrimitive)) { + if(not isvalue(p_requestPrimitive)) { v_request := valueof(m_deleteRequest(f_getResourceAddress(p_index))); } else { - v_request := p_requestPrimitive; + v_request := valueof(p_requestPrimitive); } mcaPort.send(m_request(v_request)); @@ -610,16 +610,16 @@ module OneM2M_Functions { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(pass, __SCOPE__&"INFO: Resource " & p_requestPrimitive.to_ & " deleted"); + setverdict(pass, __SCOPE__&"INFO: Resource " & v_request.to_ & " deleted"); f_removeElementFromList(vc_resourcesIndexToBeDeleted, p_index); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(inconc, __SCOPE__&"INFO: Error while deleting resource " & p_requestPrimitive.to_); + setverdict(inconc, __SCOPE__&"INFO: Error while deleting resource " & v_request.to_); } [] tc_ac.timeout { - setverdict(inconc, __SCOPE__&"INFO: No answer while deleting resource " & p_requestPrimitive.to_); + setverdict(inconc, __SCOPE__&"INFO: No answer while deleting resource " & v_request.to_); } } diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index 4d478ad335699429d9061242e31121e6b66ca50f..f3f1cb7070c3d2e289d5736d639681023de3cc9b 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 345 2017-08-07 14:45:26Z reinaortega $ + * $Id: OneM2M_Testcases.ttcn 346 2017-08-08 12:49:09Z reinaortega $ * @desc Module containing test cases for oneM2M * */ @@ -3400,6 +3400,8 @@ module OneM2M_Testcases { var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; + var integer v_ae2Index := -1; + var CseTester v_notifyHandler; // Test control @@ -3410,6 +3412,8 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); // Test Body v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); @@ -3420,7 +3424,11 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": No content provided with RC set to 0"); + if(f_isHierarchical(v_response.primitive.responsePrimitive.primitiveContent.uRI)) { + setverdict(pass, __SCOPE__ & ": Response returning correctly only the hierarchical address of the created resource"); + } else { + setverdict(fail, __SCOPE__ & ": Response returning the address of the created resource with wrong format"); + } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; @@ -3428,7 +3436,7 @@ module OneM2M_Testcases { } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Content provided with RC set to 0"); + setverdict(fail, __SCOPE__ & ": Wrong content provided with RC set to 2"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; @@ -3515,6 +3523,8 @@ module OneM2M_Testcases { var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; + var integer v_ae2Index := -1; + var CseTester v_notifyHandler; // Test control @@ -3525,7 +3535,9 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - + + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, 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 @@ -3535,7 +3547,11 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": No content provided with RC set to 0"); + if(f_isHierarchical(v_response.primitive.responsePrimitive.primitiveContent.resource.uRI)) { + setverdict(pass, __SCOPE__ & ": Response returning correctly the hierarchical address of the created resource and resource representation"); + } else { + setverdict(fail, __SCOPE__ & ": Response returning the address of the created resource with wrong format"); + } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; @@ -3543,7 +3559,7 @@ module OneM2M_Testcases { } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Content provided with RC set to 0"); + setverdict(fail, __SCOPE__ & ": Wrong content provided with RC set to 3"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; @@ -3965,11 +3981,11 @@ module OneM2M_Testcases { } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " without containing attribute " & p_optionalAttribute.name); + setverdict(fail, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " with incorrect attributes"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)) & " containing attribute" & p_optionalAttribute.name); + setverdict(fail, __SCOPE__ & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); @@ -5646,7 +5662,7 @@ module OneM2M_Testcases { } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){ tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error, resourceName attribute of <latest> resource value not expected"); + setverdict(fail, __SCOPE__ & ": Error, retrieved contentInstance with incorrect attributes"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){ tc_ac.stop; @@ -12076,10 +12092,6 @@ module OneM2M_Testcases { p_createRequestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2}; } else { p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}); - 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); } //Creation of resource @@ -12121,8 +12133,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(v_aeIndex); - //Update vc_resourcesIndexToBeDeleted - f_removeElementFromList (vc_resourcesIndexToBeDeleted, v_aeIndex); + f_cse_postamble_deleteResources(); // Tear down