diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index d3fca77c61e4723d535cfe84ed7c5575ea571b46..f5bb97074b007eade6a052933cf240becc333ff7 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -6912,6 +6912,73 @@ module OneM2M_PermutationFunctions { } //end group Create + group Retrieve { + + function f_CSE_ANNC_RET_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, in template RequestPrimitive p_requestUpdatePrimitive := omit) runs on AeSimu { + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_parentIndex := -1; + var integer v_aeIndex := -1; + var integer v_resourceIndex; + var template RequestPrimitive v_createAE := m_createAe(PX_APP_ID, omit, omit); + var template RequestPrimitive v_createAEAnnc := m_createAEAnnc(omit, omit, omit, PX_CSE1_ID); + var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyAcp", -, int61); + var integer v_aeAnncIndex; + var integer v_resourceAnncIndex; + var integer v_acpIndex; + var XSD.ID v_membersAcpId; + + // Test control + + // Test component configuration + f_cf02Up(); + + // Test adapter configuration + + //Register the CSE + vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)); + vc_cse1.done; + + //Preamble + v_aeIndex := f_cse_createResource(int2,v_createAE); + + v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource + v_membersAcpId := f_getResourceId(vc_resourcesList[v_acpIndex].resource); + + v_createAEAnnc.primitiveContent.aEAnnc.resourceID := v_membersAcpId; + v_aeAnncIndex := f_cse_createResource(int10002,v_createAEAnnc); + + v_resourceAnncIndex := f_cse_createResource(p_resourceType,p_createRequestAnnc); + + // Test Body + mcaPort.send(m_request(m_retrieve(f_getResourceAddress(), f_getOriginator(v_resourceAnncIndex)))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__, ": Resource " & int2str(enum2int(p_resourceType)) & " retrieved successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__, ": Wrong response status code"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, ": No answer while retrieving resource type " & int2str(enum2int(p_resourceType))); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf02Down(); + + }//end f_CSE_ANNC_RET_001 + + } //end group Retrieve + group Update{ function f_CSE_ANNC_UPD_001(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive) runs on CseSimu { @@ -6926,18 +6993,18 @@ module OneM2M_PermutationFunctions { var integer v_latestResourceIndex; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit); - + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID}; - + //Test control - + // Test component configuration f_cf02UpCseSimuMaster(); - + // Test adapter configuration // Register the CSE f_cse_registerRemoteCse(m_createRemoteCSEBase); - + //Preamble v_ae1.start(f_cse_createResource(int2,v_create)); @@ -6946,40 +7013,40 @@ module OneM2M_PermutationFunctions { v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex)); v_ae1.done; - + v_latestResourceIndex := f_getLatestResourceIndex(v_ae1); - + // Test Body v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive)); - + tc_ac.start; alt { [] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST received"); - + if(match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1, e_hierarchical, e_spRelative)) or match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1, e_nonHierarchical, e_spRelative))) { setverdict(pass, __SCOPE__ & ":matching ANNC_PARENT_RESOURCE_ADDRESS"); } else { setverdict(fail, __SCOPE__ & ":mis-matching ANNC_PARENT_RESOURCE_ADDRESS"); } - + } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ":ERROR: No CREATE REQUEST received"); } } v_ae1.done; - + // Postamble f_cse_postamble_deleteResourcesCSE(); - + // Tear down f_cf02DownCseSimuMaster(); - + }//end f_CSE_ANNC_UPD_001 - + function f_CSE_ANNC_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive) runs on CseSimu { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; @@ -6992,7 +7059,7 @@ module OneM2M_PermutationFunctions { var integer v_latestResourceIndex; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit); - + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID}; //Test control @@ -7042,7 +7109,7 @@ module OneM2M_PermutationFunctions { f_cf02DownCseSimuMaster(); }//end f_CSE_ANNC_UPD_002 - + function f_CSE_ANNC_UPD_003(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, template RequestPrimitive p_requestUpdatePrimitive) runs on AeSimu { //Local variables var MsgIn v_request; @@ -7051,26 +7118,26 @@ module OneM2M_PermutationFunctions { var integer v_resourceIndex; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit); - + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID}; //Test control - + //Test component configuration f_cf02Up(); - + //Register the CSE vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)); vc_cse1.done; - + //Preamble vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -))); v_aeIndex := f_cse_createResource(int2,v_create); vc_cse1.done; - + vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc)); v_resourceIndex := f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex); vc_cse1.done; - + vc_cse1.start(f_cse_announcementProcedure_deleteHandler()); v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive); mcaPort.send(m_request(v_updateRequest)); @@ -7080,7 +7147,7 @@ module OneM2M_PermutationFunctions { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Resource updated successfully"); - + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; @@ -7094,7 +7161,7 @@ module OneM2M_PermutationFunctions { setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } - + vc_cse1.done; //Check to see if the resource is present or not @@ -7106,11 +7173,11 @@ module OneM2M_PermutationFunctions { //Postamble f_cse_postamble_deleteResources(); - + // Tear down f_cf02Down(); } //end f_CSE_ANNC_UPD_003 - + function f_CSE_ANNC_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; @@ -7123,40 +7190,40 @@ module OneM2M_PermutationFunctions { var integer v_latestResourceIndex; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit); - + v_create.primitiveContent.aE.announceTo := {PX_CSE_ID}; - + //Test control - + // Test component configuration f_cf02UpCseSimuMaster(); - + // Test adapter configuration // Register the CSE f_cse_registerRemoteCse(m_createRemoteCSEBase); - + //Preamble - + v_ae1.start(f_cse_createResource(int2,v_create)); f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)); v_ae1.done; - + v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex)); f_cse_announcementProcedure_createHandler(p_createRequestAnnc); v_ae1.done; - + v_latestResourceIndex := f_getLatestResourceIndex(v_ae1); p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1); - + // Test Body v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive)); - + tc_ac.start; alt { [] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request { tc_ac.stop; setverdict(pass, __SCOPE__ & ":INFO: Announcement received"); - + v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier)); v_responsePrimitive.from_ := PX_CSE1_ID; v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_; @@ -7167,15 +7234,15 @@ module OneM2M_PermutationFunctions { } } v_ae1.done; - + // Postamble f_cse_postamble_deleteResourcesCSE(); - + // Tear down f_cf02DownCseSimuMaster(); - + }//end f_CSE_ANNC_UPD_005 - + }//end group Update group Delete{ diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index fe6450b4cbe305a440348decf9b9a2fa026c7e91..aaab42507236be69d203f89e1d329509cee87c74 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -7220,6 +7220,54 @@ module OneM2M_Testcases_CSE_Release_2 { } //end group g_CSE_ANNC_CRE_009 } //end group Create + group Retrieve { + + group g_CSE_ANNC_RET_001 { + + testcase TC_CSE_ANNC_RET_001_ACP() runs on Tester system CseSystem { + //Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_createRequest := m_createAcpBase; + var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc; + + v_ae1.start(f_CSE_ANNC_CRE_007_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy + v_ae1.done; + } + + testcase TC_CSE_ANNC_RET_001_CNT() runs on Tester system CseSystem { + //Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase; + + v_ae1.start(f_CSE_ANNC_RET_001(int3, v_createRequestAnnc, v_createRequest));//Container + v_ae1.done; + } + + testcase TC_CSE_ANNC_RET_001_CIN() runs on Tester system CseSystem { + //Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_createRequest := m_createContentInstanceBase; + var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc; + + v_ae1.start(f_CSE_ANNC_RET_001(int4, v_createRequestAnnc, v_createRequest));//ContentInstance + v_ae1.done; + } + + testcase TC_CSE_ANNC_RET_001_GRP() runs on Tester system CseSystem { + //Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var template RequestPrimitive v_createRequest := m_createGroupBase; + var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase; + + v_ae1.start(f_CSE_ANNC_RET_001(int9, v_createRequestAnnc, v_createRequest));//Group + v_ae1.done; + } + + } //end group g_CSE_ANNC_RET_001 + + } //end group Retrieve + group Update{ group g_CSE_ANNC_UPD_001{ @@ -7230,9 +7278,9 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc; var template RequestPrimitive v_updateRequest := m_updateAcpBase; - + v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID}; - + v_cse1.start(f_CSE_ANNC_UPD_001(int1, v_createRequest, v_createRequestAnnc, v_updateRequest));//AccessControlPolicy v_cse1.done; } @@ -7243,7 +7291,7 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; - + v_updateRequest.primitiveContent.container.announceTo := {PX_CSE1_ID}; v_cse1.start(f_CSE_ANNC_UPD_001(int3, v_createRequest, v_createRequestAnnc, v_updateRequest));//Container @@ -7256,7 +7304,7 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; - + v_updateRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID}; v_cse1.start(f_CSE_ANNC_UPD_001(int9, v_createRequest, v_createRequestAnnc, v_updateRequest));//Group @@ -7264,7 +7312,7 @@ module OneM2M_Testcases_CSE_Release_2 { } }// end group g_CSE_ANNC_UPD_001 - + group g_CSE_ANNC_UPD_002{ testcase TC_CSE_ANNC_UPD_002_ACP() runs on Tester system CseSystem { @@ -7273,9 +7321,9 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc; var template RequestPrimitive v_updateRequest := m_updateAcpBase; - + v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID}; - + v_cse1.start(f_CSE_ANNC_UPD_002(int1, v_createRequest, v_createRequestAnnc, v_updateRequest));//AccessControlPolicy v_cse1.done; } @@ -7286,7 +7334,7 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; - + v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID}; v_cse1.start(f_CSE_ANNC_UPD_002(int3, v_createRequest, v_createRequestAnnc, v_updateRequest));//Container @@ -7299,7 +7347,7 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; - + v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID}; v_cse1.start(f_CSE_ANNC_UPD_002(int9, v_createRequest, v_createRequestAnnc, v_updateRequest));//Group @@ -7307,9 +7355,9 @@ module OneM2M_Testcases_CSE_Release_2 { } }// end group g_CSE_ANNC_UPD_002 - + group g_CSE_ANNC_UPD_003{ - + testcase TC_CSE_ANNC_UPD_003_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; @@ -7322,7 +7370,7 @@ module OneM2M_Testcases_CSE_Release_2 { v_ae1.start(f_CSE_ANNC_UPD_003(int1, v_createRequestAnnc, v_createRequest, v_updateRequest));//AccessControlPolicy v_ae1.done; - + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { @@ -7332,9 +7380,9 @@ module OneM2M_Testcases_CSE_Release_2 { } } } - + } - + } testcase TC_CSE_ANNC_UPD_003_CNT() runs on Tester system CseSystem { @@ -7349,7 +7397,7 @@ module OneM2M_Testcases_CSE_Release_2 { v_ae1.start(f_CSE_ANNC_UPD_003(int3, v_createRequestAnnc, v_createRequest, v_updateRequest));//Container v_ae1.done; - + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { @@ -7359,9 +7407,9 @@ module OneM2M_Testcases_CSE_Release_2 { } } } - + } - + } testcase TC_CSE_ANNC_UPD_003_GRP() runs on Tester system CseSystem { @@ -7376,7 +7424,7 @@ module OneM2M_Testcases_CSE_Release_2 { v_ae1.start(f_CSE_ANNC_UPD_003(int9, v_createRequestAnnc, v_createRequest, v_updateRequest));//Group v_ae1.done; - + if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(ispresent(v_responsePrimitive.primitiveContent)) { @@ -7391,9 +7439,9 @@ module OneM2M_Testcases_CSE_Release_2 { } }// end group g_CSE_ANNC_UPD_003 - + group g_CSE_ANNC_UPD_005 { - + testcase TC_CSE_ANNC_UPD_005() runs on Tester system CseSystem { // Local variables var CseSimu v_cse1 := CseSimu.create("CSE1") alive; @@ -7402,16 +7450,16 @@ module OneM2M_Testcases_CSE_Release_2 { var template RequestPrimitive v_updateRequest := m_updateContainerBase; var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnncBase; var Labels v_labels_1 := {"VALUE_1"}; - + v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID}; v_createRequest.primitiveContent.container.labels := v_labels_1; v_cse1.start(f_CSE_ANNC_UPD_005(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container v_cse1.done; - + } //end TC_CSE_ANNC_CRE_001 } // end group g_CSE_ANNC_CRE_001 - + }//end group Update group Delete{