/** * Copyright Notification * No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). * All rights reserved. * * @author ETSI * @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/OneM2M_Testcases.ttcn $ * $Id: OneM2M_Testcases.ttcn 347 2017-08-11 08:48:20Z reinaortega $ * @desc Module containing test cases for oneM2M * */ module OneM2M_Testcases_CSE_Release_2 { import from OneM2M_TestSystem all; import from OneM2M_Templates all; import from OneM2M_Types all;//{type XSD.ID}; import from OneM2M_TypesAndValues all; import from OneM2M_Pixits all; import from LibCommon_Time all; import from OneM2M_Pics all; import from OneM2M_Functions all; import from OneM2M_PermutationFunctions all; import from XSD all; //Demos used for validation purposes group oneM2M_demos { group helpingTestCases {//These are not part of the test suite, just for verification purposes testcase TC_DELETE_RESOURCES() runs on AeSimu system CseSystem { timer t_ac := 5.0; var integer i; var XSD.ID v_resourceAddress; var RequestPrimitive v_request; map(self:mcaPort, system:mcaPort); for (i:=0; i resource using shortcut structured resource identifier * */ testcase TC_CSE_GEN_CRE_003_CSR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_CRE_003(e_cseRelative)); v_ae1.done; } testcase TC_CSE_GEN_CRE_003_SPR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_CRE_003(e_spRelative)); v_ae1.done; } testcase TC_CSE_GEN_CRE_003_ABS() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_CRE_003(e_absolute)); v_ae1.done; } }// end of group g_CSE_GEN_CRE_003 group g_CSE_GEN_CRE_004 { /** * @desc Check that the IUT accepts the creation of a resource using structured resource identifier with hybrid addressing. * */ testcase TC_CSE_GEN_CRE_004_CSR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_CRE_004(e_cseRelative)); v_ae1.done; } testcase TC_CSE_GEN_CRE_004_SPR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_CRE_004(e_spRelative)); v_ae1.done; } testcase TC_CSE_GEN_CRE_004_ABS() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_CRE_004(e_absolute)); v_ae1.done; } } // end of group g_CSE_GEN_CRE_004 } // end of group Create group Retrieve { group g_CSE_GEN_RET_003 { /** * @desc Check that the IUT accepts the retrieval of a resource using shortcut structured resource identifier * */ testcase TC_CSE_GEN_RET_003_CSR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_RET_003(e_cseRelative)); v_ae1.done; } testcase TC_CSE_GEN_RET_003_SPR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_RET_003(e_spRelative)); v_ae1.done; } testcase TC_CSE_GEN_RET_003_ABS() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_RET_003(e_absolute)); v_ae1.done; } } // end of group g_CSE_GEN_RET_003 group g_CSE_GEN_RET_004 { /** * @desc Check that the IUT accepts the retrieval of a resource using structured resource identifier with hybrid addressing. * */ testcase TC_CSE_GEN_RET_004_CSR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_RET_004(e_cseRelative)); v_ae1.done; } testcase TC_CSE_GEN_RET_004_SPR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_RET_004(e_spRelative)); v_ae1.done; } testcase TC_CSE_GEN_RET_004_ABS() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_RET_004(e_absolute)); v_ae1.done; } } // end of group g_CSE_GEN_RET_004 } // end of group Retrieve group Update { group g_CSE_GEN_UPD_003 { /** * @desc Check that the IUT accepts the update of a resource using shortcut structured resource identifier * */ testcase TC_CSE_GEN_UPD_003_CSR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_UPD_003(e_cseRelative)); v_ae1.done; } testcase TC_CSE_GEN_UPD_003_SPR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_UPD_003(e_spRelative)); v_ae1.done; } testcase TC_CSE_GEN_UPD_003_ABS() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_UPD_003(e_absolute)); v_ae1.done; } } // end of group g_CSE_GEN_UPD_003 group g_CSE_GEN_UPD_004 { /** * @desc Check that the IUT accepts the update of a resource using structured resource identifier with hybrid addressing.. * */ testcase TC_CSE_GEN_UPD_004_CSR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_UPD_004(e_cseRelative)); v_ae1.done; } testcase TC_CSE_GEN_UPD_004_SPR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_UPD_004(e_spRelative)); v_ae1.done; } testcase TC_CSE_GEN_UPD_004_ABS() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_UPD_004(e_absolute)); v_ae1.done; } } // end of group g_CSE_GEN_UPD_004 } // end of group Update group Delete { group g_CSE_GEN_DEL_003 { /** * @desc Check that the IUT accepts the deletion of a resource using shortcut structured resource identifier * */ testcase TC_CSE_GEN_DEL_003_CSR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_DEL_003(e_cseRelative)); v_ae1.done; } testcase TC_CSE_GEN_DEL_003_SPR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_DEL_003(e_spRelative)); v_ae1.done; } testcase TC_CSE_GEN_DEL_003_ABS() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_DEL_003(e_absolute)); v_ae1.done; } } // end of group g_CSE_GEN_DEL_003 group g_CSE_GEN_DEL_004 { /** * @desc Check that the IUT accepts the deletion of a resource using structured resource identifier with hybrid addressing. * */ testcase TC_CSE_GEN_DEL_004_CSR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_DEL_004(e_cseRelative)); v_ae1.done; } testcase TC_CSE_GEN_DEL_004_SPR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_DEL_004(e_spRelative)); v_ae1.done; } testcase TC_CSE_GEN_DEL_004_ABS() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_GEN_DEL_004(e_absolute)); v_ae1.done; } } // end of group g_CSE_GEN_DEL_004 } // end of group Delete } // end of group Generic group Registration { group Create{ /** * @desc Check that IUT accepts a CSE registration request with OPTIONAL_ATTRIBUTE attribute * */ group g_CSE_REG_CRE_028 { testcase TC_CSE_REG_CRE_028_RN() runs on Tester system CseSystem { //Local variables var CseSimu v_cse1 := CseSimu.create("CSE1") alive; var RequestPrimitive v_request; var template PrimitiveContent v_contentResponse; v_request := valueof(m_createRemoteCSEBase); v_request.primitiveContent.remoteCSE.cseType := int2; //MN_CSE v_request.primitiveContent.remoteCSE.resourceName := c_defaultRemoteCSEResourceName; v_contentResponse.remoteCSE := mw_contentRemoteCSEBase; v_contentResponse.remoteCSE.cseType := int2; //MN_CSE v_contentResponse.remoteCSE.resourceName := c_defaultRemoteCSEResourceName; v_cse1.start(f_CSE_REG_CRE_028(v_request, v_contentResponse)); v_cse1.done; } testcase TC_CSE_REG_CRE_028_ET() runs on Tester system CseSystem { //Local variables var CseSimu v_cse1 := CseSimu.create("CSE1") alive; var RequestPrimitive v_request; var template PrimitiveContent v_contentResponse; v_request := valueof(m_createRemoteCSEBase); v_request.primitiveContent.remoteCSE.cseType := int2; //MN_CSE v_request.primitiveContent.remoteCSE.expirationTime := "20301231T012345"; v_contentResponse.remoteCSE := mw_contentRemoteCSEBase; v_contentResponse.remoteCSE.cseType := int2; //MN_CSE v_contentResponse.remoteCSE.expirationTime := "20301231T012345"; v_cse1.start(f_CSE_REG_CRE_028(v_request, v_contentResponse)); v_cse1.done; } }//end g_CSE_REG_CRE_028 } //end group Create group Retrieve{ }//end group Retrieve group Update{ /** * @desc Check that the IUT accepts an update request of resource with OPTIONAL_ATTRIBUTE. * */ group g_CSE_REG_UPD_002 { testcase TC_CSE_REG_UPD_002_ET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; var CseSimu v_cse1 := CseSimu.create("CSE1") alive; v_updateRequest.primitiveContent.remoteCSE.expirationTime := "20301231T012345"; v_cse1.start(f_CSE_REG_UPD_002(v_updateRequest)); v_cse1.done; } testcase TC_CSE_REG_UPD_002_RR() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; var CseSimu v_cse1 := CseSimu.create("CSE1") alive; v_updateRequest.primitiveContent.remoteCSE.requestReachability := true; v_cse1.start(f_CSE_REG_UPD_002(v_updateRequest)); v_cse1.done; } } //end g_CSE_REG_UPD_002 }// end group Update group Delete{ }// end group Delete }//end Registration group Data_Management_and_Repository { group g_CSE_DMR_001 { /** * @desc Check that the IUT rejects a Non-Blocking Synchronous Request if the IUT does not support the resource * */ testcase TC_CSE_DMR_001_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var CseSimu v_cse1 := CseSimu.create("CSE1") alive; v_cse1.start(f_CSE_DMR_001(v_createRequest)); //Create Container v_cse1.done; } testcase TC_CSE_DMR_001_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var CseSimu v_cse1 := CseSimu.create("CSE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_cse1.start(f_CSE_DMR_001(v_updateRequest)); //Update Container v_cse1.done; } testcase TC_CSE_DMR_001_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var CseSimu v_cse1 := CseSimu.create("CSE1") alive; v_cse1.start(f_CSE_DMR_001(m_retrieve("NotInitialized", "NotInitialized"))); //Retrieve Container v_cse1.done; } testcase TC_CSE_DMR_001_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var CseSimu v_cse1 := CseSimu.create("CSE1") alive; v_cse1.start(f_CSE_DMR_001(m_delete("NotInitialized", "NotInitialized"))); //Delete Container v_cse1.done; } }// end group g_CSE_DMR_001 group g_CSE_DMR_002 { /** * @desc Check that the IUT rejects a Non-Blocking Synchronous Request if the IUT does not support the resource * */ testcase TC_CSE_DMR_002_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_002(v_createRequest)); //Create Container v_ae1.done; } testcase TC_CSE_DMR_002_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_DMR_002(v_updateRequest)); //Update Container v_ae1.done; } testcase TC_CSE_DMR_002_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_002(m_retrieve("NotInitialized", "NotInitialized"))); //Retrieve Container v_ae1.done; } testcase TC_CSE_DMR_002_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_002(m_delete("NotInitialized", "NotInitialized"))); //Delete Container v_ae1.done; } }// end group g_CSE_DMR_002 group Create { group g_CSE_DMR_CRE_001 { /** * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource on the TARGET_RESOURCE_ADDRESS of type PARENT_RESOURCE_TYPE with resource name not provided * */ testcase TC_CSE_DMR_CRE_001_PCH_AE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.pollingChannel.resourceName := omit; v_ae1.start(f_CSE_DMR_CRE_001(int15, v_createRequest, m_createAeAux(omit,omit)));//PollingChannel v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){ setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided"); } } } } // end g_CSE_DMR_CRE_001 group g_CSE_DMR_CRE_002 { /** * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with a non-existing resource name provided by AE * */ testcase TC_CSE_DMR_CRE_002_PCH() runs on Tester system CseSystem { // Local variables var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_002(int15, m_createPollingChannelBase));//Pollingchannel v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){ setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided"); } else { if(v_responsePrimitive.primitiveContent.pollingChannel.resourceName != c_defaultPollingChannelResourceName){ setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not correct"); } } } } }// end group g_CSE_DMR_CRE_002 group g_CSE_DMR_CRE_003 { /** * @desc Check that the IUT rejects the creation of a RESOURCE_TYPE resource with an existing resource name provided by AE * */ testcase TC_CSE_DMR_CRE_003_PCH() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_003(int15, m_createPollingChannelBase));//Pollingchannel v_ae1.done; } }// end group g_CSE_DMR_CRE_003 group g_CSE_DMR_CRE_004 { /** * @desc Check that the IUT rejects the creation of a RESOURCE_TYPE resource when AE has no privileges * */ testcase TC_CSE_DMR_CRE_004_PCH() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_004(int15, m_createPollingChannelBase));//Pollingchannel v_ae1.done; } }// end group g_CSE_DMR_CRE_004 group g_CSE_DMR_CRE_006 { /** * @desc Check that the IUT returns a default value to RW ATTRIBUTE in the response of a RESOURCE_TYPE resource CREATE Request where no a RW ATTRIBUTE is provided by AE * */ testcase TC_CSE_DMR_CRE_006_CNT_MNI() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest)); v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.maxNrOfInstances)){ setverdict(fail, __SCOPE__, ": Error, maxNrOfInstances attribute not provided"); } } } testcase TC_CSE_DMR_CRE_006_CNT_MBS() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest)); v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.maxByteSize)){ setverdict(fail, __SCOPE__, ": Error, maxByteSize attribute not provided"); } } } testcase TC_CSE_DMR_CRE_006_CNT_MIA() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest)); v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); if(not ispresent(v_responsePrimitive.primitiveContent.container.maxInstanceAge)){ setverdict(fail, __SCOPE__, ": Error, maxInstanceAge attribute not provided"); } } } }// end group g_CSE_DMR_CRE_006 group g_CSE_DMR_CRE_007 { /** * @desc Checks that the IUT accepts a newly created RESOURCE_TYPE when the currentNrOfInstances exceeds the field value set in maxNrOfInstances in the PARENT_RESOURCE_TYPE resource by removing enough of the oldest RESOURCE_TYPE resources to allow the creation of the new RESOURCE_TYPE resource * */ testcase TC_CSE_DMR_CRE_007_CNT_CIN() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequestContainer := m_createContainerBase; var template RequestPrimitive v_createRequestContentInstance1 := m_createContentInstanceBase; var template RequestPrimitive v_createRequestContentInstance2 := m_createContentInstanceBase; const integer c_maxNumberOfInstances := 1; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequestContainer.primitiveContent.container.maxNrOfInstances := c_maxNumberOfInstances; v_createRequestContentInstance2.primitiveContent.contentInstance.resourceName := c_defaultContentInstanceResourceName & "2"; //Resource 2 v_ae1.start(f_CSE_DMR_CRE_007(int3, v_createRequestContainer, int4, v_createRequestContentInstance1, v_createRequestContentInstance2, c_defaultContentInstanceResourceName));//ContentInstance under Container v_ae1.done; } }// end group g_CSE_DMR_CRE_007 group g_CSE_DMR_CRE_008 { /** * @desc Checks that the IUT accepts a newly created RESOURCE_TYPE when the currentNrOfInstances exceeds the field value set in maxNrOfInstances in the PARENT_RESOURCE_TYPE resource by removing enough of the oldest RESOURCE_TYPE resources to allow the creation of the new RESOURCE_TYPE resource * */ testcase TC_CSE_DMR_CRE_008_CNT_CIN() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequestContainer := m_createContainerBase; var template RequestPrimitive v_createRequestContentInstance1 := m_createContentInstanceBase; var template RequestPrimitive v_createRequestContentInstance2 := m_createContentInstanceBase; const integer c_maxByteSize := 10; const XSD.String c_primitiveContent1 := "Content1"; const XSD.String c_primitiveContent2 := "Content2"; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequestContainer.primitiveContent.container.maxByteSize := c_maxByteSize; v_createRequestContentInstance1.primitiveContent.contentInstance.content := c_primitiveContent1; //ContentInstance 1 v_createRequestContentInstance2.primitiveContent.contentInstance.content := c_primitiveContent2; //ContentInstance 2 v_createRequestContentInstance2.primitiveContent.contentInstance.resourceName := c_defaultContentInstanceResourceName & "2"; //ContentInstance 2 v_ae1.start(f_CSE_DMR_CRE_007(int3, v_createRequestContainer, int4, v_createRequestContentInstance1, v_createRequestContentInstance2, c_defaultContentInstanceResourceName));//ContentInstance under Container v_ae1.done; } }// end group g_CSE_DMR_CRE_008 group g_CSE_DMR_CRE_013 { /** * @desc Check that the IUT rejects the CREATE Request of a RESOURCE_TYPE resource with error “NOT_ACCEPTABLE” when contentSize exceeds maxByteSize of the PARENT_RESOURCE_TYPE * */ testcase TC_CSE_DMR_CRE_013_CNT_CIN() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequestContainer := m_createContainerBase; var template RequestPrimitive v_createRequestContentInstance := m_createContentInstanceBase; const integer c_maxByteSize := 1; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequestContainer.primitiveContent.container.maxByteSize := c_maxByteSize; v_ae1.start(f_CSE_DMR_CRE_013(int3, v_createRequestContainer, int4, v_createRequestContentInstance));//ContentInstance under Container v_ae1.done; } }// end group g_CSE_DMR_CRE_013 group g_CSE_DMR_CRE_015 { /** * @desc Check that the IUT returns successfully after a CREATE request an empty content of created resource when the ResultContent set to 0 (Nothing) * */ testcase TC_CSE_DMR_CRE_015_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_015(int3, m_createContainerBase));//Container v_ae1.done; } testcase TC_CSE_DMR_CRE_015_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_015(int9, m_createGroupBase));//Group v_ae1.done; } testcase TC_CSE_DMR_CRE_015_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_015(int1, m_createAcpBase));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_CRE_015_SUB() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_015(int23, m_createSubscriptionBase));//Subscription v_ae1.done; } testcase TC_CSE_DMR_CRE_015_PCH() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_015(int15, m_createPollingChannelBase));//PollingChannel v_ae1.done; } } // end g_CSE_DMR_CRE_015 group g_CSE_DMR_CRE_016 { /** * @desc Check that the IUT returns successfully after a CREATE request only hierarchichal address of the created resource when the Result Content is set to 2 (hierarchical address) * */ testcase TC_CSE_DMR_CRE_016_CNT() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.uRI := mw_contentContainer_rc2; v_ae1.start(f_CSE_DMR_CRE_016(int3, m_createContainerBase, v_contentResponse));//Container v_ae1.done; } testcase TC_CSE_DMR_CRE_016_GRP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.uRI := mw_contentGroup_rc2; v_ae1.start(f_CSE_DMR_CRE_016(int9, m_createGroupBase, v_contentResponse));//Group v_ae1.done; } testcase TC_CSE_DMR_CRE_016_ACP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.uRI := mw_contentAcp_rc2; v_ae1.start(f_CSE_DMR_CRE_016(int1, m_createAcpBase,v_contentResponse));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_CRE_016_SUB() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.uRI := mw_contentSubscription_rc2; v_ae1.start(f_CSE_DMR_CRE_016(int23, m_createSubscriptionBase, v_contentResponse));//Subscription v_ae1.done; } testcase TC_CSE_DMR_CRE_016_PCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.uRI := mw_contentPollingChannel_rc2; v_ae1.start(f_CSE_DMR_CRE_016(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel v_ae1.done; } } // end g_CSE_DMR_CRE_016 group g_CSE_DMR_CRE_017 { /** * @desc Check that the IUT returns successfully after a CREATE request only attributes and hierarchichal address of the created resource when Result Content is set 3 (attributes and hierarchichal address) * */ testcase TC_CSE_DMR_CRE_017_CNT() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentContainer_rc3; v_ae1.start(f_CSE_DMR_CRE_017(int3, m_createContainerBase, v_contentResponse));//Container v_ae1.done; } testcase TC_CSE_DMR_CRE_017_GRP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentGroup_rc3; v_ae1.start(f_CSE_DMR_CRE_017(int9, m_createGroupBase, v_contentResponse));//Group v_ae1.done; } testcase TC_CSE_DMR_CRE_017_ACP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentAcp_rc3; v_ae1.start(f_CSE_DMR_CRE_017(int1, m_createAcpBase,v_contentResponse));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_CRE_017_SUB() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentSubscription_rc3; v_ae1.start(f_CSE_DMR_CRE_017(int23, m_createSubscriptionBase, v_contentResponse));//Subscription v_ae1.done; } testcase TC_CSE_DMR_CRE_017_PCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.resource := mw_contentPollingChannel_rc3; v_ae1.start(f_CSE_DMR_CRE_017(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel v_ae1.done; } } // end g_CSE_DMR_CRE_017 group g_CSE_DMR_CRE_018 { /** * @desc Check that the IUT rejects a CREATE request when the ResultContent is set to RESULT_CONTENT * */ testcase TC_CSE_DMR_CRE_018_RCN_4() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_018(int4));//ResultContent = 4 (attributes and child resources) v_ae1.done; } testcase TC_CSE_DMR_CRE_018_RCN_5() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_018(int5));//ResultContent = 5 (attributes and child resources references) v_ae1.done; } testcase TC_CSE_DMR_CRE_018_RCN_6() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_018(int6));//ResultContent = 6 (child resources references) v_ae1.done; } testcase TC_CSE_DMR_CRE_018_RCN_8() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_CRE_018(int8));//ResultContent = 8 (child resources) v_ae1.done; } } // end g_CSE_DMR_CRE_018 group g_CSE_DMR_CRE_019 { /** * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the ResultContent set to 1 (Attributes) * */ testcase TC_CSE_DMR_CRE_019_CNT() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.container := mw_contentContainer_rc1; v_ae1.start(f_CSE_DMR_CRE_019(int3, m_createContainerBase, v_contentResponse));//Container v_ae1.done; } testcase TC_CSE_DMR_CRE_019_GRP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.group_ := mw_contentGroup_rc1; v_ae1.start(f_CSE_DMR_CRE_019(int9, m_createGroupBase, v_contentResponse));//Group v_ae1.done; } testcase TC_CSE_DMR_CRE_019_ACP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.accessControlPolicy := mw_contentAcp_rc1; v_ae1.start(f_CSE_DMR_CRE_019(int1, m_createAcpBase, v_contentResponse));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_CRE_019_SUB() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.subscription := mw_contentSubscription_rc1; v_ae1.start(f_CSE_DMR_CRE_019(int23, m_createSubscriptionBase, v_contentResponse));//Subscription v_ae1.done; } testcase TC_CSE_DMR_CRE_019_PCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.pollingChannel := mw_contentPollingChannel_rc1; v_ae1.start(f_CSE_DMR_CRE_019(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel v_ae1.done; } } // end g_CSE_DMR_CRE_019 group g_CSE_DMR_CRE_020 { /** * @desc Check that the IUT returns successfully only modified attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 9 (modified attributes) * */ testcase TC_CSE_DMR_CRE_020_CNT() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.container := mw_contentContainer_rc1; //Provided attributes should not be returned unless modified v_contentResponse.container.resourceName := omit; v_ae1.start(f_CSE_DMR_CRE_020(int3, m_createContainerBase, v_contentResponse));//Container v_ae1.done; } testcase TC_CSE_DMR_CRE_020_GRP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.group_ := mw_contentGroup_rc1; //Provided attributes should not be returned unless modified v_contentResponse.group_.resourceName := omit; v_contentResponse.group_.maxNrOfMembers := omit; v_contentResponse.group_.memberIDs := omit; v_ae1.start(f_CSE_DMR_CRE_020(int9, m_createGroupBase, v_contentResponse));//Group v_ae1.done; } testcase TC_CSE_DMR_CRE_020_ACP() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.accessControlPolicy := mw_contentAcp_rc1; //Provided attributes should not be returned unless modified v_contentResponse.accessControlPolicy.resourceName := omit; v_contentResponse.accessControlPolicy.privileges := omit; v_contentResponse.accessControlPolicy.selfPrivileges := omit; v_ae1.start(f_CSE_DMR_CRE_020(int1, m_createAcpBase,v_contentResponse));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_CRE_020_SUB() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.subscription := mw_contentSubscription_rc1; //Provided attributes should not be returned unless modified v_contentResponse.subscription.resourceName := omit; v_contentResponse.subscription.notificationURI := omit; v_ae1.start(f_CSE_DMR_CRE_020(int23, m_createSubscriptionBase, v_contentResponse));//Subscription v_ae1.done; } testcase TC_CSE_DMR_CRE_020_PCH() runs on Tester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_contentResponse.pollingChannel := mw_contentPollingChannel_rc1; //Provided attributes should not be returned unless modified v_contentResponse.pollingChannel.resourceName := omit; v_ae1.start(f_CSE_DMR_CRE_020(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel v_ae1.done; } } // end g_CSE_DMR_CRE_020 }//end group Create group Retrieve { group g_CSE_DMR_RET_001 { /** * @desc Check that the IUT returns successfully the TARGET_RESOURCE_ADDRESS resource * */ testcase TC_CSE_DMR_RET_001_PCH() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var ResponsePrimitive v_responsePrimitive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; v_ae1.start(f_CSE_DMR_RET_001(int15, m_createPollingChannelBase, v_contentResponse));//PollingChannel v_ae1.done; } } // end g_CSE_DMR_RET_001 group g_CSE_DMR_RET_020 { /** * @desc Check that the IUT rejects a RETRIEVE Request target to TARGET_RESOURCE_ADDRESS resource when the Result Content set to RESULT_CONTENT * */ testcase TC_CSE_DMR_RET_020_RCN_0() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int0));//ResultContent = 0 (nothing) v_ae1.done; } testcase TC_CSE_DMR_RET_020_RCN_2() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int2));//ResultContent = 2 (hierarchical address) v_ae1.done; } testcase TC_CSE_DMR_RET_020_RCN_3() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int3));//ResultContent = 3 (attributes and hierarchichal address) v_ae1.done; } testcase TC_CSE_DMR_RET_020_RCN_9() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_RET_020(int3, m_createContainerBase, int9));//ResultContent = 9 (modified attributes) v_ae1.done; } } // end g_CSE_DMR_RET_020 group g_CSE_DMR_RET_021 { /** * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 1 (attributes) * */ testcase TC_CSE_DMR_RET_021_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc1; v_ae1.start(f_CSE_DMR_RET_021(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container v_ae1.done; } testcase TC_CSE_DMR_RET_021_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc1; v_ae1.start(f_CSE_DMR_RET_021(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group v_ae1.done; } testcase TC_CSE_DMR_RET_021_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc1; v_ae1.start(f_CSE_DMR_RET_021(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_RET_021_PCH() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; v_ae1.start(f_CSE_DMR_RET_021(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel v_ae1.done; } testcase TC_CSE_DMR_RET_021_SUB() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc1; v_ae1.start(f_CSE_DMR_RET_021(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription v_ae1.done; } } // end g_CSE_DMR_RET_021 group g_CSE_DMR_RET_022 { /** * @desc Check that the IUT returns successfully only attributes and child resources of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 4 (attributes and child resources) * */ testcase TC_CSE_DMR_RET_022_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc4; v_ae1.start(f_CSE_DMR_RET_022(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container v_ae1.done; } testcase TC_CSE_DMR_RET_022_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc4; v_ae1.start(f_CSE_DMR_RET_022(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group v_ae1.done; } testcase TC_CSE_DMR_RET_022_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc4; v_ae1.start(f_CSE_DMR_RET_022(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_RET_022_PCH() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; v_ae1.start(f_CSE_DMR_RET_022(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel v_ae1.done; } testcase TC_CSE_DMR_RET_022_SUB() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc4; v_ae1.start(f_CSE_DMR_RET_022(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription v_ae1.done; } } // end g_CSE_DMR_RET_022 group g_CSE_DMR_RET_023 { /** * @desc Check that the IUT returns successfully only attributes and child resource references of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 5 (attributes and child resource references) * */ testcase TC_CSE_DMR_RET_023_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc5; v_ae1.start(f_CSE_DMR_RET_023(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container v_ae1.done; } testcase TC_CSE_DMR_RET_023_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc5; v_ae1.start(f_CSE_DMR_RET_023(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group v_ae1.done; } testcase TC_CSE_DMR_RET_023_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc5; v_ae1.start(f_CSE_DMR_RET_023(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_RET_023_PCH() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.pollingChannel := mw_contentPollingChannelBase; v_ae1.start(f_CSE_DMR_RET_023(int15, m_createPollingChannelBase, v_contentResponse, omit, omit));//PollingChannel v_ae1.done; } testcase TC_CSE_DMR_RET_023_SUB() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc5; v_ae1.start(f_CSE_DMR_RET_023(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription v_ae1.done; } } // end g_CSE_DMR_RET_023 group g_CSE_DMR_RET_024 { /** * @desc Check that the IUT returns successfully only child resource references of TARGET_RESOURCE_ADDRESS resource when Result Content is set to 6 (child resource references) * */ testcase TC_CSE_DMR_RET_024_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc6; v_ae1.start(f_CSE_DMR_RET_024(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container v_ae1.done; } testcase TC_CSE_DMR_RET_024_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc6; v_ae1.start(f_CSE_DMR_RET_024(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group v_ae1.done; } testcase TC_CSE_DMR_RET_024_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc6; v_ae1.start(f_CSE_DMR_RET_024(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_RET_024_SUB() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc6; v_ae1.start(f_CSE_DMR_RET_024(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription v_ae1.done; } } // end g_CSE_DMR_RET_024 group g_CSE_DMR_RET_025 { /** * @desc Check that the IUT returns successfully only child resources of TARGET_RESOURCE_ADDRESS resource when Result Content is set to 8 (child resources) * */ testcase TC_CSE_DMR_RET_025_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc8; v_ae1.start(f_CSE_DMR_RET_025(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container v_ae1.done; } testcase TC_CSE_DMR_RET_025_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc8; v_ae1.start(f_CSE_DMR_RET_025(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group v_ae1.done; } testcase TC_CSE_DMR_RET_025_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc8; v_ae1.start(f_CSE_DMR_RET_025(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy v_ae1.done; } testcase TC_CSE_DMR_RET_025_SUB() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.subscription := mw_contentSubscription_rc8; v_ae1.start(f_CSE_DMR_RET_025(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase));//Subscription v_ae1.done; } } // end g_CSE_DMR_RET_025 }//end group Retrieve group Update { group g_CSE_DMR_UPD_001 { /** * @desc Check that the IUT updates successfully the value of the attribute ATTRIBUTE_NAME of the TARGET_RESOURCE_ADDRESS resource * */ testcase TC_CSE_DMR_UPD_001_PCH_LBL() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"VALUE_2"}; var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2; v_ae1.start(f_CSE_DMR_UPD_001(int15, v_createRequest, v_updateRequest));//PollingChannel v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_2){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(v_primitiveContentRetrieveResource.pollingChannel.labels != v_labels_2){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } } } // end g_CSE_DMR_UPD_001 group g_CSE_DMR_UPD_002 { /** * @desc Check that the IUT adds successfully the attribute ATTRIBUTE_NAME to the TARGET_RESOURCE_ADDRESS resource * */ testcase TC_CSE_DMR_UPD_002_PCH_LBL() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var ResponsePrimitive v_responsePrimitive; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1; v_ae1.start(f_CSE_DMR_UPD_002(int15, m_createPollingChannelBase,v_updateRequest));//PollingChannel v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(v_primitiveContentRetrieveResource.pollingChannel.labels != v_labels_1){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } } } // end g_CSE_DMR_UPD_002 group g_CSE_DMR_UPD_003 { /** * @desc Check that the IUT deletes successfully the attribute ATTRIBUTE_NAME from the TARGET_RESOURCE_ADDRESS resource * */ testcase TC_CSE_DMR_UPD_003_PCH_LBL() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2 := {"To be deleted"}; var AttributeAux_list v_nullFields; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2; v_nullFields := {{"labels", omit}}; v_ae1.start(f_CSE_DMR_UPD_003(int15, v_createRequest, v_updateRequest, v_nullFields));//PollingChannel v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has been udpated correctly if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(ispresent(v_primitiveContentRetrieveResource.pollingChannel.labels)) { if(not(match(v_primitiveContentRetrieveResource.pollingChannel.labels,{""}))){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } } } } // end g_CSE_DMR_UPD_003 group g_CSE_DMR_UPD_007{ /** * @desc Check that the IUT responds with an error when the AE tries to update a non-RW attribute ATTRIBUTE_NAME of a TARGET_RESOURCE_ADDRESS resource * */ testcase TC_CSE_DMR_UPD_007_PCH_CT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_creationTime := "21001231T012345"; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent := {pollingChannel_update_invalid := m_contentUpdatePollingChannel_invalid}; v_updateRequest.primitiveContent.pollingChannel_update_invalid.creationTime := v_creationTime; v_ae1.start(f_CSE_DMR_UPD_007(int15, m_createPollingChannelBase, v_updateRequest));//PollingChannel v_ae1.done; if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.pollingChannel_update_invalid)) { if(v_primitiveContentRetrieveResource.pollingChannel_update_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") } } } } } // end g_CSE_DMR_UPD_007 group g_CSE_DMR_UPD_008{ /** * @desc Check that the IUT responds with an error when the AE tries to delete a mandatory RW attribute ATTRIBUTE_NAME of a TARGET_RESOURCE_ADDRESS resource * */ testcase TC_CSE_DMR_UPD_008_PCH_ET() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime := "21001231T012345"; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var AttributeAux_list v_nullFields; var PrimitiveContent v_primitiveContentRetrieveResource; v_nullFields := {{"expirationTime", omit}}; v_updateRequest.primitiveContent.pollingChannel.expirationTime := v_expirationTime; v_ae1.start(f_CSE_DMR_UPD_008(int15, m_createPollingChannelBase, v_updateRequest, v_nullFields));//PollingChannel v_ae1.done; if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { if(v_primitiveContentRetrieveResource.pollingChannel.expirationTime == v_expirationTime){ setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") } } } } } // end g_CSE_DMR_UPD_008 group g_CSE_DMR_UPD_009{ /** * @desc Check that the IUT responds with an error when the AE tries to update an attribute of a TARGET_RESOURCE_ADDRESS resource which does not exist * */ testcase TC_CSE_DMR_UPD_009_PCH_EXC() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; v_updateRequest.primitiveContent := {pollingChannel_update_invalid := m_contentUpdatePollingChannel_invalid}; v_updateRequest.primitiveContent.pollingChannel_update_invalid.expirationCounter := v_expirationCounter; v_ae1.start(f_CSE_DMR_UPD_009(int15, v_createRequest, v_updateRequest));//PollingChannel v_ae1.done; } } // end g_CSE_DMR_UPD_009 group g_CSE_DMR_UPD_010{ /** * @desc Check that the stateTag attribute of a RESOURCE_TYPE resource is increased when an update operation has been performed on its child resource * */ testcase TC_CSE_DMR_UPD_010_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase); var template RequestPrimitive v_createRequest := m_createContainerBase; var Labels v_labels_1:= {"VALUE_1"}; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_DMR_UPD_010(int3, v_createRequest, v_updateRequest));//Container v_ae1.done; if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that stateTag has been incremented if(ischosen(v_primitiveContentRetrieveResource.container)) { if(v_primitiveContentRetrieveResource.container.stateTag == 1){ setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented"); }else{ setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented"); } } } } } // end g_CSE_DMR_UPD_010 group g_CSE_DMR_UPD_011{ /** * @desc Check that the IUT rejects the UPDATE Request of an existing RESOURCE_TYPE resource with error “OPERATION_NOT_ALLOWED” * */ testcase TC_CSE_DMR_UPD_011_CNT_CNI() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; var Labels v_labels:= {"LABEL"}; var template RequestPrimitive v_createParentRequest := m_createContainerBase; var template RequestPrimitive v_createChildRequest := m_createContentInstanceBase; var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.contentInstance.labels := v_labels; v_ae1.start(f_CSE_DMR_UPD_011(int3, v_createParentRequest, int4, v_createChildRequest, v_updateRequest));//ContentInstance under 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.contentInstance)) { if(v_primitiveContentRetrieveResource.contentInstance.labels == v_labels){ setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") } } } } } // end g_CSE_DMR_UPD_011 group g_CSE_DMR_UPD_014 { /** * @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource. * */ testcase TC_CSE_DMR_UPD_014_ACP_ET() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; var Timestamp v_expirationTime_2 := "20401020T012345"; var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_1; v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_2; v_ae1.start(f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest));//ACP v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(v_responsePrimitive.primitiveContent.accessControlPolicy.expirationTime != v_expirationTime_2){ setverdict(fail, __SCOPE__ & ": Error: ExpirationTime attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_CNT_ET() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; var Timestamp v_expirationTime_2 := "20401020T012345"; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; v_createRequest.primitiveContent.container.expirationTime := v_expirationTime_1; v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime_2; v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.expirationTime != v_expirationTime_2){ setverdict(fail, __SCOPE__ & ": Error: ExpirationTime attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_CNT_OR() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_ontologyRef_1 := "MyOntologyRef_1"; var XSD.AnyURI v_ontologyRef_2 := "MyOntologyRef_2"; var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; v_createRequest.primitiveContent.container.ontologyRef := v_ontologyRef_1; v_updateRequest.primitiveContent.container.ontologyRef := v_ontologyRef_2; v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.ontologyRef != v_ontologyRef_2){ setverdict(fail, __SCOPE__ & ": Error: OntologyRef attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_ACPI() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var AcpType v_accessControlPolicyIDs_1 := {"NotInitialized_1"}; var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_1; v_updateRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.accessControlPolicyIDs != v_accessControlPolicyIDs_2){ setverdict(fail, __SCOPE__ & ": Error: AccessControlPolicyIDs attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_BN() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var BatchNotify v_batchNotify_1 := {1, "PT1S"}; var BatchNotify v_batchNotify_2 := {2, "PT1S"}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.batchNotify := v_batchNotify_1; v_updateRequest.primitiveContent.subscription.batchNotify := v_batchNotify_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.batchNotify != v_batchNotify_2){ setverdict(fail, __SCOPE__ & ": Error: EventNotificationCriteria attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_ENC() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var EventNotificationCriteria v_eventNotificationCriteria_1 := valueof(m_eventNotificationCriteria({int1}, -)); var EventNotificationCriteria v_eventNotificationCriteria_2 := valueof(m_eventNotificationCriteria({int2}, -)); var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.eventNotificationCriteria := v_eventNotificationCriteria_1; v_updateRequest.primitiveContent.subscription.eventNotificationCriteria := v_eventNotificationCriteria_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.eventNotificationCriteria != v_eventNotificationCriteria_2){ setverdict(fail, __SCOPE__ & ": Error: EventNotificationCriteria attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_ET() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Timestamp v_expirationTime_1 := "20301231T012345"; var Timestamp v_expirationTime_2 := "20401020T012345"; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.expirationTime := v_expirationTime_1; v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.expirationTime != v_expirationTime_2){ setverdict(fail, __SCOPE__ & ": Error: ExpirationTime attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_EXC() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_expirationCounter_1 := 10; var XSD.PositiveInteger v_expirationCounter_2 := 20; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.expirationCounter := v_expirationCounter_1; v_updateRequest.primitiveContent.subscription.expirationCounter := v_expirationCounter_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.expirationCounter != v_expirationCounter_2){ setverdict(fail, __SCOPE__ & ": Error: ExpirationCounter attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_GPI() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_groupID_1 := "MyGroupID_1"; var XSD.AnyURI v_groupID_2 := "MyGroupID_2"; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.groupID := v_groupID_1; v_updateRequest.primitiveContent.subscription.groupID := v_groupID_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.groupID != v_groupID_2){ setverdict(fail, __SCOPE__ & ": Error: GroupID attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_LN() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.Boolean v_latestNotify_1 := true; var XSD.Boolean v_latestNotify_2 := false; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.latestNotify := v_latestNotify_1; v_updateRequest.primitiveContent.subscription.latestNotify := v_latestNotify_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.latestNotify != v_latestNotify_2){ setverdict(fail, __SCOPE__ & ": Error: LatestNotify attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_NCT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var NotificationContentType v_notificationContentType_1 := int1; var NotificationContentType v_notificationContentType_2 := int2; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType_1; v_updateRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationContentType != v_notificationContentType_2){ setverdict(fail, __SCOPE__ & ": Error: NotificationContentType attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_NEC() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var EventCat v_notificationEventCat_1 := {alt_1 := 100}; var EventCat v_notificationEventCat_2 := {alt_1 := 101}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.notificationEventCat := v_notificationEventCat_1; v_updateRequest.primitiveContent.subscription.notificationEventCat := v_notificationEventCat_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationEventCat != v_notificationEventCat_2){ setverdict(fail, __SCOPE__ & ": Error: NotificationEventCat attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_NFU() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.AnyURI v_notificationForwardingURI_1 := "MyForwardingURI_1"; var XSD.AnyURI v_notificationForwardingURI_2 := "MyForwardingURI_2"; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.notificationForwardingURI := v_notificationForwardingURI_1; v_updateRequest.primitiveContent.subscription.notificationForwardingURI := v_notificationForwardingURI_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationForwardingURI != v_notificationForwardingURI_2){ setverdict(fail, __SCOPE__ & ": Error: NotificationForwardingURI attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_NSP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var XSD.PositiveInteger v_notificationStoragePriority_1 := 1; var XSD.PositiveInteger v_notificationStoragePriority_2 := 2; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.notificationStoragePriority := v_notificationStoragePriority_1; v_updateRequest.primitiveContent.subscription.notificationStoragePriority := v_notificationStoragePriority_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationStoragePriority != v_notificationStoragePriority_2){ setverdict(fail, __SCOPE__ & ": Error: NotificationStoragePriority attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_PN() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var PendingNotification v_pendingNotification_1 := int1; var PendingNotification v_pendingNotification_2 := int2; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.pendingNotification := v_pendingNotification_1; v_updateRequest.primitiveContent.subscription.pendingNotification := v_pendingNotification_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.pendingNotification != v_pendingNotification_2){ setverdict(fail, __SCOPE__ & ": Error: PendingNotification attribute not updated correctly") } } } } } testcase TC_CSE_DMR_UPD_014_SUB_RL() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RateLimit v_rateLimit_1 := {0, "PT20M"}; var RateLimit v_rateLimit_2 := {1, "PT30M"}; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; v_createRequest.primitiveContent.subscription.rateLimit := v_rateLimit_1; v_updateRequest.primitiveContent.subscription.rateLimit := v_rateLimit_2; v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.rateLimit != v_rateLimit_2){ setverdict(fail, __SCOPE__ & ": Error: RateLimit attribute not updated correctly") } } } } } } // end g_CSE_DMR_UPD_014 group g_CSE_DMR_UPD_019 { /** * @desc Check that the IUT rejects a UPDATE Request target to TARGET_RESOURCE_ADDRESS resource when the Result Content set to RESULT_CONTENT * */ testcase TC_CSE_DMR_UPD_019_RCN_2() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int2));//ResultContent = 2 (hierarchical address) v_ae1.done; } testcase TC_CSE_DMR_UPD_019_RCN_3() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int3));//ResultContent = 3 (attributes and hierarchichal address) v_ae1.done; } testcase TC_CSE_DMR_UPD_019_RCN_4() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int4));//ResultContent = 4 (attributes and child resources) v_ae1.done; } testcase TC_CSE_DMR_UPD_019_RCN_5() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int5));//ResultContent = 5 (attributes and child resource references) v_ae1.done; } testcase TC_CSE_DMR_UPD_019_RCN_6() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int6));//ResultContent = 6 (child resource references) v_ae1.done; } testcase TC_CSE_DMR_UPD_019_RCN_7() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int7));//ResultContent = 7 (original resource) v_ae1.done; } testcase TC_CSE_DMR_UPD_019_RCN_8() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_UPD_019(int3, m_createContainerBase, int8));//ResultContent = 8 (child resources) v_ae1.done; } } // end g_CSE_DMR_UPD_019 group g_CSE_DMR_UPD_020 { /** * @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing) * */ testcase TC_CSE_DMR_UPD_020_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase); v_updateRequest.primitiveContent.container.labels := {"VALUE_1"}; v_ae1.start(f_CSE_DMR_UPD_020(int3, m_createContainerBase, int3, m_createContainerBase, v_updateRequest));//Container v_ae1.done; } testcase TC_CSE_DMR_UPD_020_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); v_updateRequest.primitiveContent.group_.labels := {"VALUE_1"}; v_ae1.start(f_CSE_DMR_UPD_020(int9, m_createGroupBase, int23, m_createSubscriptionBase, v_updateRequest));//Group v_ae1.done; } testcase TC_CSE_DMR_UPD_020_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateAcpBase); v_updateRequest.primitiveContent.accessControlPolicy.labels := {"VALUE_1"}; v_ae1.start(f_CSE_DMR_UPD_020(int1, m_createAcpBase, int23, m_createSubscriptionBase, v_updateRequest));//AccessControlPolicy v_ae1.done; } } // end g_CSE_DMR_UPD_020 group g_CSE_DMR_UPD_021 { /** * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 1 (attributes) * */ testcase TC_CSE_DMR_UPD_021_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase); var template PrimitiveContent v_contentResponse; v_updateRequest.primitiveContent.container.labels := {"VALUE_1"}; v_contentResponse := f_getTemplateFromPrimitiveContent(v_updateRequest.primitiveContent); v_ae1.start(f_CSE_DMR_UPD_021(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase, v_updateRequest));//Container v_ae1.done; } testcase TC_CSE_DMR_UPD_021_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); var template PrimitiveContent v_contentResponse; v_updateRequest.primitiveContent.group_.labels := {"VALUE_1"}; v_contentResponse := f_getTemplateFromPrimitiveContent(v_updateRequest.primitiveContent); v_ae1.start(f_CSE_DMR_UPD_021(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase, v_updateRequest));//Group v_ae1.done; } testcase TC_CSE_DMR_UPD_021_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateAcpBase); var template PrimitiveContent v_contentResponse; v_updateRequest.primitiveContent.accessControlPolicy.labels := {"VALUE_1"}; v_contentResponse := f_getTemplateFromPrimitiveContent(v_updateRequest.primitiveContent); v_ae1.start(f_CSE_DMR_UPD_021(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase, v_updateRequest));//AccessControlPolicy v_ae1.done; } } // end g_CSE_DMR_UPD_021 group g_CSE_DMR_UPD_022 { /** * @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing) * */ testcase TC_CSE_DMR_UPD_022_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase); var template PrimitiveContent v_contentResponse; v_contentResponse.container := m_contentContainer_allOmit; v_contentResponse.container.lastModifiedTime := ?; v_contentResponse.container.stateTag := ?; v_updateRequest.primitiveContent.container.labels := {"VALUE_1"}; v_ae1.start(f_CSE_DMR_UPD_022(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase, v_updateRequest));//Container v_ae1.done; } testcase TC_CSE_DMR_UPD_022_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := m_contentGroup_allOmit; v_contentResponse.group_.lastModifiedTime := ?; v_updateRequest.primitiveContent.group_.labels := {"VALUE_1"}; v_ae1.start(f_CSE_DMR_UPD_022(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase, v_updateRequest));//Group v_ae1.done; } testcase TC_CSE_DMR_UPD_022_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateAcpBase); var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := m_contentAcp_allOmit; v_contentResponse.accessControlPolicy.lastModifiedTime := ?; v_updateRequest.primitiveContent.accessControlPolicy.labels := {"VALUE_1"}; v_ae1.start(f_CSE_DMR_UPD_022(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase, v_updateRequest));//AccessControlPolicy v_ae1.done; } } // end g_CSE_DMR_UPD_022 }//end group Update group Delete { group g_CSE_DMR_DEL_001{ /** * @desc Check that the IUT accepts the deletion of a RESOURCE_TYPE resource * */ testcase TC_CSE_DMR_DEL_001_PCH() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_001(int15, m_createPollingChannelBase));//PollingChannel v_ae1.done; }; };//end of group g_CSE_DMR_DEL_001 group g_CSE_DMR_DEL_011 { /** * @desc Check that the IUT rejects a DELETE Request target to TARGET_RESOURCE_ADDRESS resource when the Result Content set to RESULT_CONTENT * */ testcase TC_CSE_DMR_DEL_011_RCN_2() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int2));//ResultContent = 2 (hierarchical address) v_ae1.done; } testcase TC_CSE_DMR_DEL_011_RCN_3() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int3));//ResultContent = 3 (attributes and hierarchichal address) v_ae1.done; } testcase TC_CSE_DMR_DEL_011_RCN_4() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int4));//ResultContent = 4 (attributes and child resources) v_ae1.done; } testcase TC_CSE_DMR_DEL_011_RCN_5() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int5));//ResultContent = 5 (attributes and child resource references) v_ae1.done; } testcase TC_CSE_DMR_DEL_011_RCN_6() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int6));//ResultContent = 6 (child resource references) v_ae1.done; } testcase TC_CSE_DMR_DEL_011_RCN_7() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int7));//ResultContent = 7 (original resource) v_ae1.done; } testcase TC_CSE_DMR_DEL_011_RCN_8() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int8));//ResultContent = 8 (child resources) v_ae1.done; } testcase TC_CSE_DMR_DEL_011_RCN_9() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_011(int3, m_createContainerBase, int9));//ResultContent = 9 (modified attributes) v_ae1.done; } } // end g_CSE_DMR_DEL_011 group g_CSE_DMR_DEL_012 { /** * @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing) * */ testcase TC_CSE_DMR_DEL_012_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_012(int3, m_createContainerBase, int3, m_createContainerBase));//Container v_ae1.done; } testcase TC_CSE_DMR_DEL_012_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_012(int9, m_createGroupBase, int23, m_createSubscriptionBase));//Group v_ae1.done; } testcase TC_CSE_DMR_DEL_012_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_DEL_012(int1, m_createAcpBase, int23, m_createSubscriptionBase));//AccessControlPolicy v_ae1.done; } } // end g_CSE_DMR_DEL_012 group g_CSE_DMR_DEL_013 { /** * @desc Check that the IUT returns succesfully only attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 1 (attributes) * */ testcase TC_CSE_DMR_DEL_013_CNT() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc1; v_ae1.start(f_CSE_DMR_DEL_013(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase));//Container v_ae1.done; } testcase TC_CSE_DMR_DEL_013_GRP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.group_ := mw_contentGroup_rc1; v_ae1.start(f_CSE_DMR_DEL_013(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase));//Group v_ae1.done; } testcase TC_CSE_DMR_DEL_013_ACP() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template PrimitiveContent v_contentResponse; v_contentResponse.accessControlPolicy := mw_contentAcp_rc1; v_ae1.start(f_CSE_DMR_DEL_013(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase));//AccessControlPolicy v_ae1.done; } } // end g_CSE_DMR_DEL_013 }//end group Delete group Notify { group g_CSE_DMR_NTF_001 { /** * @desc Check that the IUT rejects a NOTIFY request when the ResultContent is set to RESULT_CONTENT * */ testcase TC_CSE_DMR_NTF_001_RCN_1() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_NTF_001(int1));//ResultContent = 1 (attributes) v_ae1.done; } testcase TC_CSE_DMR_NTF_001_RCN_2() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_NTF_001(int2));//ResultContent = 2 (hierarchical address) v_ae1.done; } testcase TC_CSE_DMR_NTF_001_RCN_3() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_NTF_001(int3));//ResultContent = 3 (attributes and hierarchical address) v_ae1.done; } testcase TC_CSE_DMR_NTF_001_RCN_4() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_NTF_001(int4));//ResultContent = 4 (attributes and child resources) v_ae1.done; } testcase TC_CSE_DMR_NTF_001_RCN_5() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_NTF_001(int5));//ResultContent = 5 (attributes and child resources references) v_ae1.done; } testcase TC_CSE_DMR_NTF_001_RCN_6() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_NTF_001(int6));//ResultContent = 6 (child resources references) v_ae1.done; } testcase TC_CSE_DMR_NTF_001_RCN_7() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_NTF_001(int7));//ResultContent = 7 (original resource) v_ae1.done; } testcase TC_CSE_DMR_NTF_001_RCN_8() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_DMR_NTF_001(int8));//ResultContent = 8 (child resources) v_ae1.done; } } // end g_CSE_DMR_NTF_001 /** * @desc Check that the IUT returns nothing of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 0 (nothing) * */ testcase TC_CSE_DMR_NTF_002() runs on Tester system CseSystem { // Local variables var AeSimu v_ae1 := AeSimu.create("AE1") alive; var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase); v_updateRequest.primitiveContent.container.labels := {"VALUE_1"}; v_ae1.start(f_CSE_DMR_NTF_002()); v_ae1.done; } function f_CSE_DMR_NTF_002() runs on AeSimu { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex, v_ae2Index := -1; // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); vc_ae2.start(f_cse_createAccessControlPolicyAux("Ae2Acp",{"all"}, int63)); f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, c_defaultAE2Name, {f_getCompletePoA(PX_TS_AE2.mcaPortIn, "")}), -1)); // AE2 is registred f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); v_ae2Index := f_getLatestResource(vc_ae2); // Test Body v_request := valueof(m_notifyNotification(f_getResourceAddress(v_ae2Index), m_contentNotification_subscriptionVerification(vc_resourcesList[v_ae2Index].resource.aE.aE_ID))); v_request.from_ := f_getOriginator(v_aeIndex, e_ae); v_request.resultContent := int0; vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler()); f_send(e_mca_port, m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, omit))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Nothing provided with RCN set to " & int2str(enum2int(v_request.resultContent))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> 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__ & ": Some content provided with RCN set to " & int2str(enum2int(v_request.resultContent))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error on the notification"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); // Postamble f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); }//end f_CSE_DMR_NTF_002 }//end group Notify }//end group Data_Management_and_Repository group Location { }//end group Location group Subscription_And_Notification { group Create { group g_CSE_SUB_CRE_001 { /** * @desc Check that the IUT rejects the creation of the resource when the target subscribed-to RESOURCE_TYPE resource is not subscribable. * */ testcase TC_CSE_SUB_CRE_001_CIN() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_parentResourceRequest := m_createContainerBase; var template RequestPrimitive v_childResourceRequest := m_createContentInstanceBase; var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; const XSD.String c_content := "Random Value"; v_childResourceRequest.primitiveContent.contentInstance.content := "Random Value"; v_ae1.start(f_CSE_SUB_CRE_001(int3, v_parentResourceRequest, int4, v_childResourceRequest)); v_ae1.done; } testcase TC_CSE_SUB_CRE_001_SUB() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_parentResourceRequest := m_createSubscriptionBase; var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_CRE_001(int23, v_parentResourceRequest, int23, v_parentResourceRequest)); v_ae1.done; } testcase TC_CSE_SUB_CRE_001_TSI() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_parentResourceRequest := m_createTimeSeriesBase; var template RequestPrimitive v_childResourceRequest := m_createTimeSeriesInstanceBase; var ResponsePrimitive v_responsePrimitive; var AeSimu v_ae1 := AeSimu.create("AE1") alive; const XSD.String c_content := "Random Value"; v_childResourceRequest.primitiveContent.timeSeriesInstance.content := "Random Value"; v_ae1.start(f_CSE_SUB_CRE_001(int29, v_parentResourceRequest, int30, v_childResourceRequest)); v_ae1.done; } }// end group g_CSE_DMR_CRE_014 }//end group Create group Notify{ /** * @desc Check that the IUT rejects the creation of the resource when the notificationURI is not the originator and the IUT have received the Notify response containing Response Status Code indicating SUBSCRIPTION_CREATOR_HAS_NO_PRIVILEGE * */ testcase TC_CSE_SUB_NTF_001() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_NTF_001()); v_ae1.done; } function f_CSE_SUB_NTF_001() runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe(omit,omit);//c_CUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23, int4101); // Test Body v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription f_send(e_mca_port, m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4101))) -> value v_response { //SUBSCRIPTION_CREATOR_HAS_NO_PRIVILEGE tc_ac.stop; setverdict(pass, __SCOPE__ & ": OK : Subscription creator has no privilege"); } [] 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__ & ": Subscription successful whereas Subscription creator has no privilege"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Check to see if the resource is NOT present if(f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); } else { setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); } //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_NTF_001 /** * @desc Check that the IUT rejects the creation of the resource when the notificationURI is not the originator and the IUT have received the Notify response containing Response Status Code indicating SUBSCRIPTION_HOST_HAS_NO_PRIVILEGE * */ testcase TC_CSE_SUB_NTF_002() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_NTF_002()); v_ae1.done; } function f_CSE_SUB_NTF_002() runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe(omit,omit);//c_CUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23, int5205); // Test Body v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription f_send(e_mca_port, m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5205))) -> value v_response { //SUBSCRIPTION_CREATOR_HAS_NO_PRIVILEGE tc_ac.stop; setverdict(pass, __SCOPE__ & ": OK : Subscription creator has no privilege"); } [] 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__ & ": Subscription successful whereas Subscription creator has no privilege"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Check to see if the resource is NOT present if(f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); } else { setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); } //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_NTF_002 /** * @desc Check that the IUT sends aggregated notification to the subscriber resource when the duration value of the batchNotify attribute is set to TIME_LIMIT and when this timer expires * */ testcase TC_CSE_SUB_NTF_003() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_NTF_003()); v_ae1.done; } function f_CSE_SUB_NTF_003() runs on AeSimu { // Local variables timer t_batchNotificationTimer := PX_TAC * 2.0; var float v_elapsedTime; const integer c_numberOfAggregatedNotification := 2; var Labels v_labels_1:= {"VALUE_1"}; var Labels v_labels_2:= {"VALUE_2"}; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; v_contentResponse.aE := mw_contentAeBase; // all attributes expected // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(c_numberOfAggregatedNotification + 1, "PT10S" ), omit, omit, -, int2);//batchNotify/number greater than number of notifications to be sent so that batchNotify/duration expires before v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription if(vc_ae2.running) { vc_ae2.stop; }; // Test Body vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, c_numberOfAggregatedNotification)); v_updateRequest.primitiveContent.aE.labels := v_labels_1; f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // Update request 1 t_batchNotificationTimer.start; v_updateRequest := m_updateAeBase; v_updateRequest.primitiveContent.aE.appName := "MyAppName2"; f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // Update request 2 vc_ae2.done; v_elapsedTime := t_batchNotificationTimer.read; t_batchNotificationTimer.stop; if(v_elapsedTime < 10.0) { setverdict(fail, __SCOPE__ & ": Notifications sent before bathNotify/duration expired"); } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_NTF_003 }//end group Notify group Update { /** * @desc Check that the IUT sends a Notify request to the subscriber resource when the notificationContentType attribute is set to “modified attributes” and an update operation has been performed on the subscribed-to resource * */ testcase TC_CSE_SUB_UPD_002() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_UPD_002()); v_ae1.done; } function f_CSE_SUB_UPD_002() runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var Labels v_labels_1:= {"VALUE_1"}; var template PrimitiveContent v_contentResponse := {aE := m_contentAe_allOmit}; var template RequestPrimitive v_createRequest := omit; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int2, omit); //notificationContentType ="modified attributes" f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); //Subscription if(vc_ae2.running) { vc_ae2.stop; }; // Test Body //TODO Use f_getTemplateFromPrimitiveContent() which needs to be modified to receive the template in which the output template will be built upon v_contentResponse.aE.labels := ?;// only modified attribute expected v_contentResponse.aE.lastModifiedTime := ?;// only modified attribute expected //TODO Get it automatically into the expected content template vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); f_send(e_mca_port, m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae)"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_UPD_002 /** * @desc Check that the IUT sends a Notify request to the subscriber resource when the notificationContentType attribute is set to “ResourceID” and an update operation has been performed on the subscribed-to resource * */ testcase TC_CSE_SUB_UPD_003() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_UPD_003()); v_ae1.done; } function f_CSE_SUB_UPD_003() runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var Labels v_labels_1:= {"VALUE_1"}; var template RequestPrimitive v_createRequest := omit; var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_contentResponse.uRI := ?; // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int3, omit); // notificationContentType ="ResourceID" v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); // Test Body vc_ae2.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); f_send(e_mca_port, m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae) or None notification received"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_UPD_003 /** * @desc Check that the IUT decreases the expirationCounter attribute of a subscription resource when the Hosting CSE of the subscribed-to resource successfully sends the notification request to subscriber resource(s) * */ testcase TC_CSE_SUB_UPD_004() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_UPD_004()); v_ae1.done; } function f_CSE_SUB_UPD_004() runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var Labels v_labels_1:= {"VALUE_1"}; var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_createRequest := omit; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var template PrimitiveContent v_retrieveContentResponse; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_contentResponse.aE := mw_contentAeBase; // all attributes expected v_retrieveContentResponse.subscription := mw_contentSubscription_rc1; // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 3, omit, omit, omit, -, omit); //expirationCounter set to 3 v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); // Subscription if(vc_ae2.running) { vc_ae2.stop; }; // Test Body vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // AE update request f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); f_send(e_mca_port, m_request(m_retrieve(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)))); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_retrieveContentResponse))) -> value v_response { tc_ac.stop; if(v_response.primitive.responsePrimitive.primitiveContent.subscription.expirationCounter == 2 ){ setverdict(pass, __SCOPE__ & ": expirationCounter has been successfully decreased by one"); } else{ setverdict(fail, __SCOPE__ & ": Error expirationCounter hasn't been decreased by one"); } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_UPD_004 /** * @desc Check that the IUT deletes the subscription resource when the the expirationCounter meets zero * */ testcase TC_CSE_SUB_UPD_005() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_UPD_005()); v_ae1.done; } function f_CSE_SUB_UPD_005() runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var Labels v_labels_1:= {"VALUE_1"}; var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_createRequest := omit; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_contentResponse.aE := mw_contentAeBase; // all attributes expected // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 1, omit, omit, omit, -, omit); //expirationCounter set to 1 v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);// Subscription if(vc_ae2.running) { vc_ae2.stop; }; // Test Body vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // AE update request f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); f_send(e_mca_port, m_request(m_retrieve(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)))); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Subscription Resource have been successfully deleted"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error Subscription Resource has not been deleted"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving Subscription Resource"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_UPD_005 /** * @desc Check that the IUT doesn’t send a Notify request to the subscriber resource when the “attribute” condition tag of eventNotificationCriteria attribute is set to LIST_OF_ATTRIBUTE and doesn’t contain the ATTRIBUTE_NAME attribute updated. * */ testcase TC_CSE_SUB_UPD_006() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_UPD_006()); v_ae1.done; } function f_CSE_SUB_UPD_006() runs on AeSimu { // Local variables var MsgIn v_response; var Labels v_labels_1:= {"VALUE_1"}; var AttributeList_1 v_attributeList := {"apn"}; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList), omit, omit, omit, omit, -, omit); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request if(vc_ae2.running) { vc_ae2.stop; }; // Test Body vc_ae2.start(f_cse_notifyProcedure_noNotificationHandler()); // check that no notification is received f_send(e_mca_port, m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae) or None notification received"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_UPD_006 /** * @desc Check that the IUT sends aggregated notification to the subscriber resource when the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached * */ testcase TC_CSE_SUB_UPD_007() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_UPD_007()); v_ae1.done; } function f_CSE_SUB_UPD_007() runs on AeSimu { // Local variables const integer numberOfAggregatedNotification := 3; var Labels v_labels_1:= {"VALUE_1"}; var Labels v_labels_2:= {"VALUE_2"}; var Labels v_labels_3:= {"VALUE_3"}; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; v_contentResponse.aE := mw_contentAeBase; // all attributes expected // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), omit, omit, -, omit ); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription if(vc_ae2.running) { vc_ae2.stop; }; // Test Body vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received v_updateRequest.primitiveContent.aE.labels := v_labels_1; f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // Update request 1 v_updateRequest.primitiveContent.aE.labels := v_labels_2; f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // Update request 2 v_updateRequest.primitiveContent.aE.labels := v_labels_3; f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // Update request 3 f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_UPD_007 /** * @desc Check that the IUT sends the latest notification to the subscriber resource when latestNotify is set to TRUE, the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached * */ testcase TC_CSE_SUB_UPD_008() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_UPD_008()); v_ae1.done; } function f_CSE_SUB_UPD_008() runs on AeSimu { // Local variables const integer numberOfAggregatedNotification := 3; var Labels v_labels_1:= {"VALUE_1"}; var Labels v_labels_2:= {"VALUE_2"}; var Labels v_labels_3:= {"VALUE_3"}; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; v_contentResponse.aE := mw_contentAeBase; // all attributes expected // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), true, omit, -, omit); //TODO We Need to check if the IUT send a notification only for the latest update operation // like we match a Notification we have to verify if it is the first (unvalid behavior) or the last (valid behavior) // maybe we need to synchronise our components v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription if(vc_ae2.running) { vc_ae2.stop; }; // Test Body vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs v_updateRequest.primitiveContent.aE.labels := v_labels_1; f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // Update request 1 v_updateRequest.primitiveContent.aE.labels := v_labels_2; f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // Update request 2 v_updateRequest.primitiveContent.aE.labels := v_labels_3; f_cse_updateResource(int2, v_aeIndex, v_updateRequest); // Update request 3 f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_UPD_008 /** * @desc Check that the IUT sends a Notify request to the subscriber resource when the “attribute” condition tag of eventNotificationCriteria attribute is set to ATTRIBUTE_NAME and an update operation has been performed on the subscribed-to resource * */ testcase TC_CSE_SUB_UPD_009() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_UPD_009()); v_ae1.done; } function f_CSE_SUB_UPD_009() runs on AeSimu { // Local variables var MsgIn v_response; var Labels v_labels_1:= {"VALUE_1"}; var AttributeList_1 v_attributeList := {"lbl"}; var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var template PrimitiveContent v_contentResponse; var template RequestPrimitive v_updateRequest := m_updateAeBase; var RequestPrimitive v_request; var integer v_ae2Index := -1; v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_contentResponse.aE := mw_contentAeBase; // all attributes expected // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList), omit, omit, omit, omit, -, omit); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request if(vc_ae2.running) { vc_ae2.stop; }; // Test Body vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs f_send(e_mca_port, m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae) or None notification received"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_UPD_009 }//end group Update group Delete { /** * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Delete_of_Resource" and an delete operation has been performed the subscribed-to resource * */ testcase TC_CSE_SUB_DEL_002() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_DEL_002()); v_ae1.done; } function f_CSE_SUB_DEL_002() runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_subscriptionResourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var template PrimitiveContent v_notificationContent; var RequestPrimitive v_deleteRequest; var integer v_ae2Index := -1; // Test control // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int2}, -), omit, omit, omit, omit, -, omit); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_subscriptionResourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex );//Subscription if(vc_ae2.running) { vc_ae2.stop; }; //Test Body v_notificationContent := {aE:= mw_contentAeBase}; // all attributes expected; vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_notificationContent)); // check if the notification is well received and if its content matchs v_deleteRequest:= valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex))); // Ae delete request f_send(e_mca_port, m_request(v_deleteRequest)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { tc_ac.stop; //Update vc_resourcesIndexToBeDeleted f_removeElementFromList (vc_resourcesIndexToBeDeleted, v_aeIndex); setverdict(pass, __SCOPE__ & ": resource type int2 (AE) deleted successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while deleting resource type int2 (AE)"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while deleting resource type int2 (AE)"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_DEL_002 /** * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Delete_of_Direct_Child_Resource" and an delete operation has been performed on a child resource of the subscribed-to resource * */ testcase TC_CSE_SUB_DEL_003() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_SUB_DEL_003()); v_ae1.done; } function f_CSE_SUB_DEL_003() runs on AeSimu { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; var integer v_subscriptionResourceIndex := -1; var integer v_containerResourceIndex := -1; var template RequestPrimitive v_createRequest := omit; var RequestPrimitive v_deleteRequest; var template PrimitiveContent v_notificationContent; var integer v_ae2Index := -1; // Test component configuration f_cf01Up(true); // Test adapter configuration // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi; v_containerResourceIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);//Container v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int4}, -), omit, omit, omit, omit, -, omit); f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23); v_subscriptionResourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription (with name attribute omitted) if(vc_ae2.running) { vc_ae2.stop; }; //Test Body v_notificationContent := {container := mw_contentContainer_rc1}; // all attributes expected; vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_notificationContent)); // check if the notification is well received and if its content matchs v_deleteRequest := valueof(m_delete(f_getResourceAddress(v_containerResourceIndex), f_getOriginator(v_containerResourceIndex)));// Container deletion request f_send(e_mca_port, m_request(v_deleteRequest)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Container resource deleted successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while deleting resource type int3 (Container)"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while deleting resource type int3 (Container)"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); //Postamble f_cse_postamble_deleteResources(); //Tear down f_cf01Down(); } // end TC_CSE_SUB_DEL_003 }//end group Delete }//end group Subscription_And_Notification group Security { group Access_Control_Policy { group Create { }// end of group Create group Update { }// end of group Update group Basic_Operations { }// end of Basic_Operations }//end group AccessControlPolicy }//end group Security group Announcement { group Basic { }//end group Basic group Create { } //end group Create group Retrieve { } //end group Retrieve group Update{ }//end group Update group Delete{ }//end group Delete }//end group Announcement group PollingChannel { /** * @desc Check that the IUT which hosts resource forwards a Notify request successfully to a target AE, once the IUT receives a polling request from AE (retrieve request to resource) * */ testcase TC_CSE_PCH_001() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_PCH_001()); v_ae1.done; } function f_CSE_PCH_001() runs on AeSimu { // Local variables var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var integer v_acpAuxIndex := -1; var RequestPrimitive v_req1, v_req2, v_req3; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2; // Test control // Test component configuration f_cf02Up(); // Test adapter configuration // Preamble vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)); f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); v_acpAuxIndex := f_cse_preamble_createAcpAux(); v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//AE1 is registred; v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex); v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); f_send(e_mca_port, m_request(v_req1)); v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_CSE1_ID))); vc_cse1.start(f_cse_notifyProcedure_notify(v_req2)); v_req2.from_ := PX_CSE1_ID; tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePollingResponse(v_req2))) -> value v_resp1 { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Polling response received"); } [] mcaPort.receive(mw_response(mw_responsePollingResponse)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Content not carrying request targeting AE1"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } // Postamble f_checkAeSimuStatus(); //Send response in any case v_resp2 := valueof(m_responseNotification(int2000, omit)); v_resp2.requestIdentifier := v_resp1.primitive.responsePrimitive.primitiveContent.requestPrimitive.requestIdentifier;//requestIdentifier of req2 v_req3 := valueof(m_notifyResponsePrimitive(f_getResourceAddress(v_resourceIndex) & "/" & c_resourceShortNamePollingChannelUri, v_resp2)); v_req3.from_ := f_getOriginator(v_aeIndex); f_send(e_mca_port, m_request(v_req3)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responseNotify(int2000))) -> value v_resp3 { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Response to req3 received"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Error while performing notification"); } [] mcaPort.receive { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while performing notification"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); f_cse_postamble_deleteResources(); // Tear down f_cf02Down(); } // end TC_CSE_PCH_001 /** * @desc Check that the IUT which hosts resource forwards a Notify request successfully to a target AE, once the IUT receives a polling request from AE * */ testcase TC_CSE_PCH_002() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_PCH_002()); v_ae1.done; } function f_CSE_PCH_002() runs on AeSimu { // Local variables var integer v_aeIndex, v_acpAuxIndex := -1; var integer v_resourceIndex := -1; var RequestPrimitive v_req1, v_req2, v_req3; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2; // Test control // Test component configuration f_cf02Up(); // Test adapter configuration // Preamble vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)); vc_cse1.done; v_acpAuxIndex := f_cse_preamble_createAcpAux(); v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//AE1 is registred; v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex); v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_CSE1_ID))); vc_cse1.start(f_cse_notifyProcedure_notify(v_req2)); v_req2.from_ := PX_CSE1_ID; v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); f_send(e_mca_port, m_request(v_req1)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePollingResponse(v_req2))) -> value v_resp1 { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Polling response received"); } [] mcaPort.receive(mw_response(mw_responsePollingResponse)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Content not carrying request targeting AE1"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } // Postamble f_checkAeSimuStatus(); //Send response in any case v_resp2 := valueof(m_responseNotification(int2000, omit)); v_resp2.requestIdentifier := v_resp1.primitive.responsePrimitive.primitiveContent.requestPrimitive.requestIdentifier;//requestIdentifier of req2 v_req3 := valueof(m_notifyResponsePrimitive(f_getResourceAddress(v_resourceIndex) & "/" & c_resourceShortNamePollingChannelUri, v_resp2)); v_req3.from_ := f_getOriginator(v_aeIndex); f_send(e_mca_port, m_request(v_req3)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responseNotify(int2000))) -> value v_resp3 { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Response to req3 received"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Error while performing notification"); } [] mcaPort.receive { tc_ac.stop; setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while performing notification"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); f_cse_postamble_deleteResources(); // Tear down f_cf01Down(); } // end TC_CSE_PCH_002 /** * @desc Check that the IUT performs both forwarding the response to the CSE and sending response to AE after receiving a Notify Request sent to the resource * */ testcase TC_CSE_PCH_003() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_PCH_003()); v_ae1.done; } function f_CSE_PCH_003() runs on AeSimu { //Local variables var integer v_aeIndex, v_acpAuxIndex := -1; var integer v_resourceIndex := -1; var RequestPrimitive v_req1; var RequestPrimitive v_req2; var RequestPrimitive v_req3; var MsgIn v_resp1, v_resp3; var ResponsePrimitive v_resp2;//Response to a Notify Request // Test control // Test component configuration f_cf02Up(); // Test adapter configuration // Preamble vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)); vc_cse1.done; v_acpAuxIndex := f_cse_preamble_createAcpAux(); v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//AE1 is registred; v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex); v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); f_send(e_mca_port, m_request(v_req1)); v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_CSE1_ID))); vc_cse1.start(f_cse_notifyProcedure_notify(v_req2)); v_req2.from_ := PX_CSE1_ID; tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePollingResponse(v_req2))) -> value v_resp1 { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Polling response received"); } [] mcaPort.receive(mw_response(mw_responsePollingResponse)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Content not carrying request targeting AE1"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } f_checkAeSimuStatus(); //Send response in any case v_resp2 := valueof(m_responseNotification(int2000, omit)); v_resp2.requestIdentifier := v_resp1.primitive.responsePrimitive.primitiveContent.requestPrimitive.requestIdentifier; v_req3 := valueof(m_notifyResponsePrimitive(f_getResourceAddress(v_resourceIndex) & "/" & c_resourceShortNamePollingChannelUri, v_resp2)); v_req3.from_ := f_getOriginator(v_aeIndex); f_send(e_mca_port, m_request(v_req3)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responseNotify(int2000))) -> value v_resp3 { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Polling response received"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__&":INFO: Error while performing notification"); } [] mcaPort.receive { tc_ac.stop; setverdict(fail, __SCOPE__&":INFO: Unexpected message received"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__&":INFO: No answer while performing notification"); } } f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); //Postamble f_cse_postamble_deleteResources(); // Tear down f_cf02Down(); } /** * @desc Check that the IUT which performs polling send the Notify request to Hosting CSE after receiving response using polling channel * */ testcase TC_CSE_PCH_004() runs on Tester system CseSystem { var CseSimu v_cse1 := CseSimu.create("CSE1") alive; v_cse1.start(f_CSE_PCH_004()); v_cse1.done; } function f_CSE_PCH_004() runs on CseSimu { //Local variables var integer v_localResourceIndex := -1; var MsgIn v_request_req1, v_request_req3; var RequestPrimitive v_request_req2; var ResponsePrimitive v_response_rsp1; var template UtTriggerPrimitive v_utRequest1 := m_utCreatePollingChannel; var template UtTriggerPrimitive v_utRequest2; var charstring v_action1 := "Please, send a Polling Channel CREATE request"; var charstring v_action2 := "Please, send a Polling request (Retrieve PollingChannelURI request)"; var RequestPrimitive v_requestNotify; //Test control // Test component configuration f_cf02UpCseSimuMaster(); // Test adapter configuration // Preamble vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase); //send triggering primitive to SUT v_localResourceIndex := f_cse_createLocalResource(v_utRequest1,v_action1); //Check that the created resource is a PollingChannel if(not(vc_localResourcesList[v_localResourceIndex].resourceType == int15)) { setverdict(inconc, __SCOPE__&":INFO: Polling Channel resource not creaded"); f_checkCseSimuStatus(); } //Trigger IUT for sending a polling request (req1) v_utRequest2 := valueof(m_utRetrievePollingChannelUri(f_getLocalResourceAddress(v_localResourceIndex) & "/" & c_resourceShortNamePollingChannelUri)); f_sendUtPrimitive(v_utRequest2,v_action2); tc_ac.start; alt { [] mccPortIn.receive(mw_request(mw_retrieve(f_getResourceAddress(v_localResourceIndex) & "/" & c_resourceShortNamePollingChannelUri))) -> value v_request_req1 { tc_ac.stop; setverdict(pass, __SCOPE__&":INFO: Polling request received successfuly"); v_response_rsp1 := valueof(m_responsePrimitive(int2000,v_request_req1.primitive.requestPrimitive.requestIdentifier)); v_response_rsp1.from_ := PX_CSE1_ID; v_response_rsp1.to_ := v_request_req1.primitive.requestPrimitive.from_; //Put in the primitiveContent a Notify request (req2) (simulated) from another node CSE v_request_req2 := valueof(m_notify(f_getResourceAddress(vc_remoteCseIndex))); v_response_rsp1.primitiveContent := { requestPrimitive := v_request_req2 }; f_send(e_mcc_in_port, m_response(v_response_rsp1)); } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No request received for creating resource type Polling Channel"); } } tc_ac.start; alt { [] mccPortIn.receive(mw_request(mw_notifyResponsePrimitive(?))) -> value v_request_req3 { tc_ac.stop; //Check that primitiveContent carries the response to req2 (resp2) if(v_request_req3.primitive.requestPrimitive.primitiveContent.responsePrimitive.requestIdentifier == v_request_req2.requestIdentifier) { setverdict(pass, __SCOPE__ & ": NOTIFY request received carrying response (rsp2) to the Notify request (req2)"); } else { setverdict(fail, __SCOPE__ & ": NOTIFY request received not carryng the expected response (rsp2) to the Notify request (req2)"); } } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No message while expecting NOTIFY request"); } } //Postamble f_cse_postamble_deleteResourcesCSE(); // Tear down f_cf02DownCseSimuMaster(); } group g_CSE_PCH_005 { testcase TC_CSE_PCH_005_RET() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_PCH_005(m_retrieve("NotInitialized", "NotInitialized"))); v_ae1.done; } testcase TC_CSE_PCH_005_UPD() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1; v_ae1.start(f_CSE_PCH_005(v_updateRequest)); v_ae1.done; } testcase TC_CSE_PCH_005_DEL() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_PCH_005(m_delete("NotInitialized", "NotInitialized"))); v_ae1.done; } } //end group g_CSE_PCH_005 /** * @desc Check that the IUT sends the response with a status to the CSE1 when the request expires according to its Request Expiration Timestamp * */ testcase TC_CSE_PCH_006() runs on Tester system CseSystem { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_PCH_006()); v_ae1.done; } function f_CSE_PCH_006() runs on AeSimu { // Local variables var integer v_aeIndex, v_acpAuxIndex := -1; var integer v_resourceIndex := -1; var RequestPrimitive v_req1; // Test control // Test component configuration f_cf02Up(); // Test adapter configuration // Preamble vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)); f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); v_acpAuxIndex := f_cse_preamble_createAcpAux(); v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//AE1 is registred; v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex); v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); v_req1.requestExpirationTimestamp := { alt_1 := 10000}; f_send(e_mca_port, m_request(v_req1)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4008))) -> value vc_response { tc_ac.stop; setverdict(pass, __SCOPE__ & ":Response status code set to 4008 (REQUEST_TIMEOUT)"); } [] mcaPort.receive(mw_response()) { tc_ac.stop; setverdict(fail, __SCOPE__&":INFO: Unexpected message received"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__&":INFO: No answer while performing notification"); } } // Postamble f_cse_postamble_deleteResources(); // Tear down f_cf02Down(); } // end f_CSE_PCH_006 }//end group PollingChannel group Non_Blocking_Requests{ group Synchronous{ group g_CSE_NBR_SYN_001 { /** * @desc Check that the IUT rejects a Non-Blocking Synchronous Request if the IUT does not support the resource * */ testcase TC_CSE_NBR_SYN_001_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_001(m_createContainerBase, -)); //Create Container v_ae1.done; } testcase TC_CSE_NBR_SYN_001_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_NBR_SYN_001(m_updateContainerBase, m_createContainerBase)); //Update Container v_ae1.done; } testcase TC_CSE_NBR_SYN_001_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container v_ae1.done; } testcase TC_CSE_NBR_SYN_001_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container v_ae1.done; } }// end group g_CSE_NBR_SYN_001 group g_CSE_NBR_SYN_002{ /** * @desc Check that the IUT responds to a Non-Blocking Synchronous Request with the reference of a resource provided within the Content parameter of the Response * */ testcase TC_CSE_NBR_SYN_002_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_002(m_createContainerBase, -)); //Create Container v_ae1.done; } testcase TC_CSE_NBR_SYN_002_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_NBR_SYN_002(m_updateContainerBase, m_createContainerBase)); //Update Container v_ae1.done; } testcase TC_CSE_NBR_SYN_002_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container v_ae1.done; } testcase TC_CSE_NBR_SYN_002_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container v_ae1.done; } }// end group g_CSE_NBR_SYN_002 group g_CSE_NBR_SYN_003{ /** * @desc Check that the IUT returns successfully the resource after receiving a Non-Blocking Synchronous Request OPERATION and it contains the expected result in operationResult attribute * */ testcase TC_CSE_NBR_SYN_003_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_003(m_createContainerBase, -, int1)); //Create Container v_ae1.done; } testcase TC_CSE_NBR_SYN_003_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_NBR_SYN_003(m_updateContainerBase, m_createContainerBase, int3)); //Update Container v_ae1.done; } testcase TC_CSE_NBR_SYN_003_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2)); //Retrieve Container v_ae1.done; } testcase TC_CSE_NBR_SYN_003_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_SYN_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int4)); //Delete Container v_ae1.done; } }// end group g_CSE_NBR_SYN_003 }// end group Synchronous group Asynchronous{ group g_CSE_NBR_ASY_001 { /** * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request without a reference to a resource containing the context of the request if the IUT does not support the resource * */ testcase TC_CSE_NBR_ASY_001_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_001(m_createContainerBase, -)); //Create Container v_ae1.done; } testcase TC_CSE_NBR_ASY_001_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_NBR_ASY_001(m_updateContainerBase, m_createContainerBase)); //Update Container v_ae1.done; } testcase TC_CSE_NBR_ASY_001_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container v_ae1.done; } testcase TC_CSE_NBR_ASY_001_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container v_ae1.done; } }// end group g_CSE_NBR_ASY_001 group g_CSE_NBR_ASY_002{ /** * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request with the reference of a resource provided within the Content parameter of the Response * */ testcase TC_CSE_NBR_ASY_002_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_002(m_createContainerBase, -)); //Create Container v_ae1.done; } testcase TC_CSE_NBR_ASY_002_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_NBR_ASY_002(m_updateContainerBase, m_createContainerBase)); //Update Container v_ae1.done; } testcase TC_CSE_NBR_ASY_002_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container v_ae1.done; } testcase TC_CSE_NBR_ASY_002_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container v_ae1.done; } }// end group g_CSE_NBR_ASY_002 group g_CSE_NBR_ASY_003{ /** * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided * */ testcase TC_CSE_NBR_ASY_003_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_003(m_createContainerBase, -, int2001)); //Create Container v_ae1.done; } testcase TC_CSE_NBR_ASY_003_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_NBR_ASY_003(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container v_ae1.done; } testcase TC_CSE_NBR_ASY_003_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container v_ae1.done; } testcase TC_CSE_NBR_ASY_003_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container v_ae1.done; } }// end group g_CSE_NBR_ASY_003 group g_CSE_NBR_ASY_004{ /** * @desc Check that the IUT does not send the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when an empty notification target list is provided * */ testcase TC_CSE_NBR_ASY_004_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_004(m_createContainerBase, -)); //Create Container v_ae1.done; } testcase TC_CSE_NBR_ASY_004_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_NBR_ASY_004(m_updateContainerBase, m_createContainerBase)); //Update Container v_ae1.done; } testcase TC_CSE_NBR_ASY_004_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_004(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container v_ae1.done; } testcase TC_CSE_NBR_ASY_004_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_004(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container v_ae1.done; } }// end group g_CSE_NBR_ASY_004 group g_CSE_NBR_ASY_005{ /** * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided * */ testcase TC_CSE_NBR_ASY_005_CRE() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_005(m_createContainerBase, -, int2001)); //Create Container v_ae1.done; } testcase TC_CSE_NBR_ASY_005_UPD() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; var Labels v_labels_1 := {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; v_ae1.start(f_CSE_NBR_ASY_005(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container v_ae1.done; } testcase TC_CSE_NBR_ASY_005_RET() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_005(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container v_ae1.done; } testcase TC_CSE_NBR_ASY_005_DEL() runs on Tester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_ae1.start(f_CSE_NBR_ASY_005(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container v_ae1.done; } }// end group g_CSE_NBR_ASY_005 }// end group Asynchronous }// end group Non_Blocking_Requests group Device_Management { group timeSeries { }//end group timeSeries }//end group dataManagement }//end group CSE }