diff --git a/OneM2M_Testcases_CSE_Release_4.ttcn b/OneM2M_Testcases_CSE_Release_4.ttcn index 245de822f175f5d9b5e657c5466453f6985ab41c..808258a18fd2eca51cc71445fc8691e9cfb37d55 100644 --- a/OneM2M_Testcases_CSE_Release_4.ttcn +++ b/OneM2M_Testcases_CSE_Release_4.ttcn @@ -7706,7 +7706,22 @@ module OneM2M_Testcases_CSE_Release_4 { testcase TC_CSE_TMG_CRE_001() runs on Tester system CseSystem { //Create // Local variables - var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}}; + + + + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; + var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); var AeSimu v_ae1 := AeSimu.create("AE1") alive; @@ -7715,12 +7730,89 @@ module OneM2M_Testcases_CSE_Release_4 { v_ae1.done; }//end TC_CSE_TMG_CRE_001 + function f_CSE_TMG_CRE_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive { + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + const TransactionControl transactionControl := int1; //INITIAL + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + // Test Body + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); + + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] 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))); + f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); + if(not match(transactionControl , v_response.primitive.responsePrimitive.primitiveContent.transactionMgmt.transactionControl)){ + setverdict(fail, __SCOPE__ & ": Error, transactionControl is not set to INITIAL "); + } + } + [] 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 vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if(f_cse_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + return vc_response.primitive.responsePrimitive; + + }//end f_CSE_TMG_CRE_001 + /** * @desc Check that the IUT rejecet creation of <transactionMgmt> resource if from parameter of one of AggregatedRequest is not same as origitor * */ testcase TC_CSE_TMG_CRE_002() runs on Tester system CseSystem { // Local variables - var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}}; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.transactionMgmt.resourceName := omit; @@ -7728,6 +7820,68 @@ module OneM2M_Testcases_CSE_Release_4 { v_ae1.done; }//end TC_CSE_TMG_CRE_002 + + function f_CSE_TMG_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_ae2Index := -1; + var integer v_resourceIndex := -1; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + v_ae2Index := f_cse_preamble_registerAe(); //other AE + + // Test Body + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); + v_request.primitiveContent.transactionMgmt.requestPrimitives.request_list[0].from_ := f_getResourceId(vc_resourcesList[v_ae2Index].resource);//f_getResourceAddress(v_ae2Index); + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Creation rejected for resource type " & 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; + setverdict(fail, __SCOPE__ & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if(f_cse_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + return vc_response.primitive.responsePrimitive; + }//end f_CSE_TMG_CRE_002 + /** * @desc Check that the IUT sets transactionControl to LOCK during creation of <transaction> resource * @@ -7736,7 +7890,7 @@ module OneM2M_Testcases_CSE_Release_4 { // Local variables var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create); - var ResponsePrimitive v_responsePrimitive; + //var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; //v_createRequest.primitiveContent.transactionMgmt.resourceName := omit; @@ -7747,6 +7901,80 @@ module OneM2M_Testcases_CSE_Release_4 { v_ae1.done; }//end TC_CSE_TMG_CRE_003 + function f_CSE_TMG_CRE_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + //var integer v_ae2Index := -1; + var integer v_resourceIndex := -1; + const TransactionControl transactionControl := int2; //LOCK + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + + // Test Body + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); + + var RequestPrimitive v_createInnerRequestPrimitive := m_create; + v_createInnerRequestPrimitive.to_ := f_getResourceId(vc_resourcesList[v_aeIndex].resource); + v_createInnerRequestPrimitive.from_ := f_getResourceId(vc_resourcesList[v_aeIndex].resource); + + v_request.primitiveContent.transaction.requestPrimitive := v_createInnerRequestPrimitive; + + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] 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))); + f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); + if(not match(transactionControl , v_response.primitive.responsePrimitive.primitiveContent.transactionMgmt.transactionControl)){ + setverdict(fail, __SCOPE__ & ": Error, transactionControl is not set to INITIAL "); + } + } + [] 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 vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if(f_cse_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + return vc_response.primitive.responsePrimitive; + + + }//end f_CSE_TMG_CRE_003 + /** * @desc Check that the IUT rejecets creation of <transaction> resource if from parameter of requestPrimitive is not same as origitor * */ @@ -7754,25 +7982,168 @@ module OneM2M_Testcases_CSE_Release_4 { // Local variables var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create); - var ResponsePrimitive v_responsePrimitive; + //var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_TMG_CRE_004(int51, v_createRequest));//Transaction v_ae1.done; }//end TC_CSE_TMG_CRE_004 + function f_CSE_TMG_CRE_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_ae2Index := -1; + var integer v_resourceIndex := -1; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + v_ae2Index := f_cse_preamble_registerAe(); //other AE + + + // Test Body + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); + v_request.primitiveContent.transaction.requestPrimitive.from_ := f_getResourceId(vc_resourcesList[v_ae2Index].resource); +// {f_getResourceAddress(v_ae2Index)} + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Creation rejected for resource type " & 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; + setverdict(fail, __SCOPE__ & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if(f_cse_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + return vc_response.primitive.responsePrimitive; + } // end f_CSE_TMG_CRE_004 + testcase TC_CSE_TMG_CRE_005() runs on Tester system CseSystem { //Create // Local variables - var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}}; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; + var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); - var ResponsePrimitive v_responsePrimitive; + //var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_TMG_CRE_005(int50, v_createRequest));//TransactionMgmt v_ae1.done; }//end TC_CSE_TMG_CRE_005 //TODO + function f_CSE_TMG_CRE_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive { + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + const TransactionControl c_transactionControl := int1; //INITIAL + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + // Test Body + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); + + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] 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))); + f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); + v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); + if(not match(c_transactionControl , v_response.primitive.responsePrimitive.primitiveContent.transactionMgmt.transactionControl)){ + setverdict(fail, __SCOPE__ & ": Error, transactionControl is not set to INITIAL "); + } + } + [] 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 vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if(f_cse_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + return vc_response.primitive.responsePrimitive; + + }//end f_CSE_TMG_CRE_005 + + + } // end group Create group Update{ @@ -7790,22 +8161,96 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; v_ae1.start(f_CSE_TMG_UPD_001(int50, m_createTransactionMgmtBase(v_aggregatedRequest), 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.transactionMgmt)) { - if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){ - setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated") - } - } + if(getverdict == pass){ + v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) { + if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){ + setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated") + } + } + } + + } // TC_CSE_TMG_UPD_001 + + function f_CSE_TMG_UPD_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) 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_ae2Index := -1; + var integer v_parentIndex := -1; + + // Test control + + // Test component configuration + f_cf01Up(true); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_ae2Index := f_cse_preamble_registerAe();//c_CRUDNDi); + //f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); + + if(p_resourceType != int18) { + v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent } - } // TC_CSE_TMG_UPD_001 + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex); + + // Test Body + v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive); + v_request.from_ := f_getResourceId(vc_resourcesList[v_ae2Index].resource); + + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Originator has no privilege. Creator is not same as originator of request " & 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)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Updating transactionControl when originator is not creator"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + } + } + + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_TMG_UPD_001 /** /** @@ -7820,7 +8265,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; v_ae1.start(f_CSE_TMG_UPD_002(int50, m_createTransactionMgmtBase(v_aggregatedRequest), v_updateRequest));//Container v_ae1.done; @@ -7837,6 +8293,65 @@ module OneM2M_Testcases_CSE_Release_4 { } // TC_CSE_TMG_UPD_002 + function f_CSE_TMG_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) 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_ae2Index := -1; + var integer v_parentIndex := -1; + + // Test control + + // Test component configuration + f_cf01Up(true); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + if(p_resourceType != int18) { + v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent + } + + p_createRequestPrimitive.primitiveContent.transactionMgmt.transactionMode := int1; + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex); + + // Test Body + v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive); + + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": BAD_REQUEST. transactionMode is CSE_CONTROLLED " & 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)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Updating transactionControl when transactionMode is CSE_CONTROLLED"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + } + } + + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_TMG_UPD_002 /** /** * @desc Check that the IUT rejecets update of transactionControl attribute of <transactionMgmt> resource if it does not transition to valid value @@ -7855,7 +8370,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; //EXECUTE - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; //INITIAL v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -7882,7 +8408,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; //ABORT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; //INITIAL v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -7909,7 +8446,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; //COMMIT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; //INITIAL v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -7936,7 +8484,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; //COMMIT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; //INITIAL v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -7966,7 +8525,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; //INITIAL - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; //LOCKED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -7993,7 +8563,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; //LOCK - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; //LOCKED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8020,7 +8601,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; //COMMIT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; //LOCKED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8051,7 +8643,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; // INITIAL - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; //EXECUTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8078,7 +8681,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // LOC - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; //EXECUTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8105,7 +8719,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; //EXECUTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8136,7 +8761,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // LOC - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; //COMMITED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8164,7 +8800,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; //COMMITED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8191,7 +8838,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; // COMMIT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; //COMMITED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8218,7 +8876,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; //COMMITED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8249,7 +8918,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // LOCK - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; //ERROR v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8276,7 +8956,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; //ERROR v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8303,7 +8994,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; // COMMIT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; //ERROR v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8333,7 +9035,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // LOCK - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; //ABORTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8360,7 +9073,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; //ABORTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8387,7 +9111,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; // COMMIT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; //ABORTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8414,7 +9149,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; //ABORTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8445,7 +9191,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // ABORT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; // INITIAL v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8474,7 +9231,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; // LOCKED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8501,7 +9269,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; // LOCKED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8531,7 +9310,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; // COMMIT - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; // EXECUTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8558,7 +9348,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORTED - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; // EXECUTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8590,7 +9391,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORTED - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; // ERROR v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8617,7 +9429,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; // INITIAL - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; // ERROR v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8645,7 +9468,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; // INITIAL - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; // COMMITTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8672,7 +9506,18 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; // INITIAL - var AggregatedRequest v_aggregatedRequest; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; // ABORTED v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED @@ -8719,6 +9564,70 @@ module OneM2M_Testcases_CSE_Release_4 { } // TC_CSE_TMG_UPD_005 + + function f_CSE_TMG_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) 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_ae2Index := -1; + var integer v_parentIndex := -1; + + // Test control + + // Test component configuration + f_cf01Up(true); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_ae2Index := f_cse_preamble_registerAe();//c_CRUDNDi); + //f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); + + if(p_resourceType != int18) { + v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent + } + + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex); + + // Test Body + v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive); + v_request.from_ := f_getResourceAddress(v_ae2Index); + + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Originator has no privilege. Creator is not same as originator of request " & 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)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Updating transactionControl when originator is not creator"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + } + } + + vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_TMG_UPD_005 + group TC_CSE_TMG_UPD_006{ group TC_CSE_TMG_UPD_006_LOC{ @@ -9287,11 +10196,22 @@ module OneM2M_Testcases_CSE_Release_4 { testcase TC_CSE_TMG_DEL_001_TRAM_COM() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}}; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; // COMMITTED - v_ae1.start(f_CSE_DMR_DEL_001(int50, v_createRequest));//TransactionMgmt + v_ae1.start(f_CSE_TMG_DEL_001(int50, v_createRequest));//TransactionMgmt v_ae1.done; if(getverdict == pass){ @@ -9302,11 +10222,22 @@ module OneM2M_Testcases_CSE_Release_4 { testcase TC_CSE_TMG_DEL_001_TRAM_ABT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}}; + var AggregatedRequest.request_list[-] v_requestPrim; + + v_requestPrim := {int1, "", "", -, -, -}; + + var AggregatedRequest v_aggregatedRequest:= + { + request_list := + { + [0] := v_requestPrim + } + + }; var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest); v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; // ABORTED - v_ae1.start(f_CSE_DMR_DEL_001(int50, v_createRequest));//TransactionMgmt + v_ae1.start(f_CSE_TMG_DEL_001(int50, v_createRequest));//TransactionMgmt v_ae1.done; if(getverdict == pass){ @@ -9320,7 +10251,7 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create); v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; // COMMIT - v_ae1.start(f_CSE_DMR_DEL_001(int50, v_createRequest));//Transaction + v_ae1.start(f_CSE_TMG_DEL_001(int50, v_createRequest));//Transaction v_ae1.done; if(getverdict == pass){ @@ -9334,7 +10265,7 @@ module OneM2M_Testcases_CSE_Release_4 { var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create); v_createRequest.primitiveContent.transaction.transactionState := int6; // ABORTED - v_ae1.start(f_CSE_DMR_DEL_001(int50, v_createRequest));//Transaction + v_ae1.start(f_CSE_TMG_DEL_001(int50, v_createRequest));//Transaction v_ae1.done; if(getverdict == pass){