diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index c830f4b99081be51c645d1a7c963e2f0a866f549..3e9c6e9e7e3a8a33fa7bdd76c1a697af3cbb34e0 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -3442,7 +3442,9 @@ module OneM2M_Functions { } } else if(p_resourceType == int3 and ispresent(p_resource)) { //Container if(ischosen(p_resource.container)){ - v_myResource.container := valueof(p_resource.container); + if(isvalue(p_resource.container)) { + v_myResource.container := valueof(p_resource.container); + } v_myResource.container.resourceType := p_resourceType; v_myResource.container.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource); @@ -5468,10 +5470,8 @@ module OneM2M_Functions { var integer i; for(i := 4; i <= 5; i := i+1){ - if(p_timestamp[i] != "0") { v_month := v_month & p_timestamp[i]; } - } return str2int(v_month); } // end f_getYear diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 650ae807b347b6291065ea4aac71ffabcb07153c..ad279e90386d957dcafd04d86a5371de158da4ac 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -1030,7 +1030,7 @@ module OneM2M_Templates { template (value) RequestPrimitive m_createContainerBaseInvalid modifies m_create := { requestIdentifier := testcasename() & "-m_createContainer", resourceType := int3, - primitiveContent := {container_update_invalid := m_contentCreateContainerInvalid} + primitiveContent := {container_invalid := m_contentCreateContainerInvalid} }; /** @@ -3381,7 +3381,7 @@ module OneM2M_Templates { * @desc Base primitiveContent for invalid CREATE operation for Container resource (using Container_update_invalid) * @param p_name Resource name */ - template (value) Container_update_invalid m_contentCreateContainerInvalid (in template (omit) XSD.String p_name := c_defaultContainerResourceName):= { + template (value) Container_invalid m_contentCreateContainerInvalid (in template (omit) XSD.String p_name := c_defaultContainerResourceName):= { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP @@ -4005,7 +4005,7 @@ module OneM2M_Templates { * @desc Base primitiveContent for invalid CREATE operation for timeSeries resource (using Container_update_invalid) * @param p_name Resource name */ - template (value) TimeSeries_update_invalid m_contentCreateTimeSeriesInvalid (in template (omit) XSD.String p_name := c_defaultTimeSeriesResourceName):= { + template (value) TimeSeries_invalid m_contentCreateTimeSeriesInvalid (in template (omit) XSD.String p_name := c_defaultTimeSeriesResourceName):= { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP @@ -7305,7 +7305,7 @@ module OneM2M_Templates { }; - template (value) AE_update_invalid m_contentUpdateAe_invalid := { + template (value) AE_invalid m_contentUpdateAe_invalid := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -7331,7 +7331,7 @@ module OneM2M_Templates { choice := omit//O }; - template (value) ACP_update_invalid m_contentUpdateAcp_invalid := { + template (value) AccessControlPolicy_invalid m_contentUpdateAcp_invalid := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -7348,7 +7348,7 @@ module OneM2M_Templates { choice := omit//O }; - template (value) Group_update_invalid m_contentUpdateGroup_invalid := { + template (value) Group_invalid m_contentUpdateGroup_invalid := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -7375,7 +7375,7 @@ module OneM2M_Templates { choice := omit//O }; - template (value) PollingChannel_update_invalid m_contentUpdatePollingChannel_invalid := { + template (value) PollingChannel_invalid m_contentUpdatePollingChannel_invalid := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -7387,7 +7387,7 @@ module OneM2M_Templates { expirationTime := omit//M }; - template (value) Schedule_update_invalid m_contentUpdateSchedule_invalid := { + template (value) Schedule_invalid m_contentUpdateSchedule_invalid := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -7403,7 +7403,7 @@ module OneM2M_Templates { choice := omit//O }; - template (value) Subscription_update_invalid m_contentUpdateSubscription_invalid := { + template (value) Subscription_invalid m_contentUpdateSubscription_invalid := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -7433,7 +7433,7 @@ module OneM2M_Templates { choice := omit//O }; - template (value) Container_update_invalid m_contentUpdateContainer_invalid := { + template (value) Container_invalid m_contentUpdateContainer_invalid := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M @@ -7460,7 +7460,7 @@ module OneM2M_Templates { choice := omit//O }; - template (value) TimeSeries_update_invalid m_contentUpdateTimeSeries_invalid := { + template (value) TimeSeries_invalid m_contentUpdateTimeSeries_invalid := { resourceName := omit,//O resourceType := omit,//NP resourceID := omit,//NP diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn index 20b5205b598a001be95c30513e64e097fd488ce9..d3acc84ff4d8024a2f216aa09622e59397a607dc 100644 --- a/LibOneM2M/OneM2M_TypesAndValues.ttcn +++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn @@ -3502,7 +3502,7 @@ group OptionalResourceTypes { group InvalidTypes { - type record AE_update_invalid { + type record AE_invalid { ResourceName resourceName optional, ResourceType resourceType optional, XSD.ID resourceID optional, @@ -3556,7 +3556,7 @@ group InvalidTypes { variant (choice.choice_list[-].group_) "name as 'group'"; }; - type record ACP_update_invalid { + type record AccessControlPolicy_invalid { ResourceName resourceName optional, ResourceType resourceType optional, XSD.ID resourceID optional, @@ -3590,7 +3590,7 @@ group InvalidTypes { variant (choice.choice_list[-]) "untagged"; }; - type record Container_update_invalid { + type record Container_invalid { ResourceName resourceName optional, ResourceType resourceType optional, XSD.ID resourceID optional, @@ -3683,7 +3683,7 @@ group InvalidTypes { variant (choice.choice_list[-]) "untagged"; }; - type record Group_update_invalid { + type record Group_invalid { ResourceName resourceName optional, ResourceType resourceType optional, XSD.ID resourceID optional, @@ -3732,7 +3732,7 @@ group InvalidTypes { }; - type record PollingChannel_update_invalid { + type record PollingChannel_invalid { ResourceName resourceName optional, ResourceType resourceType optional, XSD.ID resourceID optional, @@ -3749,7 +3749,7 @@ group InvalidTypes { variant (resourceName) "attribute"; }; - type record Schedule_update_invalid { + type record Schedule_invalid { ResourceName resourceName optional, ResourceType resourceType optional, XSD.ID resourceID optional, @@ -3781,7 +3781,7 @@ group InvalidTypes { variant (choice.choice_list[-]) "untagged"; }; - type record Subscription_update_invalid { + type record Subscription_invalid { ResourceName resourceName optional, ResourceType resourceType optional, XSD.ID resourceID optional, @@ -3829,7 +3829,7 @@ group InvalidTypes { variant (choice.choice_list[-]) "untagged"; }; - type record TimeSeries_update_invalid + type record TimeSeries_invalid { ResourceName resourceName optional, ResourceType resourceType optional, @@ -3884,7 +3884,7 @@ group InvalidTypes { - type record LocationPolicy_update_invalid { + type record LocationPolicy_invalid { ResourceName resourceName optional, ResourceType resourceType optional, XSD.ID resourceID optional, @@ -4114,16 +4114,16 @@ group OtherTypes { RequestPrimitive requestPrimitive, DebugInfo debugInfo, //Invalid types - AE_update_invalid aE_update_invalid, - ACP_update_invalid aCP_update_invalid, - Container_update_invalid container_update_invalid, + AE_invalid aE_invalid, + AccessControlPolicy_invalid accessControlPolicy_invalid, + Container_invalid container_invalid, GenericInterworkingService_invalid genericInterworkingService_invalid, - Group_update_invalid group_update_invalid, - PollingChannel_update_invalid pollingChannel_update_invalid, - Schedule_update_invalid schedule_update_invalid, - Subscription_update_invalid subscription_update_invalid, - LocationPolicy_update_invalid locationPolicy_update_invalid, - TimeSeries_update_invalid timeSeries_update_invalid + Group_invalid group_invalid, + PollingChannel_invalid pollingChannel_invalid, + Schedule_invalid schedule_invalid, + Subscription_invalid subscription_invalid, + LocationPolicy_invalid locationPolicy_invalid, + TimeSeries_invalid timeSeries_invalid } } diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index f64467559d076e88facb24b04fa39a483b5819cd..d5293a6f5f09ab9fbd7d629d049a077222a6a470 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -1179,10 +1179,11 @@ module OneM2M_PermutationFunctions { // Local variables var RequestPrimitive v_request; + var RequestPrimitive v_groupRequest := m_createGroupBase; var integer v_aeIndex := -1; + var integer v_groupIndex := -1; var integer v_resourceIndex := -1; var AddressingMethod v_addressingMethod; - var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -1200,19 +1201,23 @@ module OneM2M_PermutationFunctions { v_resourceIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_resourceIndex].resource)}; + + v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); + // Test Body + v_request := f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex); //Force usage of Hybrid Hierarchical addressing method - v_addressingMethod := e_hybrid; - v_primitiveScope := p_primitiveScope; - v_request := f_getCreateRequestPrimitive(int3, m_createContainerBase, v_resourceIndex); - v_request.to_ := f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope); + v_addressingMethod := e_nonHierarchical; + v_request.to_ := f_getResourceAddress(v_groupIndex, v_addressingMethod, p_primitiveScope); + v_request.to_ := v_request.to_ & "/fopt"; f_send(e_mcaPort, m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Container resource created using hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Fanout operation performed successfully by using hybrid addressing"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; @@ -1415,9 +1420,11 @@ module OneM2M_PermutationFunctions { // Local variables var integer v_aeIndex := -1; + var integer v_groupIndex := -1; var integer v_resourceIndex := -1; var AddressingMethod v_addressingMethod; - var PrimitiveScope v_primitiveScope; + var RequestPrimitive v_request; + var RequestPrimitive v_groupRequest := m_createGroupBase; // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -1435,17 +1442,22 @@ module OneM2M_PermutationFunctions { v_resourceIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_resourceIndex].resource)}; + + v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); + // Test Body //Force usage of Hybrid Hierarchical addressing method - v_addressingMethod := e_hybrid; - v_primitiveScope := p_primitiveScope; + v_addressingMethod := e_nonHierarchical; + v_request := m_retrieve(f_getResourceAddress(v_groupIndex, v_addressingMethod, p_primitiveScope), f_getOriginator(v_groupIndex)); + v_request.to_ := v_request.to_ & "/fopt"; - f_send(e_mcaPort, m_request(m_retrieve(f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope), f_getOriginator(v_resourceIndex)))); + f_send(e_mcaPort, m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Container resource retrieved using hybrid addressing method"); + setverdict(pass, __SCOPE__ & ": Fanout operation performed successfully by using hybrid addressing"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; @@ -1453,10 +1465,10 @@ module OneM2M_PermutationFunctions { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while retrieving container resource using hybrid addressing method"); + setverdict(fail, __SCOPE__ & ": Error while creating container resource using hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -1664,11 +1676,12 @@ module OneM2M_PermutationFunctions { function f_CSE_GEN_UPD_004(in PrimitiveScope p_primitiveScope) runs on AeSimu system CseSystem { // Local variables + var RequestPrimitive v_groupRequest := m_createGroupBase; var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase); var integer v_aeIndex := -1; + var integer v_groupIndex := -1; var integer v_resourceIndex := -1; var AddressingMethod v_addressingMethod; - var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -1686,22 +1699,24 @@ module OneM2M_PermutationFunctions { v_resourceIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); - // Test Body - //Force usage of Hybrid Hierarchical addressing method - v_addressingMethod := e_hybrid; - v_primitiveScope := p_primitiveScope; + v_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_resourceIndex].resource)}; + v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); + + // Test Body + v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); v_updateRequest.primitiveContent.container.labels := {"MyLabel"}; - - v_updateRequest := f_getUpdateRequestPrimitive(int3, v_resourceIndex, v_updateRequest); - v_updateRequest.to_ := f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope); + //Force usage of Hybrid Hierarchical addressing method + v_addressingMethod := e_nonHierarchical; + v_updateRequest.to_ := f_getResourceAddress(v_groupIndex, v_addressingMethod, p_primitiveScope); + v_updateRequest.to_ := v_updateRequest.to_ & "/fopt"; f_send(e_mcaPort, m_request(v_updateRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Container resource updated using hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Fanout operation performed successfully by using hybrid addressing"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; @@ -1709,10 +1724,10 @@ module OneM2M_PermutationFunctions { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while updating container resource using hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while creating container resource using hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while updating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -1912,10 +1927,11 @@ module OneM2M_PermutationFunctions { // Local variables var RequestPrimitive v_request; + var RequestPrimitive v_groupRequest := m_createGroupBase; var integer v_aeIndex := -1; + var integer v_groupIndex := -1; var integer v_resourceIndex := -1; var AddressingMethod v_addressingMethod; - var PrimitiveScope v_primitiveScope; // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { @@ -1933,19 +1949,22 @@ module OneM2M_PermutationFunctions { v_resourceIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_resourceIndex].resource)}; + + v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); + // Test Body //Force usage of Hybrid Hierarchical addressing method - v_addressingMethod := e_hybrid; - v_primitiveScope := p_primitiveScope; - - v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope), f_getOriginator(v_resourceIndex))); + v_addressingMethod := e_nonHierarchical; + v_request := valueof(m_delete(f_getResourceAddress(v_groupIndex, v_addressingMethod, p_primitiveScope), f_getOriginator(v_resourceIndex))); + v_request.to_ := v_request.to_ & "/fopt"; f_send(e_mcaPort, m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Container resource deleted using hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Fanout operation performed successfully by using hybrid addressing"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; @@ -1953,10 +1972,10 @@ module OneM2M_PermutationFunctions { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error while deleting container resource using hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while creating container resource using hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -6761,9 +6780,6 @@ module OneM2M_PermutationFunctions { var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var integer v_ae2Index := -1; - var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_AE_ID}, int63)); - var AccessControlRule v_accessControlRule_2; - var SetOfAcrs v_setOfArcs; // Test control if(not(PICS_ACP_SUPPORT)) { @@ -6777,21 +6793,14 @@ module OneM2M_PermutationFunctions { // Test adapter configuration // Preamble - v_acpAuxIndex := f_cse_preamble_createAcpAux(-,-);//c_CRDNDi); - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRUNDi); + v_aeIndex := f_cse_preamble_registerAe(-, -);//c_CRUNDi); + v_acpAuxIndex := f_cse_createAccessControlPolicyAux(-, {f_getResourceId(vc_resourcesList[v_aeIndex].resource)},int55);//c_CRDNDi); f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); - //Update ACP Aux to remove DELETE operation rights to AE, keeping rights of SUPER USER to run postamble - v_accessControlRule_2 := valueof(m_createAcr({f_getResourceId(vc_resourcesList[v_aeIndex].resource)}, int55)); - - v_setOfArcs.accessControlRule_list := {v_accessControlRule_1, v_accessControlRule_2}; - v_updateRequest := valueof(m_updateAcpPrivileges(v_setOfArcs, -)); - f_cse_updateResource(int1, vc_acpAuxIndex, v_updateRequest); - //Adjustments for ACP resource type if(p_resourceType == int1) { - p_createRequestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2}; + p_createRequestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {m_createAcr({f_getResourceId(vc_resourcesList[v_aeIndex].resource)}, int55)}; } else { p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}); } @@ -6833,8 +6842,6 @@ module OneM2M_PermutationFunctions { } // Postamble - // We are forced to delete the Ae because the delete request in the postamble_deleteResources is sent by Ae itself, witch doesn't have privileges - f_cse_deleteResource(v_aeIndex, m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator()));//Use of PX_SUPER_AE_ID to remove AE f_cse_postamble_deleteResources(); // Tear down diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn index 3cb506c336edc1d207de55883cd344a855f39ea8..e6130dc7cb2ccff146b3cae7b50c3ecbabe95fbc 100644 --- a/OneM2M_Testcases_CSE_Release_1.ttcn +++ b/OneM2M_Testcases_CSE_Release_1.ttcn @@ -3576,7 +3576,7 @@ module OneM2M_Testcases_CSE_Release_1 { //Preamble vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE)); - vc_cse1.done; + f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); v_aeIndex := f_cse_createResource(int2, m_createAe(PX_TS_AE1.appId, omit, "S")); @@ -6040,8 +6040,8 @@ module OneM2M_Testcases_CSE_Release_1 { var Timestamp v_creationTime := "21001231T012345"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var PrimitiveContent v_primitiveContentRetrieveResource; - v_updateRequest.primitiveContent := {container_update_invalid := m_contentUpdateContainer_invalid}; - v_updateRequest.primitiveContent.container_update_invalid.creationTime := v_creationTime; + v_updateRequest.primitiveContent := {container_invalid := m_contentUpdateContainer_invalid}; + v_updateRequest.primitiveContent.container_invalid.creationTime := v_creationTime; v_ae1.start(f_CSE_DMR_UPD_007(int3, m_createContainerBase, v_updateRequest));//Container v_ae1.done; @@ -6049,8 +6049,8 @@ module OneM2M_Testcases_CSE_Release_1 { if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated - if(ischosen(v_primitiveContentRetrieveResource.container_update_invalid)) { - if(v_primitiveContentRetrieveResource.container_update_invalid.creationTime == v_creationTime){ + if(ischosen(v_primitiveContentRetrieveResource.container_invalid)) { + if(v_primitiveContentRetrieveResource.container_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") } } @@ -6063,8 +6063,8 @@ module OneM2M_Testcases_CSE_Release_1 { var Timestamp v_creationTime := "21001231T012345"; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var PrimitiveContent v_primitiveContentRetrieveResource; - v_updateRequest.primitiveContent := {group_update_invalid := m_contentUpdateGroup_invalid}; - v_updateRequest.primitiveContent.group_update_invalid.creationTime := v_creationTime; + v_updateRequest.primitiveContent := {group_invalid := m_contentUpdateGroup_invalid}; + v_updateRequest.primitiveContent.group_invalid.creationTime := v_creationTime; v_ae1.start(f_CSE_DMR_UPD_007(int9, m_createGroupBase, v_updateRequest));//Group v_ae1.done; @@ -6072,8 +6072,8 @@ module OneM2M_Testcases_CSE_Release_1 { if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated - if(ischosen(v_primitiveContentRetrieveResource.group_update_invalid)) { - if(v_primitiveContentRetrieveResource.group_update_invalid.creationTime == v_creationTime){ + if(ischosen(v_primitiveContentRetrieveResource.group_invalid)) { + if(v_primitiveContentRetrieveResource.group_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") } } @@ -6086,8 +6086,8 @@ module OneM2M_Testcases_CSE_Release_1 { var Timestamp v_creationTime := "21001231T012345"; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var PrimitiveContent v_primitiveContentRetrieveResource; - v_updateRequest.primitiveContent := {aCP_update_invalid := m_contentUpdateAcp_invalid}; - v_updateRequest.primitiveContent.aCP_update_invalid.creationTime := v_creationTime; + v_updateRequest.primitiveContent := {accessControlPolicy_invalid := m_contentUpdateAcp_invalid}; + v_updateRequest.primitiveContent.accessControlPolicy_invalid.creationTime := v_creationTime; v_ae1.start(f_CSE_DMR_UPD_007(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy v_ae1.done; @@ -6095,8 +6095,8 @@ module OneM2M_Testcases_CSE_Release_1 { if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated - if(ischosen(v_primitiveContentRetrieveResource.aCP_update_invalid)) { - if(v_primitiveContentRetrieveResource.aCP_update_invalid.creationTime == v_creationTime){ + if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy_invalid)) { + if(v_primitiveContentRetrieveResource.accessControlPolicy_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") } } @@ -6109,8 +6109,8 @@ module OneM2M_Testcases_CSE_Release_1 { var Timestamp v_creationTime := "21001231T012345"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var PrimitiveContent v_primitiveContentRetrieveResource; - v_updateRequest.primitiveContent := {subscription_update_invalid := m_contentUpdateSubscription_invalid}; - v_updateRequest.primitiveContent.subscription_update_invalid.creationTime := v_creationTime; + v_updateRequest.primitiveContent := {subscription_invalid := m_contentUpdateSubscription_invalid}; + v_updateRequest.primitiveContent.subscription_invalid.creationTime := v_creationTime; v_ae1.start(f_CSE_DMR_UPD_007(int23, m_createSubscriptionBase, v_updateRequest));//Subscription v_ae1.done; @@ -6118,8 +6118,8 @@ module OneM2M_Testcases_CSE_Release_1 { if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated - if(ischosen(v_primitiveContentRetrieveResource.subscription_update_invalid)) { - if(v_primitiveContentRetrieveResource.subscription_update_invalid.creationTime == v_creationTime){ + if(ischosen(v_primitiveContentRetrieveResource.subscription_invalid)) { + if(v_primitiveContentRetrieveResource.subscription_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") } } @@ -6222,9 +6222,9 @@ module OneM2M_Testcases_CSE_Release_1 { var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; - v_updateRequest.primitiveContent := {container_update_invalid := m_contentUpdateContainer_invalid}; + v_updateRequest.primitiveContent := {container_invalid := m_contentUpdateContainer_invalid}; - v_updateRequest.primitiveContent.container_update_invalid.expirationCounter := v_expirationCounter; + v_updateRequest.primitiveContent.container_invalid.expirationCounter := v_expirationCounter; v_ae1.start(f_CSE_DMR_UPD_009(int3, v_createRequest, v_updateRequest));//Container v_ae1.done; @@ -6236,9 +6236,9 @@ module OneM2M_Testcases_CSE_Release_1 { var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; - v_updateRequest.primitiveContent := {group_update_invalid := m_contentUpdateGroup_invalid}; + v_updateRequest.primitiveContent := {group_invalid := m_contentUpdateGroup_invalid}; - v_updateRequest.primitiveContent.group_update_invalid.expirationCounter := v_expirationCounter; + v_updateRequest.primitiveContent.group_invalid.expirationCounter := v_expirationCounter; v_ae1.start(f_CSE_DMR_UPD_009(int9, v_createRequest, v_updateRequest));//Group v_ae1.done; @@ -6250,9 +6250,9 @@ module OneM2M_Testcases_CSE_Release_1 { var XSD.PositiveInteger v_expirationCounter := 1; var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_updateRequest := m_updateAcpBase; - v_updateRequest.primitiveContent := {aCP_update_invalid := m_contentUpdateAcp_invalid}; + v_updateRequest.primitiveContent := {accessControlPolicy_invalid := m_contentUpdateAcp_invalid}; - v_updateRequest.primitiveContent.aCP_update_invalid.expirationCounter := v_expirationCounter; + v_updateRequest.primitiveContent.accessControlPolicy_invalid.expirationCounter := v_expirationCounter; v_ae1.start(f_CSE_DMR_UPD_009(int1, v_createRequest, v_updateRequest));//AccessControlPolicy v_ae1.done; @@ -6264,9 +6264,9 @@ module OneM2M_Testcases_CSE_Release_1 { var XSD.NonNegativeInteger v_maxNrOfInstances := 5; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; - v_updateRequest.primitiveContent := {subscription_update_invalid := m_contentUpdateSubscription_invalid}; + v_updateRequest.primitiveContent := {subscription_invalid := m_contentUpdateSubscription_invalid}; - v_updateRequest.primitiveContent.subscription_update_invalid.maxNrOfInstances := v_maxNrOfInstances; + v_updateRequest.primitiveContent.subscription_invalid.maxNrOfInstances := v_maxNrOfInstances; v_ae1.start(f_CSE_DMR_UPD_009(int23, v_createRequest, v_updateRequest));//Subscription v_ae1.done; @@ -9985,7 +9985,6 @@ module OneM2M_Testcases_CSE_Release_1 { var integer v_aeIndex := -1; var integer v_resourceIndex := -1; var RequestPrimitive v_request; - var integer v_childResourceIndex := -1; var integer v_acpAuxIndex := -1; const ResourceType c_containerResourceType := int3; @@ -10008,22 +10007,27 @@ module OneM2M_Testcases_CSE_Release_1 { v_requestPrimitive := f_setAcpId(v_requestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}); v_resourceIndex := f_cse_createResource(c_containerResourceType, v_requestPrimitive, v_aeIndex); - v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex); v_request := valueof(m_retrieveFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1)); f_send(e_mcaPort, m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) { + [] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value vc_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Access denied to discovery operation for resource " & f_getResourceAddress(v_resourceIndex)); + if(lengthof(vc_response.primitive.responsePrimitive.primitiveContent.uRIList) == 0){ + setverdict(pass, __SCOPE__ & ": Discovering " & f_getResourceAddress(v_resourceIndex) & " without having privileges and no content"); + } + else + { + setverdict(fail, __SCOPE__ & ": Wrong content available in URIList element"); + } } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Discovering " & f_getResourceAddress(v_resourceIndex) & " without having privileges"); + setverdict(fail, __SCOPE__ & ": Error while discovering on resource when no discovery access privileges"); } [] tc_ac.timeout { setverdict(fail, __SCOPE__ & ": No answer while discovering resource"); diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index 0f7bf03c06f2ea8d9485804f9c18e7b186e0d8fb..d055efbefb0e440cfbf4f89cf8a79637c7389d83 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -1353,8 +1353,8 @@ module OneM2M_Testcases_CSE_Release_2 { 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_updateRequest.primitiveContent := {pollingChannel_invalid := m_contentUpdatePollingChannel_invalid}; + v_updateRequest.primitiveContent.pollingChannel_invalid.creationTime := v_creationTime; v_ae1.start(f_CSE_DMR_UPD_007(int15, m_createPollingChannelBase, v_updateRequest));//PollingChannel v_ae1.done; @@ -1362,8 +1362,8 @@ module OneM2M_Testcases_CSE_Release_2 { 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){ + if(ischosen(v_primitiveContentRetrieveResource.pollingChannel_invalid)) { + if(v_primitiveContentRetrieveResource.pollingChannel_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") } } @@ -1384,9 +1384,9 @@ module OneM2M_Testcases_CSE_Release_2 { 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_invalid := m_contentUpdatePollingChannel_invalid}; - v_updateRequest.primitiveContent.pollingChannel_update_invalid.expirationCounter := v_expirationCounter; + v_updateRequest.primitiveContent.pollingChannel_invalid.expirationCounter := v_expirationCounter; v_ae1.start(f_CSE_DMR_UPD_009(int15, v_createRequest, v_updateRequest));//PollingChannel v_ae1.done; diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn index 5159b188c5ae3e2df2200d9231370be4e8d16b16..20e9db21e87660b0563d188884936f2d39fe69c6 100644 --- a/OneM2M_Testcases_CSE_Release_3.ttcn +++ b/OneM2M_Testcases_CSE_Release_3.ttcn @@ -4221,8 +4221,8 @@ module OneM2M_Testcases_CSE_Release_3 { var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var PrimitiveContent v_primitiveContentRetrieveResource; - v_updateRequest.primitiveContent := {schedule_update_invalid := m_contentUpdateSchedule_invalid}; - v_updateRequest.primitiveContent.schedule_update_invalid.creationTime := v_creationTime; + v_updateRequest.primitiveContent := {schedule_invalid := m_contentUpdateSchedule_invalid}; + v_updateRequest.primitiveContent.schedule_invalid.creationTime := v_creationTime; v_ae1.start(f_CSE_DMR_UPD_007(int18, m_createScheduleBase, v_updateRequest));//Schedule v_ae1.done; @@ -4230,8 +4230,8 @@ module OneM2M_Testcases_CSE_Release_3 { if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated - if(ischosen(v_primitiveContentRetrieveResource.schedule_update_invalid)) { - if(v_primitiveContentRetrieveResource.schedule_update_invalid.creationTime == v_creationTime){ + if(ischosen(v_primitiveContentRetrieveResource.schedule_invalid)) { + if(v_primitiveContentRetrieveResource.schedule_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") } } @@ -4246,8 +4246,8 @@ module OneM2M_Testcases_CSE_Release_3 { var PrimitiveContent v_primitiveContentRetrieveResource; - v_updateRequest.primitiveContent := {timeSeries_update_invalid := m_contentUpdateTimeSeries_invalid}; - v_updateRequest.primitiveContent.timeSeries_update_invalid.creationTime := v_creationTime; + v_updateRequest.primitiveContent := {timeSeries_invalid := m_contentUpdateTimeSeries_invalid}; + v_updateRequest.primitiveContent.timeSeries_invalid.creationTime := v_creationTime; v_ae1.start(f_CSE_DMR_UPD_007(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries v_ae1.done; @@ -4255,8 +4255,8 @@ module OneM2M_Testcases_CSE_Release_3 { if(getverdict == pass){ v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1); //Check that the resource has NOT been udpated - if(ischosen(v_primitiveContentRetrieveResource.timeSeries_update_invalid)) { - if(v_primitiveContentRetrieveResource.timeSeries_update_invalid.creationTime == v_creationTime){ + if(ischosen(v_primitiveContentRetrieveResource.timeSeries_invalid)) { + if(v_primitiveContentRetrieveResource.timeSeries_invalid.creationTime == v_creationTime){ setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") } } @@ -4313,9 +4313,9 @@ module OneM2M_Testcases_CSE_Release_3 { var template RequestPrimitive v_createRequest := m_createScheduleBase; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; - v_updateRequest.primitiveContent := {schedule_update_invalid := m_contentUpdateSchedule_invalid}; + v_updateRequest.primitiveContent := {schedule_invalid := m_contentUpdateSchedule_invalid}; - v_updateRequest.primitiveContent.schedule_update_invalid.expirationCounter := v_expirationCounter; + v_updateRequest.primitiveContent.schedule_invalid.expirationCounter := v_expirationCounter; v_ae1.start(f_CSE_DMR_UPD_009(int18, v_createRequest, v_updateRequest));//Schedule v_ae1.done; @@ -4329,9 +4329,9 @@ module OneM2M_Testcases_CSE_Release_3 { var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase; - v_updateRequest.primitiveContent := {timeSeries_update_invalid := m_contentUpdateTimeSeries_invalid}; + v_updateRequest.primitiveContent := {timeSeries_invalid := m_contentUpdateTimeSeries_invalid}; - v_updateRequest.primitiveContent.timeSeries_update_invalid.expirationCounter := v_expirationCounter; + v_updateRequest.primitiveContent.timeSeries_invalid.expirationCounter := v_expirationCounter; v_ae1.start(f_CSE_DMR_UPD_009(int29, v_createRequest, v_updateRequest));//TimeSeries v_ae1.done;