diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index d7a3a3ad5fb8353ce7a672d29297483cb69dd716..af8ad22c515922f009c7ce7f7861ac1747b9a525 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -6917,6 +6917,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 Delete{ function f_CSE_ANNC_DEL_001(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on AeSimu { diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index 52c891c8569fb7a5915e9592c130e569008fb5ee..b58d833584d9da8f1ae9b5fc15dd2b6931c582e4 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -7230,6 +7230,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 Delete{ group g_CSE_ANNC_DEL_001{