diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 95b9e7a59401a8e8a8082b38bed83626e8df9802..61344610e15c3be17236676f0efac3620d9a4427 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -1996,19 +1996,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; } diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index c8566b0f0519024e7e1f5b69143a3c65e183a958..c65b712fdd1f82fd9b6093713ead7f6de1815eed 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -3013,7 +3013,8 @@ module OneM2M_Templates { template Notification mw_contentNotificationVerification modifies mw_contentNotificationBase := { verificationRequest := true, - creator := ? + //creator := ? //Temporal change, do not commit! + creator := * } diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index fc9612bacd188c1796d5bb3013292ecc61805edd..530ba020ef9d35f90d3ed0c3188e2ac82ca60ca1 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -16330,6 +16330,7 @@ module OneM2M_Testcases { // 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))); @@ -16656,7 +16657,7 @@ module OneM2M_Testcases { v_notifyHandler.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_updateRequest.primitiveContent.aE.labels := v_labels_1; + v_request.primitiveContent.aE.labels := v_labels_1; mcaPort.send(m_request(v_request)); tc_ac.start; @@ -17335,6 +17336,7 @@ module OneM2M_Testcases { v_notifyHandler.start(f_CSE_SUB_DEL_001(f_getResourceAddress(v_resourceIndex))); // check that no notification is received mcaPort.send(m_request(v_request)); + tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { tc_ac.stop; @@ -17590,7 +17592,7 @@ 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_acpIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int1, v_aeIndex); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -17662,7 +17664,7 @@ 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_acpIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, c_accessControlPolicyType, v_aeIndex); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -17765,8 +17767,8 @@ module OneM2M_Testcases { v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_aeIndex); if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.aE)) { - if(not match (v_primitiveContentRetrievedResource.aE.accessControlPolicyIDs, valueof(v_updateRequest.primitiveContent.aE.accessControlPolicyIDs))){ - setverdict(fail, __SCOPE__ & ": Error: Access Control policy ID attribute not updated correctly") + 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"); } } } @@ -18320,15 +18322,15 @@ module OneM2M_Testcases { 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, int62); //TODO Fix p_acor + f_CSE_SEC_ACP_012(v_updateRequest, int59); }//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"), int62); //TODO Fix p_acor + f_CSE_SEC_ACP_012(m_retrieveResource("Temporary", "Temporary"), int61); }//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"), int62); //TODO Fix p_acor + f_CSE_SEC_ACP_012(m_delete("Temporary", "Temporary"), int55); }//end TC_CSE_SEC_ACP_012_DEL function f_CSE_SEC_ACP_012(template RequestPrimitive p_requestPrimitive, in AccessControlOperations p_acor) runs on CseTester {