diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 9cbd91703600209dc3fac6d310b6d6e0dad5e64a..b60cf5d90e20ab59e5b3c75b820b73111ede4089 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -1447,7 +1447,7 @@ module OneM2M_Functions { if(vc_acpIndex != -1) { vc_resourcesIndexToBeDeleted := {vc_acpIndex};//TODO Not needed - v_request := valueof(m_createAe(p_appId, {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -)); + v_request := valueof(m_createAe(p_appId, {f_getResourceAddress(vc_acpIndex)}, -)); //Set CSEBase IUT as target v_request.to_ := f_getResourceAddress(); @@ -1909,7 +1909,7 @@ module OneM2M_Functions { } } else if (p_resourceType == int9) { //Check that group members are correctly in the group - if(not(match(v_request.primitiveContent.group_.memberIDs, vc_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs))) { + if(lengthof(v_request.primitiveContent.group_.memberIDs) != vc_response.primitive.responsePrimitive.primitiveContent.group_.currentNrOfMembers) { setverdict(inconc, __SCOPE__&":INFO: Wrong number of members in group"); } } @@ -3192,6 +3192,7 @@ module OneM2M_Functions { //Activate defaults when running on a PTC f_cse_activateDefaults_cse1(); + p_utRequest.requestPrimitive.to_ := f_getResourceAddress(); f_cse_sendUtPrimitive_cseSimu(p_utRequest, p_action); tc_ac.start; @@ -3992,6 +3993,16 @@ module OneM2M_Functions { if(v_myResource.group_.memberType != int0) { v_myResource.group_.memberTypeValidated := true;//Set initially to TRUE } + if(v_myResource.group_.memberIDs == {"NotInitialized"}) { + v_myResource.group_.memberIDs := {}; + } + v_myResource.group_.currentNrOfMembers := lengthof(v_myResource.group_.memberIDs); + if(lengthof(v_myResource.group_.memberIDs) == 0) { + v_myResource.group_.memberTypeValidated := false; + } + if(not(ispresent(p_resource.group_.semanticSupportIndicator))) { + v_myResource.group_.semanticSupportIndicator := false;//Set initially to TRUE + } } } else if(p_resourceType == int15 and ispresent(p_resource)) { //PollingChannel if(ischosen(p_resource.pollingChannel)){ @@ -5413,7 +5424,7 @@ module OneM2M_Functions { } if(ispresent(p_request.primitiveContent.container.accessControlPolicyIDs)) { if((match(valueof(p_request.primitiveContent.container.accessControlPolicyIDs), v_defaultAcpIDs )) and (isbound(vc_acpIndex))){ - p_request.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}; + p_request.primitiveContent.container.accessControlPolicyIDs := {f_getResourceAddress(vc_acpIndex)}; } } } else if (p_resourceType == int4) {//contentInstance @@ -5454,7 +5465,7 @@ module OneM2M_Functions { //accessControlPolicyIds if(ispresent(p_request.primitiveContent.subscription.accessControlPolicyIDs)) { if(match(valueof(p_request.primitiveContent.subscription.accessControlPolicyIDs), v_defaultAcpIDs )){ - p_request.primitiveContent.subscription.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}; + p_request.primitiveContent.subscription.accessControlPolicyIDs := {f_getResourceAddress(vc_acpIndex)}; } } } else if(p_resourceType == int29){//timeSeries @@ -5983,6 +5994,10 @@ module OneM2M_Functions { v_cleanedURI := f_resourceIdCleaner(p_receivedURI); + if (v_cleanedURI == "-") { + v_cleanedURI := f_getResourceName(vc_localResourcesList[vc_cSEBaseIndex].resource); + } + if (f_isHierarchical(p_receivedURI)) { log("Hierarchical method: " & v_cleanedURI); diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 974d21318baeaa6931279994f58e0495f2aeee7c..992d5dea62bd5f23daa4ca37ce848c2964027bbe 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -1212,7 +1212,7 @@ module OneM2M_Templates { template (value) RequestPrimitive m_createGroupAnncBase modifies m_create := { requestIdentifier := testcasename() & "-m_createGroupAnnc", resourceType := int10009, - primitiveContent := {groupAnnc := m_contentCreateGroupAnnc (1, {"NotInitialized"}, omit, omit)} //TODO: p_resourceId + primitiveContent := {groupAnnc := m_contentCreateGroupAnnc (omit, omit, omit, omit)} //TODO: p_resourceId }; template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers, @@ -2257,8 +2257,8 @@ module OneM2M_Templates { eventCategory := *, deliveryAggregation := *, groupRequestIdentifier := *, - filterCriteria := *, - desiredIdentifierResultType := *, + filterCriteria := omit, + desiredIdentifierResultType := omit, tokens := *, tokenIDs := *, localTokenIDs := *, @@ -2938,8 +2938,8 @@ module OneM2M_Templates { * @param p_accessControlPolicyIds ACP IDs for the GroupAnnc * @param p_name Resource name */ - template (value) GroupAnnc_optional m_contentCreateGroupAnnc ( in template (value) XSD.PositiveInteger p_maxNrOfMembers, - in template (value) ListOfURIs p_memberIds, + template (value) GroupAnnc_optional m_contentCreateGroupAnnc ( in template (omit) XSD.PositiveInteger p_maxNrOfMembers, + in template (omit) ListOfURIs p_memberIds, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) MemberType p_memberType := omit, in template (omit) ConsistencyStrategy p_consistencyStrategy := omit, @@ -3683,7 +3683,7 @@ module OneM2M_Templates { announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//O - contentInfo := "text/strings:0",//O + contentInfo := "application/text:1",//O contentSize := omit,//NP contentRef := omit, //O ontologyRef := omit,//O @@ -6549,7 +6549,7 @@ module OneM2M_Templates { template PollingChannel_optional mw_contentPollingChannel_rc8 modifies mw_contentPollingChannel_allOmit := { choice := {choice_list := ?} //O } - + template (value) RemoteCSE_optional m_contentRemoteCSE_allOmit := { resourceName := omit,//M resourceType := omit,//M @@ -7189,6 +7189,7 @@ module OneM2M_Templates { template (value) Notification m_contentNotification_subscriptionVerification(XSD.ID p_creator) modifies m_contentNotification_allOmit:= { verificationRequest := true, + subscriptionReference := "MySubscription", creator := p_creator }; diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index c80e79eddd4a45d334ce294d4b7418f2d877e84a..e6668ee28e66ca54f7f6a945c735ebdda3db9941 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -1542,7 +1542,7 @@ 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_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceAddress(v_resourceIndex)}; v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); @@ -1783,7 +1783,7 @@ 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_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceAddress(v_resourceIndex)}; v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); @@ -2040,7 +2040,7 @@ 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_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceAddress(v_resourceIndex)}; v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); @@ -2290,7 +2290,7 @@ 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_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceAddress(v_resourceIndex)}; v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); @@ -3439,7 +3439,7 @@ module OneM2M_PermutationFunctions { f_cse_createAccessControlPolicyAux(-, -, int60);//c_UDNDi); } - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -); // Test Body if(p_resourceType != int18) { @@ -3921,6 +3921,7 @@ module OneM2M_PermutationFunctions { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; + if(p_parentResourceType == int3){ if(v_response.primitive.responsePrimitive.primitiveContent.container.currentByteSize == 8) { //Default content: "AnyValue" (8 bytes length) setverdict(pass, __SCOPE__ & ": CurrentByteSize attribute in content resource is incremented successfully"); } @@ -3928,6 +3929,7 @@ module OneM2M_PermutationFunctions { setverdict(fail, __SCOPE__ & ": CurrentByteSize attribute in content resource not incremented successfully"); } } + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); @@ -4560,7 +4562,7 @@ module OneM2M_PermutationFunctions { // Preamble if(p_resourceType != int1) { f_cse_createAccessControlPolicyAux(-, -, int61);//c_CRUDNDi) - p_requestPrimitive := f_setAcpId(p_requestPrimitive, {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}); + p_requestPrimitive := f_setAcpId(p_requestPrimitive, {f_getResourceAddress(vc_acpIndex)}); } v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi; @@ -6291,7 +6293,7 @@ module OneM2M_PermutationFunctions { f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType); if(p_resourceType != int1) { - p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive,{f_getResourceId(vc_resourcesList[vc_acpIndex].resource)});//c_CRDNDi); + p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive,{f_getResourceAddress(vc_acpIndex)});//c_CRDNDi); } if(p_resourceType != int18) { v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent @@ -6646,9 +6648,10 @@ module OneM2M_PermutationFunctions { v_acp1Index := f_cse_createResource(int1, m_createAcp("MyAcp1"), vc_aeIndex); v_acp2Index := f_cse_createResource(int1, m_createAcp("MyAcp2"), vc_aeIndex); - p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive,{f_getResourceId(vc_resourcesList[v_acp1Index].resource)}); - p_updateRequestPrimitive := f_setAcpId(p_updateRequestPrimitive,{f_getResourceId(vc_resourcesList[v_acp2Index].resource)}); + p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive,{f_getResourceAddress(v_acp1Index)}); + p_updateRequestPrimitive := f_setAcpId(p_updateRequestPrimitive,{f_getResourceAddress(v_acp2Index)}); + infoPort.send(f_getResourceAddress(lengthof(vc_resourcesList)-1, e_nonHierarchical)) to mtc; } v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, vc_aeIndex); @@ -6840,7 +6843,7 @@ module OneM2M_PermutationFunctions { v_ae2Index := f_getResourceFromAeSimu(vc_ae2); if(ispresent(v_request.primitiveContent.group_.memberIDs)) { - v_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_ae2Index].resource)}; + v_request.primitiveContent.group_.memberIDs := {f_getResourceAddress(v_ae2Index)}; } } @@ -7427,7 +7430,7 @@ module OneM2M_PermutationFunctions { if(p_resourceType == int1) { 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[vc_acpIndex].resource)}); + p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive, {f_getResourceAddress(vc_acpIndex)}); } //Creation of resource @@ -8216,8 +8219,8 @@ module OneM2M_PermutationFunctions { v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; - v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_memberIDs := {f_getResourceAddress(v_containerIndex_1), f_getResourceAddress(v_containerIndex_2)}; + v_membersAcpIds := {f_getResourceAddress(v_acpIndex)}; v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, v_membersAcpIds, -), v_aeIndex); // AE child resource p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; @@ -8291,8 +8294,8 @@ module OneM2M_PermutationFunctions { v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; - v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_memberIDs := {f_getResourceAddress(v_containerIndex_1), f_getResourceAddress(v_containerIndex_2)}; + v_membersAcpIds := {f_getResourceAddress(v_acpIndex)}; v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, v_membersAcpIds), v_aeIndex); // AE child resource p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; @@ -8356,8 +8359,8 @@ module OneM2M_PermutationFunctions { v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; - v_acpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_memberIDs := {f_getResourceAddress(v_containerIndex_1), f_getResourceAddress(v_containerIndex_2)}; + v_acpIds := {f_getResourceAddress(v_acpIndex)}; v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, v_acpIds, int3, -, -), v_aeIndex); // AE child resource p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; @@ -8431,8 +8434,8 @@ module OneM2M_PermutationFunctions { v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; - v_acpIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_memberIDs := {f_getResourceAddress(v_containerIndex_1), f_getResourceAddress(v_containerIndex_2)}; + v_acpIDs := {f_getResourceAddress(v_acpIndex)}; v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, v_acpIDs, int3), v_aeIndex); // AE child resource p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; @@ -8494,7 +8497,7 @@ module OneM2M_PermutationFunctions { // Preamble v_acpIndex := f_cse_createResource(int1, v_createAcp, -); // AE child resource - v_acpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_acpIds := {f_getResourceAddress(v_acpIndex)}; v_aeIndex_1 := f_cse_preamble_registerAe(v_acpIds, -); //c_CRUDNDi @@ -8506,7 +8509,7 @@ module OneM2M_PermutationFunctions { v_aeIndex_2 := f_getLatestResource(vc_ae2); - v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)}; + v_memberIDs := {f_getResourceAddress(v_aeIndex_1), f_getResourceAddress(v_aeIndex_2)}; v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_acpIds), v_aeIndex_1); // AE child resource p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt"; @@ -8585,7 +8588,7 @@ module OneM2M_PermutationFunctions { // Preamble v_acpIndex := f_cse_createResource(int1, v_createAcp, -); // AE child resource - v_acpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_acpIds := {f_getResourceAddress(v_acpIndex)}; v_aeIndex_1 := f_cse_preamble_registerAe(v_acpIds, -); //c_CRUDNDi @@ -8607,8 +8610,8 @@ module OneM2M_PermutationFunctions { f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); - v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_ae2LocalIndex].resource)}; - //v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_memberIDs := {f_getResourceAddress(v_aeIndex_1), f_getResourceAddress(v_ae2LocalIndex)}; + //v_membersAcpIds := {f_getResourceAddress(v_acpIndex)}; v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_acpIds, -), v_aeIndex_1); p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName; @@ -9254,7 +9257,7 @@ module OneM2M_PermutationFunctions { // Preamble v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex)}, -); vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, -), -1)); // AE2 is registred f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); @@ -9323,7 +9326,7 @@ module OneM2M_PermutationFunctions { v_acpIndex1 := f_cse_createResource(int1, m_createAcp("MyAcp1")); // CSE child resource v_acpIndex2 := f_cse_createResource(int1, m_createAcp("MyAcp2")); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex1].resource), f_getResourceId(vc_resourcesList[v_acpIndex2].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex1), f_getResourceAddress(v_acpIndex2)}, -); v_accessControlRule_1 := valueof(m_createAcr({f_getOriginator(v_aeIndex)}, int3)); // c_CR v_setOfArcs.accessControlRule_list := {v_accessControlRule_1}; @@ -9388,7 +9391,7 @@ module OneM2M_PermutationFunctions { v_createRequest := valueof(m_createAcp( -, {"testDomain"}, -)); v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex)}, -); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -9462,7 +9465,7 @@ module OneM2M_PermutationFunctions { v_createRequest := f_getCreateRequestPrimitive(int1, m_createAcpBase, -1); v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex)}, -); vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, -), -1)); // AE2 is registred f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); @@ -9524,7 +9527,7 @@ module OneM2M_PermutationFunctions { v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule}; vc_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -9593,7 +9596,7 @@ module OneM2M_PermutationFunctions { v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule}; vc_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -9655,7 +9658,7 @@ module OneM2M_PermutationFunctions { v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource //TODO How to indicate the location of the Originator (AE1)? - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex)}, -); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -9712,7 +9715,7 @@ module OneM2M_PermutationFunctions { v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource //TODO How to indicate the location of the Originator (AE1)? - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex)}, -); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -9767,7 +9770,7 @@ module OneM2M_PermutationFunctions { v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule}; vc_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn)}); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn)}); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -9827,7 +9830,7 @@ module OneM2M_PermutationFunctions { v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule}; vc_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn)}); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn)}); // Test Body p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); @@ -9937,7 +9940,7 @@ module OneM2M_PermutationFunctions { // Preamble v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex)}, -); v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_AE_ID}, int63)); @@ -12014,9 +12017,9 @@ module OneM2M_PermutationFunctions { // Preamble f_cse_createAccessControlPolicyAux(-, -, int63);//c_CUDNDi) - v_aeIndex1 := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);//c_CRDNDi); + v_aeIndex1 := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -);//c_CRDNDi); - vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, -), -1)); // AE2 is registred + vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, {f_getResourceAddress(vc_acpIndex)}, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, -), -1)); // AE2 is registred f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); v_aeIndex2 := f_getResourceFromAeSimu(vc_ae2); diff --git a/OneM2M_TestControl_IN_profile.ttcn b/OneM2M_TestControl_IN_profile.ttcn index 1a13f507dd5021111af069bd2ae627b7c6a7ab38..d5253ade5d4c5a53b5aa634ac5e1adb6d149a3ee 100644 --- a/OneM2M_TestControl_IN_profile.ttcn +++ b/OneM2M_TestControl_IN_profile.ttcn @@ -281,18 +281,15 @@ module OneM2M_TestControl_IN_profile { if(PICS_CNT_CR) {execute (TC_CSE_DMR_CRE_012_CNT_CR());} if(true) {execute (TC_CSE_DMR_CRE_005_MNI());} - if(true) {execute (TC_CSE_DMR_CRE_006_MNI());} if(PICS_CNT_MNI) {execute (TC_CSE_DMR_CRE_012_CNT_MNI());} if(PICS_CNT_MNI) {execute (TC_CSE_DMR_UPD_014_CNT_MNI());} if(PICS_CNT_MNI) {execute (TC_CSE_DMR_UPD_015_CNT_MNI());} if(true) {execute (TC_CSE_DMR_CRE_005_MBS());} - if(true) {execute (TC_CSE_DMR_CRE_006_MBS());} if(PICS_CNT_MBS) {execute (TC_CSE_DMR_CRE_012_CNT_MBS());} if(true) {execute (TC_CSE_DMR_CRE_013_CNT_CIN());} if(PICS_CNT_MBS) {execute (TC_CSE_DMR_UPD_014_CNT_MBS());} if(PICS_CNT_MBS) {execute (TC_CSE_DMR_UPD_015_CNT_MBS());} if(true) {execute (TC_CSE_DMR_CRE_005_MIA());} - if(true) {execute (TC_CSE_DMR_CRE_006_MIA());} if(PICS_CNT_MIA) {execute (TC_CSE_DMR_CRE_012_CNT_MIA());} if(PICS_CNT_MIA) {execute (TC_CSE_DMR_UPD_014_CNT_MIA());} if(PICS_CNT_MIA) {execute (TC_CSE_DMR_UPD_015_CNT_MIA());} diff --git a/OneM2M_TestControl_MN_profile.ttcn b/OneM2M_TestControl_MN_profile.ttcn index c52650d65cb86a48b4ae674d6832f82513bdd203..5088230865bd9cbb6bca14fce9acbe328d3234d5 100644 --- a/OneM2M_TestControl_MN_profile.ttcn +++ b/OneM2M_TestControl_MN_profile.ttcn @@ -295,18 +295,15 @@ module OneM2M_TestControl_MN_profile { if(PICS_CNT_CR) {execute (TC_CSE_DMR_CRE_012_CNT_CR());} if(true) {execute (TC_CSE_DMR_CRE_005_MNI());} - if(true) {execute (TC_CSE_DMR_CRE_006_MNI());} if(PICS_CNT_MNI) {execute (TC_CSE_DMR_CRE_012_CNT_MNI());} if(PICS_CNT_MNI) {execute (TC_CSE_DMR_UPD_014_CNT_MNI());} if(PICS_CNT_MNI) {execute (TC_CSE_DMR_UPD_015_CNT_MNI());} if(true) {execute (TC_CSE_DMR_CRE_005_MBS());} - if(true) {execute (TC_CSE_DMR_CRE_006_MBS());} if(PICS_CNT_MBS) {execute (TC_CSE_DMR_CRE_012_CNT_MBS());} if(true) {execute (TC_CSE_DMR_CRE_013_CNT_CIN());} if(PICS_CNT_MBS) {execute (TC_CSE_DMR_UPD_014_CNT_MBS());} if(PICS_CNT_MBS) {execute (TC_CSE_DMR_UPD_015_CNT_MBS());} if(true) {execute (TC_CSE_DMR_CRE_005_MIA());} - if(true) {execute (TC_CSE_DMR_CRE_006_MIA());} if(PICS_CNT_MIA) {execute (TC_CSE_DMR_CRE_012_CNT_MIA());} if(PICS_CNT_MIA) {execute (TC_CSE_DMR_UPD_014_CNT_MIA());} if(PICS_CNT_MIA) {execute (TC_CSE_DMR_UPD_015_CNT_MIA());} diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn index a1a152fce4ea0da1cfcb81c882d2cc827b613c22..b24eb16e9ddd93068b4ec09a11e5c1d2f3fe4f70 100644 --- a/OneM2M_Testcases_CSE_Release_1.ttcn +++ b/OneM2M_Testcases_CSE_Release_1.ttcn @@ -4168,71 +4168,6 @@ module OneM2M_Testcases_CSE_Release_1 { }// end group g_CSE_DMR_CRE_005 - group g_CSE_DMR_CRE_006 { - - /** - * @desc Check that the IUT returns a default value to RW ATTRIBUTE in the response of a <container> CREATE Request where no a RW ATTRIBUTE is provided by AE - * - */ - testcase TC_CSE_DMR_CRE_006_MNI() runs on Tester system CseSystem { - // Local variables - var verdicttype v_verdict; - 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 -> value v_verdict; - - - - if(v_verdict == 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_MBS() runs on Tester system CseSystem { - // Local variables - var verdicttype v_verdict; - 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 -> value v_verdict; - - - - if(v_verdict == 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_MIA() runs on Tester system CseSystem { - // Local variables - var verdicttype v_verdict; - 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 -> value v_verdict; - - - - if(v_verdict == 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 { @@ -8367,7 +8302,7 @@ module OneM2M_Testcases_CSE_Release_1 { // Preamble f_cse_createAccessControlPolicyAux(-, -, int61);//c_CUDNDi) - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);//c_CRDNDi); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -);//c_CRDNDi); v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription @@ -9179,7 +9114,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_acpIndex2 := f_cse_createResource(int1, v_createRequestAcp2); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex1].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex1)}, -); v_accessControlRule_1 := valueof(m_createAcr({f_getOriginator(v_aeIndex)}, int59)); // c_CRDNDi v_accessControlRule_2 := valueof(m_createAcr({PX_SUPER_AE_ID, f_getOriginator(v_aeIndex)}, int63)); // c_CRUDNDi @@ -9190,7 +9125,7 @@ module OneM2M_Testcases_CSE_Release_1 { // Test Body v_updateRequest := valueof(m_updateAeBase); - v_updateRequest.primitiveContent.aE.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex2].resource)}; + v_updateRequest.primitiveContent.aE.accessControlPolicyIDs := {f_getResourceAddress(v_acpIndex2)}; v_updateRequest := f_getUpdateRequestPrimitive(int1, v_aeIndex, v_updateRequest); f_send(e_mcaPort, m_request(v_updateRequest)); @@ -9216,7 +9151,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_aeIndex); if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.aE)) { - if(not match (f_resourceIdCleaner(v_primitiveContentRetrievedResource.aE.accessControlPolicyIDs[0]), v_updateRequest.primitiveContent.aE.accessControlPolicyIDs[0])){ + if(not f_compareURIs(v_acpIndex2, v_primitiveContentRetrievedResource.aE.accessControlPolicyIDs[0])){ setverdict(fail, __SCOPE__ & ": Error: Access Control policy ID attribute not updated correctly"); } } @@ -9271,7 +9206,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_acpIndex2 := f_cse_createResource(int1, v_createRequestAcp2); // CSE child resource - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpIndex1].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(v_acpIndex1)}, -); v_accessControlRule_1 := valueof(m_createAcr({f_getOriginator(v_aeIndex)}, int63)); // c_CRDNDi v_accessControlRule_2 := valueof(m_createAcr({PX_SUPER_AE_ID, f_getOriginator(v_aeIndex)}, int59)); // c_CRUDNDi @@ -9282,7 +9217,7 @@ module OneM2M_Testcases_CSE_Release_1 { // Test Body v_updateRequest := valueof(m_updateAeBase); - v_updateRequest.primitiveContent.aE.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex2].resource)}; + v_updateRequest.primitiveContent.aE.accessControlPolicyIDs := {f_getResourceAddress(v_acpIndex2)}; v_updateRequest := f_getUpdateRequestPrimitive(int1, v_aeIndex, v_updateRequest); f_send(e_mcaPort, m_request(v_updateRequest)); @@ -10132,7 +10067,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_resourceIndex := f_cse_createResource(c_containerResourceType, v_requestPrimitive, v_aeIndex); - v_requestPrimitive := f_setAcpId(v_requestPrimitive, {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}); + v_requestPrimitive := f_setAcpId(v_requestPrimitive, {f_getResourceAddress(vc_acpIndex)}); v_childResourceIndex := f_cse_createResource(c_containerResourceType, v_requestPrimitive, v_resourceIndex); v_request := valueof(m_retrieveFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1)); @@ -10409,12 +10344,12 @@ module OneM2M_Testcases_CSE_Release_1 { // Preamble f_cse_createAccessControlPolicyAux(-, -);//c_CRUDNDi) - //v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}); + //v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}); v_aeIndex := f_cse_preamble_registerAe(); f_cse_updateAcpAuxResource(int31); //Not include DISCOVERY permission - v_createRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}; + v_createRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceAddress(vc_acpIndex)}; v_createRequest.primitiveContent.container.labels := v_labels; v_resourceIndex := f_cse_createResource(c_containerResourceType, v_createRequest, v_aeIndex); @@ -10645,7 +10580,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_containerIndex_1 := f_cse_createResource(int3, v_createContainerRequest_1, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, v_createContainerRequest_2, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; + v_memberIDs := {f_getResourceAddress(v_containerIndex_1), f_getResourceAddress(v_containerIndex_2)}; v_createRequest := valueof(m_createGroup(c_maxNrOfMembers, v_memberIDs, omit, int3)); @@ -10821,7 +10756,7 @@ module OneM2M_Testcases_CSE_Release_1 { // Preamble v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi. v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); // AE child resource - v_memberID := f_getResourceId(vc_resourcesList[v_containerIndex].resource); + v_memberID := f_getResourceAddress(v_containerIndex); v_createRequest := valueof(m_createGroup(2, {v_memberID, v_memberID}, omit, int3)); v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); @@ -10833,11 +10768,11 @@ module OneM2M_Testcases_CSE_Release_1 { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Resource created successfully"); - if(not match({v_memberID}, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ - setverdict(fail, __SCOPE__ & ": Error, presence of duplicate member IDs "); - } if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) { setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); + } + if(not f_compareURIs(v_containerIndex, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0])){ + setverdict(fail, __SCOPE__ & ": Error, presence of duplicate member IDs "); } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { @@ -10887,7 +10822,7 @@ module OneM2M_Testcases_CSE_Release_1 { // Preamble v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); // AE child resource - v_createRequest := valueof(m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, omit, int3)); //Member type is set to Container + v_createRequest := valueof(m_createGroup(2, {f_getResourceAddress(v_containerIndex)}, omit, int3)); //Member type is set to Container v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); // Test Body @@ -10954,7 +10889,7 @@ module OneM2M_Testcases_CSE_Release_1 { // Preamble v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); // AE child resource - v_createRequest := valueof(m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, omit, int2, int3)); //Member type is set to AE and consistencyStrategy is set to MIXED + v_createRequest := valueof(m_createGroup(2, {f_getResourceAddress(v_containerIndex)}, omit, int2, int3)); //Member type is set to AE and consistencyStrategy is set to MIXED v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); // Test Body @@ -11035,7 +10970,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex); v_groupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); - v_memberIDs := {f_getResourceId(vc_resourcesList[v_groupIndex].resource), f_getResourceId(vc_resourcesList[v_containerIndex].resource)}; + v_memberIDs := {f_getResourceAddress(v_groupIndex), f_getResourceAddress(v_containerIndex)}; v_createRequest := valueof(m_createGroup(2, v_memberIDs, omit, int3, int1, -, -)); //Member type is set to container and consistencyStrategy is set to ABANDON MEMBER (default value) v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); @@ -11060,7 +10995,7 @@ module OneM2M_Testcases_CSE_Release_1 { setverdict(fail, __SCOPE__ & ": Error, memberIDs attribute not provided"); } else { - if(not match({f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ + if(not f_compareURIs(v_containerIndex, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0])){ setverdict(fail, __SCOPE__ & ": Error, memberIDs attribute not correct"); } } @@ -11117,7 +11052,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex); v_groupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); - v_memberIDs := {f_getResourceId(vc_resourcesList[v_groupIndex].resource), f_getResourceId(vc_resourcesList[v_containerIndex].resource)}; + v_memberIDs := {f_getResourceAddress(v_groupIndex), f_getResourceAddress(v_containerIndex)}; v_createRequest := valueof(m_createGroup(2, v_memberIDs, omit, int3, int2, -, -)); //Member type is set to container and consistencyStrategy is set to ABANDON GROUP v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex); @@ -11199,13 +11134,13 @@ module OneM2M_Testcases_CSE_Release_1 { // Preamble v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource - v_containerRequestPrimitive := f_setAcpId(v_containerRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}); + v_containerRequestPrimitive := f_setAcpId(v_containerRequestPrimitive, {f_getResourceAddress(v_acpIndex)}); v_containerIndex_1 := f_cse_createResource(int3, v_containerRequestPrimitive, v_aeIndex_1); // AE1 child resource v_containerIndex_2 := f_cse_createResource(int3, v_containerRequestPrimitive, v_aeIndex_1); // AE2 child resource v_contentInstanceIndex_1 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex_1); // Container_1 child resource v_contentInstanceIndex_2 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex_2); // Container_2 child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; - v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}; + v_memberIDs := {f_getResourceAddress(v_containerIndex_1), f_getResourceAddress(v_containerIndex_2)}; + v_membersAcpIds := {f_getResourceAddress(v_acpIndex)}; v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, v_membersAcpIds), -1); v_fanoutPointAddress := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_resourceShortNameLatest; @@ -11314,7 +11249,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); - v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3, -, - , -), v_aeIndex); + v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceAddress(v_containerIndex_1)}, omit, int3, -, - , -), v_aeIndex); v_updateRequest.primitiveContent.group_.memberIDs := {v_containerAddress_2}; v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); // creating group @@ -11389,8 +11324,8 @@ module OneM2M_Testcases_CSE_Release_1 { v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex_1].resource); - v_memberId_2 := f_getResourceId(vc_resourcesList[v_containerIndex_2].resource); + v_memberId_1 := f_getResourceAddress(v_containerIndex_1); + v_memberId_2 := f_getResourceAddress(v_containerIndex_2); v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1, v_memberId_2}, omit, -, -, -, -), v_aeIndex); // AE child resource v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_2}; @@ -11412,7 +11347,7 @@ module OneM2M_Testcases_CSE_Release_1 { if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) { setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); } - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] != v_memberId_2){ + if(not(f_compareURIs(v_containerIndex_2, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0]))){ setverdict(fail, __SCOPE__ & ": Error, memberIDs attribute not correct"); } } @@ -11429,11 +11364,13 @@ module OneM2M_Testcases_CSE_Release_1 { setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } - + + f_checkAeSimuStatus(); + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ - if(v_primitiveContentRetrievedResource.group_.memberIDs[0] != v_memberId_2){ + if(not(f_compareURIs(v_containerIndex_2, v_primitiveContentRetrievedResource.group_.memberIDs[0]))){ setverdict(fail, __SCOPE__ & ": Error, memberIDs attribute not updated"); } } @@ -11481,9 +11418,9 @@ module OneM2M_Testcases_CSE_Release_1 { v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3, -, -, -), v_aeIndex); + v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceAddress(v_containerIndex_1)}, omit, int3, -, -, -), v_aeIndex); - v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; + v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceAddress(v_containerIndex_2)}; v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); // Test Body @@ -11516,6 +11453,8 @@ module OneM2M_Testcases_CSE_Release_1 { } } + f_checkAeSimuStatus(); + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ @@ -11569,8 +11508,8 @@ module OneM2M_Testcases_CSE_Release_1 { v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); - v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource); - v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource); + v_memberId_1 := f_getResourceAddress(v_containerIndex); + v_memberId_2 := f_getResourceAddress(v_subGroupIndex); v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int3, -, -), v_aeIndex); //Member type is set to Container (int3) and consistencyStrategy is set to MIXED (int3) v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_1, v_memberId_2}; @@ -11618,6 +11557,8 @@ module OneM2M_Testcases_CSE_Release_1 { } } + f_checkAeSimuStatus(); + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ @@ -11675,8 +11616,8 @@ module OneM2M_Testcases_CSE_Release_1 { v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); - v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource); - v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource); + v_memberId_1 := f_getResourceAddress(v_containerIndex); + v_memberId_2 := f_getResourceAddress(v_subGroupIndex); v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int1), v_aeIndex); //Member type is set to Container (int3) and consistencyStrategy is set to ABANDON MEMBER (default value) v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_1}; @@ -11709,7 +11650,7 @@ module OneM2M_Testcases_CSE_Release_1 { if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) { setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); } - if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] != v_memberId_1){ + if(not(f_compareURIs(v_containerIndex, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0]))){ setverdict(fail, __SCOPE__ & ": Error, memberIDs attribute not correct"); } } @@ -11727,6 +11668,8 @@ module OneM2M_Testcases_CSE_Release_1 { } } + f_checkAeSimuStatus(); + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ @@ -11734,7 +11677,7 @@ module OneM2M_Testcases_CSE_Release_1 { setverdict(fail, __SCOPE__ & ": Error, memberTypeValidated attribute not updated"); } - if(v_primitiveContentRetrievedResource.group_.memberIDs[0] != v_memberId_1){ + if(not(f_compareURIs(v_containerIndex, v_primitiveContentRetrievedResource.group_.memberIDs[0]))){ setverdict(fail, __SCOPE__ & ": Error, memberIDs attribute not correct"); } } @@ -11783,8 +11726,8 @@ module OneM2M_Testcases_CSE_Release_1 { v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex); - v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource); - v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource); + v_memberId_1 := f_getResourceAddress(v_containerIndex); + v_memberId_2 := f_getResourceAddress(v_subGroupIndex); v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int2), v_aeIndex); //Member type is set to Container(int3) and consistencyStrategy is set to ABANDON GROUP (default value) v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_1}; @@ -11862,7 +11805,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_3 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; + v_memberIDs := {f_getResourceAddress(v_containerIndex_1), f_getResourceAddress(v_containerIndex_2)}; v_createRequest := valueof(m_createGroup(c_maxNrOfMembers, v_memberIDs, omit, int3)); @@ -11870,7 +11813,7 @@ module OneM2M_Testcases_CSE_Release_1 { //Test Body v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); - v_memberIDs := v_memberIDs & {f_getResourceId(vc_resourcesList[v_containerIndex_3].resource)}; + v_memberIDs := v_memberIDs & {f_getResourceAddress(v_containerIndex_3)}; v_request.primitiveContent.group_.memberIDs := v_memberIDs; f_send(e_mcaPort, m_request(v_request)); @@ -11893,6 +11836,8 @@ module OneM2M_Testcases_CSE_Release_1 { } } + f_checkAeSimuStatus(); + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); if(getverdict == pass){ //Check that the resource has NOT been udpated @@ -11949,7 +11894,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)}; + v_memberIDs := {f_getResourceAddress(v_containerIndex_1), f_getResourceAddress(v_containerIndex_2)}; v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3), v_aeIndex); v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); @@ -11975,6 +11920,8 @@ module OneM2M_Testcases_CSE_Release_1 { } } + f_checkAeSimuStatus(); + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); if(getverdict == pass){ //Check that the resource has NOT been udpated @@ -12049,7 +11996,7 @@ module OneM2M_Testcases_CSE_Release_1 { v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex_1].resource); + v_memberId_1 := f_getResourceAddress(v_containerIndex_1); v_createRequest := valueof(m_createGroup(c_maxNrOfMembers, {v_memberId_1}, omit, int3)); @@ -12092,6 +12039,8 @@ module OneM2M_Testcases_CSE_Release_1 { } } + f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1); + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); if(getverdict == pass){ if(ischosen(v_primitiveContentRetrievedResource.group_)){ @@ -12160,8 +12109,8 @@ module OneM2M_Testcases_CSE_Release_1 { v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource - v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex_1].resource); - v_memberId_2 := f_getResourceId(vc_resourcesList[v_containerIndex_2].resource); + v_memberId_1 := f_getResourceAddress(v_containerIndex_1); + v_memberId_2 := f_getResourceAddress(v_containerIndex_2); v_createRequest := valueof(m_createGroup(c_maxNrOfMembers, {v_memberId_1, v_memberId_2}, omit, int3)); diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index 8f1f92d6e02b7aa447c3168bd8e31637bde41784..266a46127dd449ec0363bfe1b6d917516a897b86 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -699,68 +699,7 @@ module OneM2M_Testcases_CSE_Release_2 { } }// 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 verdicttype v_verdict; - 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 -> value v_verdict; - - if(v_verdict == 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 verdicttype v_verdict; - 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 -> value v_verdict; - - if(v_verdict == 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 verdicttype v_verdict; - 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 -> value v_verdict; - - if(v_verdict == 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_015 { /** @@ -1027,7 +966,7 @@ module OneM2M_Testcases_CSE_Release_2 { //Provided attributes should not be returned unless modified v_contentResponse.group_.resourceName := omit; v_contentResponse.group_.maxNrOfMembers := omit; - v_contentResponse.group_.memberIDs := omit; + v_contentResponse.group_.memberIDs := *; v_ae1.start(f_CSE_DMR_CRE_020(int9, m_createGroupBase, v_contentResponse));//Group v_ae1.done; @@ -3361,7 +3300,7 @@ module OneM2M_Testcases_CSE_Release_2 { f_cse_createAccessControlPolicyAux(); - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);//AE1 is registred; + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -);//AE1 is registred; v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex); @@ -3474,7 +3413,7 @@ module OneM2M_Testcases_CSE_Release_2 { f_cse_createAccessControlPolicyAux(); - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);//AE1 is registred; + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -);//AE1 is registred; v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex); @@ -3585,7 +3524,7 @@ module OneM2M_Testcases_CSE_Release_2 { f_cse_createAccessControlPolicyAux(); - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);//AE1 is registred; + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -);//AE1 is registred; v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex); @@ -3813,7 +3752,7 @@ module OneM2M_Testcases_CSE_Release_2 { f_cse_createAccessControlPolicyAux(); - v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);//AE1 is registred; + v_aeIndex := f_cse_preamble_registerAe({f_getResourceAddress(vc_acpIndex)}, -);//AE1 is registred; v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);