diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 2a1974f2a63b9a4d9b0ddce0747b0a549a63dece..1423264ce617588b6acd3d08efbbcd55403b33bd 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -258,6 +258,18 @@ module OneM2M_Templates { } }; + //@ACV + /** + * @desc Base UPDATE request primitive for ContentInstance resource + */ + template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= { + from_ := PX_AE_ID_STEM, + requestIdentifier := "m_updateContentInstance" & f_rnd(1, 1000000), + primitiveContent:= { + any_1 := {{ContentInstance_optional := m_contentUpdateContentInstance}} + } + }; + /** * @desc Base UPDATE request primitive for AccessControlPolicy resource */ @@ -540,15 +552,16 @@ module OneM2M_Templates { } }; + //@ACV /** - * @desc Reception template for CREATE ContainerAnnc + * @desc Base Reception template for CREATE ContainerAnnc */ - template RequestPrimitive mw_createContainerAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { resourceType := int10003, primitiveContent := { - any_1 := {{ContainerAnnc_optional := ?}} + any_1 := {{ContainerAnnc_optional := mw_contentCreateContainerAnncBase()}} } - }; + }; /** * @desc Reception template for CREATE FlexContainer @@ -601,6 +614,17 @@ module OneM2M_Templates { any_1 := {{ContentInstanceAnnc_optional := ?}} } }; + + //@ACV + /** + * @desc Base Reception template for CREATE ContentInstanceAnnc + */ + template RequestPrimitive mw_createContentInstanceAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + resourceType := int10014, + primitiveContent := { + any_1 := {{ContentInstanceAnnc_optional := mw_contentCreateContentInstanceAnncBase()}} + } + }; /** @@ -637,6 +661,17 @@ module OneM2M_Templates { any_1 := {{GroupAnnc_optional := ?}} } }; + + //@ACV + /** + * @desc Base Reception template for CREATE GroupAnnc + */ + template RequestPrimitive mw_createGroupAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + resourceType := int10009, + primitiveContent := { + any_1 := {{GroupAnnc_optional := mw_contentCreateGroupAnncBase()}} + } + }; /** * @desc Base CREATE request primitive for MgmtObj resource @@ -670,6 +705,17 @@ module OneM2M_Templates { } }; + //@ACV + /** + * @desc Base Reception template for CREATE MgmtObjAnnc + */ + template RequestPrimitive mw_createMgmtObjAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + resourceType := int10013, + primitiveContent := { + any_1 := {{MgmtObjAnnc_optional := mw_contentCreateMgmtObjAnncBase()}} + } + }; + /** * @desc Base CREATE request primitive for Node resource */ @@ -753,6 +799,17 @@ module OneM2M_Templates { any_1 := {{ScheduleAnnc_optional := ?}} } }; + + //@ACV + /** + * @desc Base Reception template for CREATE ScheduleAnnc + */ + template RequestPrimitive mw_createScheduleAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + resourceType := int10018, + primitiveContent := { + any_1 := {{ScheduleAnnc_optional := mw_contentCreateScheduleAnncBase()}} + } + }; //Added by @Naum template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := { @@ -819,7 +876,20 @@ module OneM2M_Templates { primitiveContent := { any_1 := {{LocationPolicyAnnc_optional := ?}} } - }; + }; + + //@ACV + /** + * @desc Base Reception template for CREATE LocationPolicyAnnc + */ + template RequestPrimitive mw_createLocationPolicyAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := { + resourceType := int10010, + primitiveContent := { + any_1 := {{LocationPolicyAnnc_optional := mw_contentCreateLocationPolicyAnncBase()}} + } + }; + + //@Martin template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := { requestIdentifier := testcasename() & "-m_createNotification" & f_rnd(1, 1000000), @@ -1184,6 +1254,33 @@ module OneM2M_Templates { choice := omit//NP }; + //@ACV + /** + * @desc Base reception template of primitiveContent for CREATE operation for GroupAnnc resource + */ + template GroupAnnc_optional mw_contentCreateGroupAnncBase () := { + resourceName := omit,//NA M + resourceType := omit,//NA M + resourceID := omit,//NA M + parentID := omit,//NA M + creationTime := omit,//NA M + lastModifiedTime := omit,//NA M + labels := ?,//MA + accessControlPolicyIDs := ?,//MA + expirationTime := ?,//MA M + link := ?, + dynamicAuthorizationConsultationIDs := *, //OA + memberType := *, //OA + currentNrOfMembers := *, //OA + maxNrOfMembers := *, //OA + memberIDs := *, //OA + membersAccessControlPolicyIDs := *, //OA + memberTypeValidated := *, //OA + consistencyStrategy := *, //OA + groupName := *, //OA + choice := omit //NA + }; + /** * @desc Base primitiveContent for CREATE operation for MgmtObj resource * @param p_name Resource name @@ -1209,6 +1306,28 @@ module OneM2M_Templates { description := omit//O }; + //@ACV + /** + * @desc Base reception template of primitiveContent for CREATE operation for MgmtObjAnnc resource + */ + template MgmtObjAnnc_optional mw_contentCreateMgmtObjAnncBase () := { + resourceName := omit,//NA M + resourceType := omit,//NA M + resourceID := omit,//NA M + parentID := omit,//NA M + creationTime := omit,//NA M + lastModifiedTime := omit,//NA M + labels := ?,//MA + accessControlPolicyIDs := ?,//MA + expirationTime := ?,//MA M + link := ?, + dynamicAuthorizationConsultationIDs := *, //OA + mgmtDefinition := ?, //MA + objectIDs := *, //OA + objectPaths := *, //OA + description := * //OA + }; + /** * @desc Base primitiveContent for CREATE operation for Node resource * @param p_name Resource name @@ -1269,7 +1388,24 @@ module OneM2M_Templates { announcedAttribute := omit,//O scheduleElement := p_scheduleElement,//M choice := omit//NP - }; + }; + + //@ACV + /** + * @desc Base reception template of primitiveContent for CREATE operation for ScheduleAnnc resource + */ + template ScheduleAnnc_optional mw_contentCreateScheduleAnncBase () := { + resourceName := omit,//NA M + resourceType := omit,//NA M + resourceID := omit,//NA M + parentID := omit,//NA M + creationTime := omit,//NA M + lastModifiedTime := omit,//NA M + labels := ?,//MA + expirationTime := ?,//MA M + link := ?, + scheduleElement := * //OA + }; template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) := { resourceName := omit,//TODO TS-0004 7.4.29.1 2 Missing attribute @@ -1395,6 +1531,29 @@ module OneM2M_Templates { choice := omit //O }; + //@ACV + /** + * @desc Base primitiveContent for CREATE operation for ContentInstanceAnnc resource + * @param p_primitiveContent Content for the ContentInstanceAnnc + */ + template ContentInstanceAnnc_optional mw_contentCreateContentInstanceAnncBase() := { + resourceName := omit,//NA M + resourceType := omit,//NA M + resourceID := omit,//NA M + parentID := omit,//NA M + creationTime := omit,//NA M + lastModifiedTime := omit,//NA M + labels := ?,//MA + expirationTime := omit,//O NA + link := omit, //O NA + stateTag := *,// OA + contentInfo := *,//OA + contentSize := *,//OA + ontologyRef := *,//OA + content := *, //OA + choice := omit //O + }; + /** * @desc Base primitiveContent for CREATE operation for Container resource * @param p_name Resource name @@ -1425,6 +1584,34 @@ module OneM2M_Templates { choice := omit//NP }; + //@ACV + /** + * @desc Base reception template of primitiveContent for CREATE operation for ContainerAnnc resource + */ + template ContainerAnnc_optional mw_contentCreateContainerAnncBase () := { + resourceName := omit,//NA M + resourceType := omit,//NA M + resourceID := omit,//NA M + parentID := omit,//NA M + creationTime := omit,//NA M + lastModifiedTime := omit,//NA M + labels := ?,//MA + accessControlPolicyIDs := ?,//MA + expirationTime := ?,//MA M + dynamicAuthorizationConsultationIDs := *, //OA + stateTag := *, //OA + maxNrOfInstances := *, //OA + maxByteSize := *, //OA + maxInstanceAge := *, //OA + currentNrOfInstances := *, //OA + currentByteSize := *, //OA + locationID := *, //OA + ontologyRef := *, //OA + disableRetrieval := *, //OA + choice := omit //NA + }; + + //@Martin template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod, in template (value) NodeID p_locationTargetID, in template (value) XSD.AnyURI p_locationServerAddress) := { resourceName := c_defaultLocationPolicyResourceName, //O @@ -1450,6 +1637,31 @@ module OneM2M_Templates { }; + //@ACV + /** + * @desc Base reception template of primitiveContent for CREATE operation for LocationPolicyAnnc resource + */ + template LocationPolicyAnnc_optional mw_contentCreateLocationPolicyAnncBase() := { + resourceName := omit,//NA M + resourceType := omit,//NA M + resourceID := omit,//NA M + parentID := omit,//NA M + creationTime := omit,//NA M + lastModifiedTime := omit,//NA M + labels := ?,//MA + accessControlPolicyIDs := ?,//MA + expirationTime := ?,//MA M + link := ?, + dynamicAuthorizationConsultationIDs := *, //OA + locationSource := *, //OA + locationUpdatePeriod := *, //OA + locationTargetID := *, //OA + locationServer := *, //OA + locationContainerID := *, //OA + locationContainerName := *, //OA + locationStatus := * //OA + }; + //@Martin template (value) Notification m_contentCreateNotification (in template (value) Representation p_resourcePresentation, in template (omit) NotificationEventType p_notifEventType, @@ -1682,6 +1894,31 @@ module OneM2M_Templates { choice := omit//NP }; + //@ACV + /** + * @desc Base primitiveContent for UPDATE operation for ContentInstance resource + */ + template (value) ContentInstance_optional m_contentUpdateContentInstance := { + resourceName := omit,//O + resourceType := omit,//NP + resourceID := omit,//NP + parentID := omit,//NP + creationTime := omit,//NP + lastModifiedTime := omit,//NP + labels := omit,//O + expirationTime := omit,//O + announceTo := omit,//O + announcedAttribute := omit,//O + stateTag := omit,//NP + creator := omit,//O + contentInfo := omit,//O + contentSize := omit,//NP + contentRef := omit, //O + ontologyRef := omit,//O + content := omit, //M + choice := omit //O + }; + //@Martin template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) := { resourceName := omit,//NP diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn index 121a4892234dcc5cec8a2346234f2526a0e06901..1587b4496dafb08434b4a173ecf7bbb92d64140d 100644 --- a/LibOneM2M/OneM2M_TypesAndValues.ttcn +++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn @@ -35,6 +35,8 @@ module OneM2M_TypesAndValues { const XSD.ID c_aeAuxName := "MyAe"; const XSD.String c_acpAuxName := "MyAcp"; const charstring c_invalid_location_update_period := "-PT30M10S" ;//duration set to invalid value (minus value) + const XSD.ID c_resourceShortNameLatest := "la"; //<latest> + const XSD.ID c_resourceShortNameOldest := "ol"; //<oldest> //AccessControlOperations const XSD.Integer c_C := 1; diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index c57e0683f77a651d2e8cb69e1ce84ee1e5b37e3c..a27407f67d9525c4a25845e9fe935fc57145b417 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -141,7 +141,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE successfuly created."); + setverdict(pass, testcasename() & ": AE successfully created."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int2001))) -> value v_response{ tc_ac.stop; @@ -183,7 +183,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE successfuly created."); + setverdict(pass, testcasename() & ": AE successfully created."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int2001))) -> value v_response{ tc_ac.stop; @@ -1249,7 +1249,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly"); + setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, v_parentIndex); if (v_sizeResourceTypeList == 0){ vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_resourceIndex}; @@ -1414,7 +1414,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly"); + setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -2873,7 +2873,8 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.any_1[0].Container_optional.announceTo := {PX_TESTER_ADDRESS}; - f_CSE_DMR_CRE_BV_016(int3, v_createRequest, mw_createContainerAnnc);//Container + //f_CSE_DMR_CRE_BV_016(int3, v_createRequest, mw_createContainerAnnc);//Container //@ACV + f_CSE_DMR_CRE_BV_016(int3, v_createRequest, mw_createContainerAnncBase);//Container } testcase TC_CSE_DMR_CRE_BV_016_03() runs on CseTester system CseSystem { @@ -2883,7 +2884,8 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.any_1[0].ContentInstance_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; - f_CSE_DMR_CRE_BV_016(int4, v_createRequest, mw_createContentInstanceAnnc);//ContentInstance + //f_CSE_DMR_CRE_BV_016(int4, v_createRequest, mw_createContentInstanceAnnc);//ContentInstance @ACV + f_CSE_DMR_CRE_BV_016(int4, v_createRequest, mw_createContentInstanceAnncBase);//ContentInstance } testcase TC_CSE_DMR_CRE_BV_016_04() runs on CseTester system CseSystem { @@ -2893,7 +2895,8 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.any_1[0].Group_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; - f_CSE_DMR_CRE_BV_016(int9, v_createRequest, mw_createGroupAnnc);//Group + //f_CSE_DMR_CRE_BV_016(int9, v_createRequest, mw_createGroupAnnc);//Group //@ACV + f_CSE_DMR_CRE_BV_016(int9, v_createRequest, mw_createGroupAnncBase);//Group } testcase TC_CSE_DMR_CRE_BV_016_05() runs on CseTester system CseSystem { @@ -2903,7 +2906,8 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.any_1[0].LocationPolicy_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; - f_CSE_DMR_CRE_BV_016(int10, v_createRequest, mw_createLocationPolicyAnnc);//LocationPolicy + //f_CSE_DMR_CRE_BV_016(int10, v_createRequest, mw_createLocationPolicyAnnc);//LocationPolicy //@ACV + f_CSE_DMR_CRE_BV_016(int10, v_createRequest, mw_createLocationPolicyAnncBase);//LocationPolicy } testcase TC_CSE_DMR_CRE_BV_016_06() runs on CseTester system CseSystem { @@ -2913,7 +2917,8 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.any_1[0].MgmtObj_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; - f_CSE_DMR_CRE_BV_016(int13, v_createRequest, mw_createMgmtObjAnnc);//MgmtObj + //f_CSE_DMR_CRE_BV_016(int13, v_createRequest, mw_createMgmtObjAnnc);//MgmtObj //@ACV + f_CSE_DMR_CRE_BV_016(int13, v_createRequest, mw_createMgmtObjAnncBase);//MgmtObj } testcase TC_CSE_DMR_CRE_BV_016_07() runs on CseTester system CseSystem { @@ -2933,7 +2938,8 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.any_1[0].Schedule_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; - f_CSE_DMR_CRE_BV_016(int18, v_createRequest, mw_createScheduleAnnc);//Schedule + //f_CSE_DMR_CRE_BV_016(int18, v_createRequest, mw_createScheduleAnnc);//Schedule //@ACV + f_CSE_DMR_CRE_BV_016(int18, v_createRequest, mw_createScheduleAnncBase);//Schedule } function f_CSE_DMR_CRE_BV_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on CseTester { @@ -2947,7 +2953,8 @@ module OneM2M_Testcases { // Test control // Test component configuration - f_cf01Up(); + //f_cf01Up(); //@ACV + f_cf02Up(); // Test adapter configuration @@ -2986,12 +2993,244 @@ module OneM2M_Testcases { f_cse_postamble_deleteResources(); // Tear down - f_cf01Down(); + //f_cf01Down(); //@ACV + f_cf02Down(); }//end f_CSE_DMR_CRE_BV_016 } // end g_CSE_DMR_CRE_BV_016 + //Start @ACV + group g_CSE_DMR_CRE_BV_017 { + + testcase TC_CSE_DMR_CRE_BV_017_01() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var RequestPrimitive v_requestPrimitive; + var XSD.NonNegativeInteger maxByteSize := 512; //Correct value? Shall be indicated in TP? + + v_createRequest.primitiveContent.any_1[0].Container_optional.announceTo := {PX_TESTER_ADDRESS}; + v_createRequest.primitiveContent.any_1[0].Container_optional.maxByteSize := maxByteSize; + v_createRequest.primitiveContent.any_1[0].Container_optional.announcedAttribute := {"maxByteSize"}; //Correct value? Shall be indicated in TP? + + v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int3, v_createRequest, mw_createContainerAnncBase());//Container + + if(getverdict == pass){ + //Check if maxByteSize attribute has been announced + if (ispresent(v_requestPrimitive.primitiveContent.any_1[0].ContainerAnnc_optional.maxByteSize)){ + if(v_requestPrimitive.primitiveContent.any_1[0].ContainerAnnc_optional.maxByteSize != maxByteSize){ + setverdict(fail, testcasename() & ": Error: Value of maxByteSize has not been announced successfully"); + }else{ + setverdict(pass, testcasename() & ": Value of maxByteSize has been announced successfully"); + } + }else{ + setverdict(fail, testcasename() & ": Error: maxByteSize has not been announced"); + } + } + } + + testcase TC_CSE_DMR_CRE_BV_017_02() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContentInstanceBase; + var RequestPrimitive v_requestPrimitive; + var XSD.NonNegativeInteger contentSize := 512; //Correct value? Shall be indicated in TP? + + v_createRequest.primitiveContent.any_1[0].ContentInstance_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; + v_createRequest.primitiveContent.any_1[0].ContentInstance_optional.contentSize := contentSize; + v_createRequest.primitiveContent.any_1[0].ContentInstance_optional.announcedAttribute := {"contentSize"}; //Correct value? Shall be indicated in TP? + + v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int4, v_createRequest, mw_createContentInstanceAnncBase());//ContentInstance + + if(getverdict == pass){ + //Check if contentSize attribute has been announced + if (ispresent(v_requestPrimitive.primitiveContent.any_1[0].ContentInstanceAnnc_optional.contentSize)){ + if(v_requestPrimitive.primitiveContent.any_1[0].ContentInstanceAnnc_optional.contentSize != contentSize){ + setverdict(fail, testcasename() & ": Error: Value of contentSize has not been announced successfully"); + }else{ + setverdict(pass, testcasename() & ": Value of contentSize has been announced successfully"); + } + }else{ + setverdict(fail, testcasename() & ": Error: contentSize has not been announced"); + } + } + } + + testcase TC_CSE_DMR_CRE_BV_017_03() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createGroupBase; + var RequestPrimitive v_requestPrimitive; + var XSD.PositiveInteger maxNrOfMembers := 10; //Correct value? Shall be indicated in TP? + + v_createRequest.primitiveContent.any_1[0].Group_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; + v_createRequest.primitiveContent.any_1[0].Group_optional.maxNrOfMembers := maxNrOfMembers; + v_createRequest.primitiveContent.any_1[0].Group_optional.announcedAttribute := {"maxNrOfMembers"}; //Correct value? Shall be indicated in TP? + + v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int9, v_createRequest, mw_createGroupAnncBase());//Group + + if(getverdict == pass){ + //Check if maxNrOfMembers attribute has been announced + if (ispresent(v_requestPrimitive.primitiveContent.any_1[0].GroupAnnc_optional.maxNrOfMembers)){ + if(v_requestPrimitive.primitiveContent.any_1[0].GroupAnnc_optional.maxNrOfMembers != maxNrOfMembers){ + setverdict(fail, testcasename() & ": Error: Value of maxNrOfMembers has not been announced successfully"); + }else{ + setverdict(pass, testcasename() & ": Value of maxNrOfMembers has been announced successfully"); + } + }else{ + setverdict(fail, testcasename() & ": Error: maxNrOfMembers has not been announced"); + } + } + } + + testcase TC_CSE_DMR_CRE_BV_017_04() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit); + var RequestPrimitive v_requestPrimitive; + var LocationSource locationSource := int1;//Network-based //Correct value? Shall be indicated in TP? + + v_createRequest.primitiveContent.any_1[0].LocationPolicy_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; + v_createRequest.primitiveContent.any_1[0].LocationPolicy_optional.locationSource := locationSource; + v_createRequest.primitiveContent.any_1[0].LocationPolicy_optional.announcedAttribute := {"locationSource"}; //Correct value? Shall be indicated in TP? + + v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int10, v_createRequest, mw_createLocationPolicyAnncBase());//LocationPolicy + + if(getverdict == pass){ + //Check if locationSource attribute has been announced + if (ispresent(v_requestPrimitive.primitiveContent.any_1[0].LocationPolicyAnnc_optional.locationSource)){ + if(v_requestPrimitive.primitiveContent.any_1[0].LocationPolicyAnnc_optional.locationSource != locationSource){ + setverdict(fail, testcasename() & ": Error: Value of locationSource has not been announced successfully"); + }else{ + setverdict(pass, testcasename() & ": Value of locationSource has been announced successfully"); + } + }else{ + setverdict(fail, testcasename() & ": Error: locationSource has not been announced"); + } + } + } + + testcase TC_CSE_DMR_CRE_BV_017_05() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createMgmtObjBase; + var RequestPrimitive v_requestPrimitive; + var XSD.String description := "Description of mgmtObj"; //Correct value? Shall be indicated in TP? + + v_createRequest.primitiveContent.any_1[0].MgmtObj_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; + v_createRequest.primitiveContent.any_1[0].MgmtObj_optional.description := description; + v_createRequest.primitiveContent.any_1[0].MgmtObj_optional.announcedAttribute := {"description"}; //Correct value? Shall be indicated in TP? + + v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int13, v_createRequest, mw_createMgmtObjAnncBase());//MgmtObj + + if(getverdict == pass){ + //Check if description attribute has been announced + if (ispresent(v_requestPrimitive.primitiveContent.any_1[0].MgmtObjAnnc_optional.description)){ + if(v_requestPrimitive.primitiveContent.any_1[0].MgmtObjAnnc_optional.description != description){ + setverdict(fail, testcasename() & ": Error: Value of description has not been announced successfully"); + }else{ + setverdict(pass, testcasename() & ": Value of description has been announced successfully"); + } + }else{ + setverdict(fail, testcasename() & ": Error: description has not been announced"); + } + } + } + + testcase TC_CSE_DMR_CRE_BV_017_06() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createNodeBase; + var RequestPrimitive v_requestPrimitive; + + v_createRequest.primitiveContent.any_1[0].Node_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; + + //TODO node to be done. hostedCSELink attribute (OA) to be added!!! + + v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int14, v_createRequest, mw_createNodeAnnc);//Node + } + + testcase TC_CSE_DMR_CRE_BV_017_07() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createScheduleBase; + var RequestPrimitive v_requestPrimitive; + var ScheduleEntries scheduleElement := {{"0,0,0 1 2,1,1,*"}}; + + v_createRequest.primitiveContent.any_1[0].Schedule_optional.announceTo := {PX_TESTER_ADDRESS & "/CseBaseTester"}; + v_createRequest.primitiveContent.any_1[0].Schedule_optional.scheduleElement := scheduleElement; //Correct value? Shall be indicated in TP? + v_createRequest.primitiveContent.any_1[0].Schedule_optional.announcedAttribute := {"scheduleElement"}; //Correct value? Shall be indicated in TP? + + v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int18, v_createRequest, mw_createScheduleAnncBase());//Schedule + + if(getverdict == pass){ + //Check if scheduleElement attribute has been announced + if (ispresent(v_requestPrimitive.primitiveContent.any_1[0].ScheduleAnnc_optional.scheduleElement)){ + if(v_requestPrimitive.primitiveContent.any_1[0].ScheduleAnnc_optional.scheduleElement != scheduleElement){ + setverdict(fail, testcasename() & ": Error: Value of scheduleElement has not been announced successfully"); + }else{ + setverdict(pass, testcasename() & ": Value of scheduleElement has been announced successfully"); + } + }else{ + setverdict(fail, testcasename() & ": Error: scheduleElement has not been announced"); + } + } + } + + function f_CSE_DMR_CRE_BV_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on CseTester return RequestPrimitive{ + + // Local variables + var MsgIn v_anncRequest; + var RequestPrimitive v_request; + var integer v_parentIndex := -1; + var integer v_containerIndex := -1; + + // Test control + + // Test component configuration + f_cf02Up(); + + // Test adapter configuration + + // Preamble + v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + if(p_resourceType == int4) { + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex); + v_parentIndex := v_containerIndex; + } + + // Test Body + v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex); + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mccPort.receive(mw_request(p_requestAnnc)) -> value v_anncRequest { + tc_ac.stop; + setverdict(pass, testcasename() & ": No content provided with RC set to 0"); + } + [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_anncRequest { + tc_ac.stop; + setverdict(fail, testcasename() & ": Content provided with RC set to 0"); + } + [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while creating resource"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while creating resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf02Down(); + + return v_anncRequest.primitive.requestPrimitive; + + }//end f_CSE_DMR_CRE_BV_017 + + } // end g_CSE_DMR_CRE_BV_017 + + //End @ACV + }//end group Create group Retrieve { @@ -3381,7 +3620,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly"); + setverdict(pass, testcasename() & ": Requested attribute retrieved successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -3501,7 +3740,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly"); + setverdict(pass, testcasename() & ": Requested attribute retrieved successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -3628,7 +3867,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attributes retrieved successfuly"); + setverdict(pass, testcasename() & ": Requested attributes retrieved successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -3844,6 +4083,241 @@ module OneM2M_Testcases { }//end f_CSE_DMR_RET_BO_008 } // end f_CSE_DMR_RET_BO_008 + + //@ACV + group g_CSE_DMR_RET_BO_009{ + + testcase TC_CSE_DMR_RET_BO_009() runs on CseTester system CseSystem { + // Local variables + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_resourceIndex := -1; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + + // Test Body + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex)))); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){ + tc_ac.stop; + setverdict(pass, testcasename() & ": Resource not found"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving resource"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while retrieving resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_RET_BO_009 + + } // end group g_CSE_DMR_RET_BO_009 + + //@ACV + group g_CSE_DMR_RET_BV_010{ + + testcase TC_CSE_DMR_RET_BV_010() runs on CseTester system CseSystem { + // Local variables + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_contentInstanceIndex1 := -1; + var integer v_contentInstanceIndex2 := -1; + var template PrimitiveContent v_contentResponse; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + + v_contentInstanceIndex1 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + + v_contentInstanceIndex2 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + + v_contentResponse.any_1[0].ContentInstance_optional := mw_contentContentInstanceBase; + v_contentResponse.any_1[0].ContentInstance_optional.resourceName := vc_resourcesList[v_contentInstanceIndex1].resource.any_1[0].ContentInstance_optional.resourceName; + + // Test Body + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest, f_getOriginator(v_containerIndex)))); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))){ + tc_ac.stop; + setverdict(pass, testcasename() & ": resourceName attribute of <oldest> resource retrieved successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){ + tc_ac.stop; + setverdict(fail, testcasename() & ": Error, resourceName attribute of <oldest> resource value not expected"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){ + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving <oldest> resource"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while retrieving <oldest> resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_RET_BV_010 + + } // end group g_CSE_DMR_RET_BV_010 + + //@ACV + group g_CSE_DMR_RET_BO_011{ + + testcase TC_CSE_DMR_RET_BO_011() runs on CseTester system CseSystem { + // Local variables + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_resourceIndex := -1; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + + // Test Body + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest, f_getOriginator(v_containerIndex)))); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){ + tc_ac.stop; + setverdict(pass, testcasename() & ": Resource not found"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving resource"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while retrieving resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_RET_BO_011 + + } // end group g_CSE_DMR_RET_BO_011 + + //@ACV + group g_CSE_DMR_RET_BV_012{ + + testcase TC_CSE_DMR_RET_BV_012() runs on CseTester system CseSystem { + // Local variables + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_contentInstanceIndex1 := -1; + var integer v_contentInstanceIndex2 := -1; + var template PrimitiveContent v_contentResponse; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + + v_contentInstanceIndex1 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + + v_contentInstanceIndex2 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + + v_contentResponse.any_1[0].ContentInstance_optional := mw_contentContentInstanceBase; + v_contentResponse.any_1[0].ContentInstance_optional.resourceName := vc_resourcesList[v_contentInstanceIndex2].resource.any_1[0].ContentInstance_optional.resourceName; + + + // Test Body + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex)))); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))){ + tc_ac.stop; + setverdict(pass, testcasename() & ": resourceName attribute of <latest> resource retrieved successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){ + tc_ac.stop; + setverdict(fail, testcasename() & ": Error, resourceName attribute of <latest> resource value not expected"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){ + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving <latest> resource"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while retrieving <latest> resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_RET_BV_012 + + } // end group g_CSE_DMR_RET_BV_012 group g_CSE_DMR_RET_BV_013 { @@ -4172,7 +4646,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly"); + setverdict(pass, testcasename() & ": Requested attribute retrieved successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -4292,7 +4766,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly"); + setverdict(pass, testcasename() & ": Requested attribute retrieved successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -4419,7 +4893,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attributes retrieved successfuly"); + setverdict(pass, testcasename() & ": Requested attributes retrieved successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; @@ -4827,7 +5301,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -5016,7 +5490,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -5245,7 +5719,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -5541,7 +6015,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK())) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -6143,9 +6617,199 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - }//end TC_CSE_DMR_UPD_BV_009 + }//end TC_CSE_DMR_UPD_BV_010 - } // end group g_CSE_DMR_UPD_BV_009 + } // end group g_CSE_DMR_UPD_BV_010 + + //@ACV + group g_CSE_DMR_UPD_BV_011{ + + testcase TC_CSE_DMR_UPD_BV_011() runs on CseTester system CseSystem { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_contentInstanceIndex := -1; + var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; + var Labels v_labels:= {"LABEL"}; + + v_updateRequest.primitiveContent.any_1[0].ContentInstance_optional.labels := v_labels; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + + v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + + //Test Body + v_request := f_getUpdateRequestPrimitive(int4, v_contentInstanceIndex, v_updateRequest); + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { + tc_ac.stop; + setverdict(pass, testcasename() & ": Not allowed to update a contentInstance with error OPERATION_NOT_ALLOWED"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, testcasename() & ": Not allowed to update a contentInstance with a wrong error code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, testcasename() & ": Accepted update of contentInstance"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while updating contentInstance"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_UPD_BV_011 + + } // end group g_CSE_DMR_UPD_BV_011 + + //@ACV + group g_CSE_DMR_UPD_BI_012{ + + testcase TC_CSE_DMR_UPD_BI_012() runs on CseTester system CseSystem { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_contentInstanceIndex := -1; + var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; + var Labels v_labels := {"LABEL"}; + + v_updateRequest.primitiveContent.any_1[0].ContentInstance_optional.labels := v_labels; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + + v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + + //Test Body + v_request := f_getUpdateRequestPrimitive(int4, v_containerIndex, v_updateRequest); + + v_request.to_ := v_request.to_ & "/" & c_resourceShortNameLatest; //<latest> + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { + tc_ac.stop; + setverdict(pass, testcasename() & ": Not allowed to update a latest resource with error OPERATION_NOT_ALLOWED"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, testcasename() & ": Not allowed to update a latest resource with a wrong error code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, testcasename() & ": Accepted update of a latest resource"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while updating a latest resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_UPD_BI_012 + + } // end group g_CSE_DMR_UPD_BI_012 + + //@ACV + group g_CSE_DMR_UPD_BI_013{ + + testcase TC_CSE_DMR_UPD_BI_013() runs on CseTester system CseSystem { + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_contentInstanceIndex := -1; + var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; + var Labels v_labels:= {"LABEL"}; + + v_updateRequest.primitiveContent.any_1[0].ContentInstance_optional.labels := v_labels; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + + v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + + //Test Body + v_request := f_getUpdateRequestPrimitive(int4, v_containerIndex, v_updateRequest); + + v_request.to_ := v_request.to_ & "/" & c_resourceShortNameOldest; //<oldest> + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { + tc_ac.stop; + setverdict(pass, testcasename() & ": Not allowed to update an oldest resource with error OPERATION_NOT_ALLOWED"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, testcasename() & ": Not allowed to update an oldest resource with a wrong error code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, testcasename() & ": Accepted update of an oldest resource"); + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while updating an oldest resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_UPD_BI_013 + + } // end group g_CSE_DMR_UPD_BI_013 }//end group Update @@ -6226,7 +6890,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfuly"); + setverdict(pass, testcasename() & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -6329,7 +6993,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int1 (Acp) updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type int1 (Acp) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -6518,7 +7182,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ":Resource type " & int2str(enum2int(p_resourceType)) & " delete successfuly"); + setverdict(pass, testcasename() & ":Resource type " & int2str(enum2int(p_resourceType)) & " delete successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -6594,7 +7258,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " delete successfuly"); + setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " delete successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -6783,7 +7447,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource locationPolicy is created successfuly with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + setverdict(pass, testcasename() & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -7055,7 +7719,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource locationPolicy is created successfuly with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + setverdict(pass, testcasename() & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -7104,7 +7768,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource locationPolicy is created successfuly with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + setverdict(pass, testcasename() & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -7697,7 +8361,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource created successfuly"); + setverdict(pass, testcasename() & ": Resource created successfully"); if(not match({v_memberID}, v_response.primitive.responsePrimitive.primitiveContent.any_1[0].Group_optional.memberIDs)){ setverdict(fail, testcasename(), ": Error, presence of duplicate member IDs "); @@ -7756,7 +8420,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource created successfuly"); + setverdict(pass, testcasename() & ": Resource created successfully"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].Group_optional.memberTypeValidated)){ setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided"); } @@ -7816,7 +8480,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource created successfuly"); + setverdict(pass, testcasename() & ": Resource created successfully"); // check for memberTypeValidated if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].Group_optional.memberTypeValidated)){ @@ -7891,7 +8555,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource created successfuly"); + setverdict(pass, testcasename() & ": Resource created successfully"); // check for memberTypeValidated if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].Group_optional.memberTypeValidated)){ @@ -9953,7 +10617,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource deleted successfuly"); + setverdict(pass, testcasename() & ": Container resource deleted successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -10037,7 +10701,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { @@ -10111,7 +10775,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -10349,7 +11013,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -10423,7 +11087,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfuly"); + setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -10509,7 +11173,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Subscription resource deleted successfuly"); + setverdict(pass, testcasename() & ": Subscription resource deleted successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; @@ -11015,7 +11679,7 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - log(testcasename() & ": Attribute of resource type ACP updated successfuly"); + log(testcasename() & ": Attribute of resource type ACP updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop;