diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index c76b0c3ffd808f4368824dabf794973fbb46876d..31b82c3df12917a3257227667a0bee5974b16156 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $ - * $Id: OneM2M_Functions.ttcn 327 2017-07-26 06:25:46Z reinaortega $ + * $Id: OneM2M_Functions.ttcn 334 2017-07-31 08:11:48Z reinaortega $ * @desc Module containing functions for oneM2M * */ @@ -401,7 +401,7 @@ module OneM2M_Functions { tc_ac.stop; } [] tc_ac.timeout { - setverdict(inconc, testcasename() & ": Notify verification not received"); + setverdict(inconc, __SCOPE__ & "INFO: Notify verification not received"); } } } //end f_is_component_done @@ -542,11 +542,11 @@ module OneM2M_Functions { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, __SCOPE__&":ERROR: Error while updating resource"); + setverdict(inconc, __SCOPE__&":INFO: Error while updating resource"); } [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, __SCOPE__&":ERROR: Unexpected message received"); + setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while updating resource"); @@ -574,11 +574,11 @@ module OneM2M_Functions { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, __SCOPE__&":ERROR: Error while retrieving resource"); + setverdict(inconc, __SCOPE__&":INFO: Error while retrieving resource"); } [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, __SCOPE__&":ERROR: Unexpected message received"); + setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while retrieving resource"); @@ -605,14 +605,14 @@ module OneM2M_Functions { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(pass, __SCOPE__&" INFO: Resource" & p_requestPrimitive.to_ & " deleted"); + setverdict(pass, __SCOPE__&"INFO: Resource" & p_requestPrimitive.to_ & " deleted"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(inconc, __SCOPE__&" INFO: Error while deleting resource " & p_requestPrimitive.to_); + setverdict(inconc, __SCOPE__&"INFO: Error while deleting resource " & p_requestPrimitive.to_); } [] tc_ac.timeout { - setverdict(inconc, __SCOPE__&" INFO: No answer while deleting resource " & p_requestPrimitive.to_); + setverdict(inconc, __SCOPE__&"INFO: No answer while deleting resource " & p_requestPrimitive.to_); } } @@ -620,6 +620,72 @@ module OneM2M_Functions { }// end f_cse_deleteResource + /** + * @desc Check that a resource is present in the IUT (resourceId is known) + * @param p_resourceIndex Resource index + * @return boolean + */ + function f_isResourcePresent (integer p_resourceIndex) runs on CseTester return boolean { + + var ResponseStatusCode v_responseStatusCode; + + //Check to see if the resource is present or not + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_resourceIndex), f_getOriginator(p_resourceIndex)))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { + tc_ac.stop; + setverdict(pass, testcasename() & ": Resource present: " & f_getResourceAddress(p_resourceIndex)); + return true; + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { + tc_ac.stop; + setverdict(inconc, testcasename() & ": Wrong response status code in the response"); + return false; + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while retrieving resource"); + return false; + } + } + } + + /** + * @desc Check that a resource is not present in the IUT (resourceId is NOT known) + * @param p_parentIndex Index of the parent resource + * @param p_resourceName Resource name (Hierarchical method is used) + * @return boolean + */ + function f_isResourceNotPresent (integer p_parentIndex, XSD.String p_resourceName) runs on CseTester return boolean { + + var ResponseStatusCode v_responseStatusCode; + + log(testcasename() & "Hierarchical method is required to check the non presence of the resource"); + vc_addressingMethod := e_hierarchical; + //Check to see if the resource has NOT been created + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_parentIndex) & "/" & p_resourceName, f_getOriginator(p_parentIndex)))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) { + tc_ac.stop; + setverdict(pass, testcasename() & ": Resource not present"); + vc_addressingMethod := PX_ADDRESSING_METHOD; + return true; + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(?))) { + tc_ac.stop; + setverdict(inconc, testcasename() & ": Wrong response status code in the response"); + vc_addressingMethod := PX_ADDRESSING_METHOD; + return false; + } + [] tc_ac.timeout { + setverdict(inconc, testcasename() & ": No answer while retrieving resource"); + vc_addressingMethod := PX_ADDRESSING_METHOD; + return false; + } + } + } + /** * @desc Update of the auxiliar ACP resource * @param p_allowedOperations New allowed operations @@ -651,7 +717,7 @@ module OneM2M_Functions { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, __SCOPE__&":ERROR: Error while updating " & v_request.to_ & " resource"); + setverdict(inconc, __SCOPE__&":INFO: Error while updating " & v_request.to_ & " resource"); } [] tc_ac.timeout { setverdict(inconc, __SCOPE__&":INFO: No answer while updating " & v_request.to_ & " resource" ); @@ -680,16 +746,16 @@ module OneM2M_Functions { alt { [] mcaPort.receive(mw_request(mw_create(p_from, p_to))) -> value v_request { tc_ac.stop; - setverdict(pass, testcasename() & ": Announcement received"); + setverdict(pass, __SCOPE__ & ":INFO: Announcement received"); v_responsePrimitive := f_getCreateResponsePrimitive(v_request.primitive.requestPrimitive.resourceType, v_request.primitive.requestPrimitive); mcaPort.send(m_response(v_responsePrimitive)); } [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ":ERROR: Unexpected message received"); } [] tc_ac.timeout { - setverdict(inconc, testcasename() & ": No announcement received"); + setverdict(fail, __SCOPE__ & ":ERROR: No announcement received"); } } @@ -720,30 +786,30 @@ module OneM2M_Functions { alt { [] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_request { tc_ac.stop; - setverdict(pass, testcasename() & ": Notification received"); + setverdict(pass, __SCOPE__ & ":INFO: Notification received"); v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier; // if(f_isHierarchical(v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) { -// setverdict(fail, testcasename() & ": Creator cannot contain a hierarchical address"); +// setverdict(fail, __SCOPE__ & ": Creator cannot contain a hierarchical address"); // v_responsePrimitive.responseStatusCode := int4000; // } // if(f_compareURIs(p_creatorIndex, v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) { -// setverdict(pass, testcasename() & ": Creator set to originator of the subscription creation primitive"); +// setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive"); // } else { -// setverdict(fail, testcasename() & ": Creator not set to originator of the subscription creation primitive"); +// setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive"); // v_responsePrimitive.responseStatusCode := int4000; // } mcaPort.send(m_httpResponse(v_responsePrimitive)); } [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request { tc_ac.stop; - setverdict(fail, testcasename() & ": Notification received but verificationRequest isn't set to TRUE"); + setverdict(fail, __SCOPE__ & ":ERROR: Notification received but verificationRequest isn't set to TRUE"); } [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received"); } [] tc_ac.timeout { - setverdict(inconc, testcasename() & ": No notification received"); + setverdict(fail, __SCOPE__ & ":ERROR: No notification received"); } } @@ -760,63 +826,63 @@ module OneM2M_Functions { if(isvalue(p_response.primitiveContent.accessControlPolicy) and not(ispresent(p_response.primitiveContent.accessControlPolicy.resourceName))) { p_response.primitiveContent.accessControlPolicy.resourceName := p_request.primitiveContent.accessControlPolicy.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.accessControlPolicy.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.accessControlPolicy.resourceName) } } case (int2) { if(isvalue(p_response.primitiveContent.aE) and not(ispresent(p_response.primitiveContent.aE.resourceName))) { p_response.primitiveContent.aE.resourceName := p_request.primitiveContent.aE.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.aE.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.aE.resourceName) } } case (int3) { if(isvalue(p_response.primitiveContent.container) and not(ispresent(p_response.primitiveContent.container.resourceName))) { p_response.primitiveContent.container.resourceName := p_request.primitiveContent.container.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.container.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.container.resourceName) } } case (int4) { if(isvalue(p_response.primitiveContent.contentInstance) and not(ispresent(p_response.primitiveContent.contentInstance.resourceName))) { p_response.primitiveContent.contentInstance.resourceName := p_request.primitiveContent.contentInstance.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.contentInstance.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.contentInstance.resourceName) } } case (int15) { if (isvalue(p_response.primitiveContent.pollingChannel) and not(ispresent(p_response.primitiveContent.pollingChannel.resourceName))) { p_response.primitiveContent.pollingChannel.resourceName := p_request.primitiveContent.pollingChannel.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.pollingChannel.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.pollingChannel.resourceName) } } case (int16) { if (isvalue(p_response.primitiveContent.remoteCSE) and not(ispresent(p_response.primitiveContent.remoteCSE.resourceName))) { p_response.primitiveContent.remoteCSE.resourceName := p_request.primitiveContent.remoteCSE.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.remoteCSE.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.remoteCSE.resourceName) } } case (int18) { if (isvalue(p_response.primitiveContent.schedule) and not(ispresent(p_response.primitiveContent.schedule.resourceName))) { p_response.primitiveContent.schedule.resourceName := p_request.primitiveContent.schedule.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.schedule.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.schedule.resourceName) } } case (int23) { if (isvalue(p_response.primitiveContent.subscription) and not(ispresent(p_response.primitiveContent.subscription.resourceName))) { p_response.primitiveContent.subscription.resourceName := p_request.primitiveContent.subscription.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.subscription.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.subscription.resourceName) } } case (int9) { if (isvalue(p_response.primitiveContent.group_) and not(ispresent(p_response.primitiveContent.group_.resourceName))) { p_response.primitiveContent.group_.resourceName := p_request.primitiveContent.group_.resourceName; - log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.group_.resourceName) + log(__SCOPE__ & ":INFO: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.group_.resourceName) } } case else { @@ -919,19 +985,19 @@ module OneM2M_Functions { [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request { tc_ac.stop; if(f_check_notificationContent(v_request.primitive.requestPrimitive, p_primitiveContent)){ - setverdict(pass, testcasename() & ": Notification received"); + setverdict(pass, __SCOPE__ & ":INFO: Notification received"); mcaPort.send(m_response(valueof(m_responseNotification(int2001)))); } else{ - setverdict(fail, testcasename() & ": Notification received but the content doesn't match"); + setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match"); } } [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received"); } [] tc_ac.timeout { - setverdict(inconc, testcasename() & ": No notification received"); + setverdict(fail, __SCOPE__ & ":ERROR: No notification received"); } } @@ -953,29 +1019,28 @@ module OneM2M_Functions { tc_ac.stop; mcaPort.send(m_response(valueof(m_responseNotification(int2001)))); if(not(match(v_response.primitive.requestPrimitive.primitiveContent.notification.subscriptionDeletion, true))) { - setverdict(fail, testcasename() & ": subscriptionDeletion attribute have to be set to TRUE"); + setverdict(fail, __SCOPE__ & ":ERROR: subscriptionDeletion attribute have to be set to TRUE"); } if(f_check_notificationContent(v_response.primitive.requestPrimitive, p_primitiveContent)){ - setverdict(pass, testcasename() & ": Notification received"); + setverdict(pass, __SCOPE__ & ":INFO: Notification received"); } else{ - setverdict(fail, testcasename() & ": Notification received but the content doesn't match"); + setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match"); } } [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received"); } [] tc_ac.timeout { - setverdict(inconc, testcasename() & ": No notification received"); + setverdict(fail, __SCOPE__ & ":ERROR: No notification received"); } } unmap(self:mcaPort, system:mcaPort); unmap(self:acPort, system:acPort); - } //end f_cse_notifyProcedure_subscriptionDeletion - + } //end f_cse_notifyProcedure_subscriptionDeletion /** * @desc It determines whether the addressing method of the given address is non-hierarchical. Not valid for CSE-Base as target @@ -1265,13 +1330,13 @@ module OneM2M_Functions { var MsgIn v_request; [] mcaPort.receive(mw_request(?)) -> value v_request { - log("a_default: WARNING: Unexpected request received"); + log(__SCOPE__ & ":WARNING: Unexpected request received"); mcaPort.send(m_response(m_responsePrimitive(int5000, v_request.primitive.requestPrimitive.requestIdentifier))); repeat; } [] mcaPort.receive { - log("a_ae_default: WARNING: Unexpected message received"); + log(__SCOPE__ & ":WARNING: Unexpected message received"); repeat; } } @@ -1503,7 +1568,7 @@ module OneM2M_Functions { if(ischosen(p_contentResource.serviceSubscribedAppRule)) { return f_resourceIdCleaner(p_contentResource.serviceSubscribedAppRule.resourceID); } - log(""&__SCOPE__&":WARNING: Primitive Content Kind not implemented"); + log(__SCOPE__&":WARNING: Primitive Content Kind not implemented"); return "resourceIDNotFound"; @@ -1776,7 +1841,7 @@ module OneM2M_Functions { return vc_resourcesList[p_targetResourceIndex].resource.aE.aE_ID; } - log("f_getAeId: WARNING: p_targetResourceIndex does not refer to AE resource"); + log(__SCOPE__ & ":WARNING: p_targetResourceIndex does not refer to AE resource"); return ""; } // end f_getAeId @@ -1841,10 +1906,10 @@ module OneM2M_Functions { altstep a_default() runs on Tester { [] tc_wait.timeout { - setverdict(inconc,"a_default: ERROR: Timeout while awaiting reaction of the IUT prior to Upper Tester action"); + setverdict(inconc, __SCOPE__&":INFO: Timeout while awaiting reaction of the IUT prior to Upper Tester action"); } [] tc_ac.timeout { - setverdict(inconc,"a_default: ERROR: Timeout while awaiting the reception of a message"); + setverdict(inconc, __SCOPE__&":INFO: Timeout while awaiting the reception of a message"); } } @@ -2158,7 +2223,7 @@ module OneM2M_Functions { v_response := p_responsePrimitiveContent; v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitiveContent); if(not(match(v_response, v_primitiveContent))){ - setverdict(inconc, "Preamble: Error resource incomplete, some attribute missing "); + setverdict(inconc, __SCOPE__&":INFO: Resource incomplete, some attribute missing "); } } diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 80c7a57ac870a6a29a2db593b55be43ee41a156f..c15c1bc9b51c628e21fb516726c8085bb705059d 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $ - * $Id: OneM2M_Templates.ttcn 317 2017-07-12 18:07:15Z reinaortega $ + * $Id: OneM2M_Templates.ttcn 335 2017-07-31 09:04:53Z reinaortega $ * @desc Module containing templates for oneM2M * */ @@ -684,6 +684,15 @@ module OneM2M_Templates { resourceType := int10014, primitiveContent := {contentInstanceAnnc := mw_contentCreateContentInstanceAnncBase} }; + + /** + * @desc Base CREATE request primitive for Delivery resource + */ + /*template (value) RequestPrimitive m_createDeliveryBase modifies m_create := { + requestIdentifier := testcasename() & "-m_createDelivery" & f_rnd(1, 1000000), + resourceType := int6, + primitiveContent := {delivery := m_contentCreateDelivery()} + };*/ /** @@ -938,7 +947,7 @@ module OneM2M_Templates { template (value) RequestPrimitive m_createStatsConfigBase modifies m_create := { requestIdentifier := testcasename() & "-m_createStatsConfig" & f_rnd(1, 1000000), resourceType := int22, - primitiveContent := {statsConfig := m_contentCreateStatConfigBase} + primitiveContent := {statsConfig := m_contentCreateStatsConfigBase} }; /** @@ -1256,6 +1265,40 @@ module OneM2M_Templates { e2eSecInfo := omit, choice := omit }; + + /** + * @desc Base primitiveContent for CREATE operation for PollingChannel resource + * @param p_accessControlPolicyIds ACP IDs for the PollingChannel + * @param p_name Resource name + */ + template (value) Delivery_optional m_contentCreateDelivery (in template (omit) XSD.String p_name := c_defaultDeliveryResourceName, + in template (omit) AcpType p_accessControlPolicyIds, + in template (value) XSD.ID p_source, + in template (value) XSD.ID p_target, + in template (value) Timestamp p_lifespan, + in template (value) EventCat p_eventCat, + in template (value) DeliveryMetaData p_deliveryMetaData) := { + + resourceName := p_name,//O + resourceType := omit,//NP + resourceID := omit,//NP + parentID := omit,//NP + creationTime := omit,//NP + lastModifiedTime := omit,//NP + labels := omit,//O + accessControlPolicyIDs := p_accessControlPolicyIds,//O + expirationTime := omit,//O + dynamicAuthorizationConsultationIDs := omit,//O + stateTag := omit,//NP + source := p_source,//M + target := p_target,//M + lifespan := p_lifespan,//M + eventCat := p_eventCat,//M + deliveryMetaData := p_deliveryMetaData,//M + aggregatedRequest := omit,//O + choice := omit//NP + + }; /** * @desc Base primitiveContent for CREATE operation for Group resource @@ -1434,7 +1477,7 @@ module OneM2M_Templates { lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit//O - }; + }; /** * @desc Base primitiveContent for CREATE operation for Schedule resource @@ -1490,6 +1533,25 @@ module OneM2M_Templates { allowedRole_IDs := omit,//O choice := omit //O } + + /** + * @desc Base primitiveContent for CREATE operation for StatsConfig resource + * @param p_name Resource name + */ + template (value) StatsConfig_optional m_contentCreateStatsConfig (in template (omit) XSD.String p_name := c_defaultStatsConfigResourceName) := { + resourceName := p_name,//O + resourceType := omit,//NP + resourceID := omit,//NP + parentID := omit,//NP + creationTime := omit,//NP + lastModifiedTime := omit,//NP + labels := omit,//O + accessControlPolicyIDs := omit,//O + expirationTime := omit,//M + dynamicAuthorizationConsultationIDs := omit,//O + creator := omit,//O + choice := omit//O + }; /** @@ -1831,7 +1893,7 @@ module OneM2M_Templates { * @desc Base primitiveContent for CREATE operation for StatConfig resource * @param p_primitiveConten t Content for the StatConfig */ - template StatsConfig_optional m_contentCreateStatConfigBase := { + template StatsConfig_optional m_contentCreateStatsConfigBase := { resourceName := c_defaultStatsConfigResourceName, //O resourceType := omit, //NP resourceID := omit, //NP @@ -2356,6 +2418,29 @@ module OneM2M_Templates { choice := omit//O } + template LocationPolicy_optional m_contentLocationPolicy_allOmit := { + resourceName := omit,//M + resourceType := omit,//M + resourceID := omit,//M + parentID := omit,//M + creationTime := omit,//M + lastModifiedTime := omit,//M + labels := omit,//O + accessControlPolicyIDs := omit,//O + expirationTime := omit,//M + dynamicAuthorizationConsultationIDs := omit,//O + announceTo := omit,//O + announcedAttribute := omit,//O + locationSource := omit,//M + locationUpdatePeriod := omit,//O + locationTargetID := omit,//O + locationServer := omit,//O + locationContainerID := omit,//O + locationContainerName := omit,//O + locationStatus := omit,//M + choice := omit//O + } + template AccessControlPolicy_optional mw_contentAcp_rc1 modifies mw_contentAcpBase := { choice := omit //O } @@ -2530,6 +2615,29 @@ module OneM2M_Templates { template Group_optional mw_contentGroup_rc8 modifies m_contentGroup_allOmit := { choice := {childResource_list := ?} //O } + + template MgmtCmd_optional m_contentMgmtCmd_allOmit := { + resourceName := omit,//M + resourceType := omit,//M + resourceID := omit,//M + parentID := omit,//M + creationTime := omit,//M + lastModifiedTime := omit,//M + labels := omit,//O + accessControlPolicyIDs := omit,//O + expirationTime := omit,//M + dynamicAuthorizationConsultationIDs := omit,//O + description := omit,//O + cmdType := omit,//M + execReqArgs := omit,//O + execEnable := omit,//M + execTarget := omit,//M + execMode := omit,//O + execFrequency := omit,//O + execDelay := omit,//O + execNumber := omit,//O + choice := omit//M + } template PollingChannel_optional mw_contentPollingChannelBase := { resourceName := ?,//M @@ -2729,6 +2837,43 @@ module OneM2M_Templates { template Schedule_optional mw_contentSchedule_rc8 modifies m_contentSchedule_allOmit := { choice := {childResource_list := ?} //O } + + template StatsCollect_optional m_contentStatsCollect_allOmit := { + resourceName := omit,//M + resourceType := omit,//M + resourceID := omit,//M + parentID := omit,//M + creationTime := omit,//M + lastModifiedTime := omit,//M + labels := omit,//O + accessControlPolicyIDs := omit,//O + expirationTime := omit,//M + dynamicAuthorizationConsultationIDs := omit,//O + creator := omit,//O + statsCollectID := omit,//M + collectingEntityID := omit,//M + collectedEntityID := omit,//M + statsRuleStatus := omit,//M + statModel := omit,//M + collectPeriod := omit,//O + eventID := omit,//O + choice := omit//M + } + + template StatsConfig_optional m_contentStatsConfig_allOmit := { + resourceName := omit,//M + resourceType := omit,//M + resourceID := omit,//M + parentID := omit,//M + creationTime := omit,//M + lastModifiedTime := omit,//M + labels := omit,//O + accessControlPolicyIDs := omit,//O + expirationTime := omit,//M + dynamicAuthorizationConsultationIDs := omit,//O + creator := omit,//O + choice := omit//M + } template Subscription_optional mw_contentSubscriptionBase := { resourceName := ?,//M @@ -2893,6 +3038,10 @@ module OneM2M_Templates { }; + template ContentInstance_optional mw_contentContentInstance_rc1 modifies mw_contentContentInstanceBase := { + choice := omit //O + } + template Container_optional mw_contentContainerBase := { resourceName := ?,//M resourceType := ?,//M @@ -2971,6 +3120,29 @@ module OneM2M_Templates { choice := omit//O } + template Delivery_optional m_contentDelivery_allOmit := { + + resourceName := omit,//M + resourceType := omit,//M + resourceID := omit,//M + parentID := omit,//M + creationTime := omit,//M + lastModifiedTime := omit,//M + labels := omit,//O + accessControlPolicyIDs := omit,//O + expirationTime := omit,//M + dynamicAuthorizationConsultationIDs := omit,//O + stateTag := omit,//M + source := omit,//M + target := omit,//M + lifespan := omit,//M + eventCat := omit,//M + deliveryMetaData := omit,//M + aggregatedRequest := omit,//M + choice := omit//O + + }; + template Container_optional mw_contentContainer_rc1 modifies mw_contentContainerBase := { choice := omit //O } @@ -3069,6 +3241,27 @@ module OneM2M_Templates { } }; + template Node_optional m_contentNode_allOmit := { + + resourceName := omit, + resourceType := omit, + resourceID := omit, + parentID := omit, + creationTime := omit, + lastModifiedTime := omit, + labels := omit, + accessControlPolicyIDs := omit, + expirationTime := omit, + dynamicAuthorizationConsultationIDs := omit, + announceTo := omit, + announcedAttribute := omit, + nodeID := omit, + hostedCSELink := omit, + mgmtClientAddress := omit, + choice := omit + + }; + template CSEBase_optional mw_contentCSEBaseBase := { resourceName := ?,//M resourceType := ?,//M @@ -3203,7 +3396,7 @@ module OneM2M_Templates { * @param p_statusCode Status code * @param p_requestId Request ID of the corresponding request */ - template (value) ResponsePrimitive m_responsePrimitive(in ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (omit) PrimitiveContent p_content := omit) := { + template (value) ResponsePrimitive m_responsePrimitive(in template ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (omit) PrimitiveContent p_content := omit) := { responseStatusCode := p_statusCode, requestIdentifier := p_requestId, primitiveContent := p_content, @@ -3223,14 +3416,14 @@ module OneM2M_Templates { * @param p_statusCode Status code * @param p_requestId Request ID of the corresponding request */ - template (value) ResponsePrimitive m_responsePrimitive_content(in ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (value) PrimitiveContent p_content) modifies m_responsePrimitive := { + template (value) ResponsePrimitive m_responsePrimitive_content(in template ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (value) PrimitiveContent p_content) modifies m_responsePrimitive := { primitiveContent := p_content } - template ResponsePrimitive mw_responsePrimitive(ResponseStatusCode p_statusCode) := { + template ResponsePrimitive mw_responsePrimitive(in template ResponseStatusCode p_statusCode, in template PrimitiveContent p_content := *) := { responseStatusCode := p_statusCode, requestIdentifier := ?, - primitiveContent := *, + primitiveContent := p_content, to_ := *, from_ := *, originatingTimestamp := *, diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn index 85805b89023de4202b14c6b864fa3197f583ebc3..e59045d062647c19c1a83987ff205fbcffc16645 100644 --- a/LibOneM2M/OneM2M_Types.ttcn +++ b/LibOneM2M/OneM2M_Types.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $ - * $Id: OneM2M_Types.ttcn 329 2017-07-26 07:03:27Z reinaortega $ + * $Id: OneM2M_Types.ttcn 335 2017-07-31 09:04:53Z reinaortega $ * @desc OneM2M data types module * */ @@ -1631,6 +1631,7 @@ type union PrimitiveContent { ContentInstanceAnnc_optional contentInstanceAnnc, Container_optional container, ContainerAnnc_optional containerAnnc, + Delivery_optional delivery, FlexContainerResource_optional flexContainer, CSEBase_optional cSEBase, Group_optional group_, @@ -1638,6 +1639,7 @@ type union PrimitiveContent { LocationPolicy_optional locationPolicy, LocationPolicyAnnc_optional locationPolicyAnnc, MgmtResource_optional mgmtResource,//MgmtResource + MgmtCmd_optional mgmtCmd, AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource Node_optional node, NodeAnnc_optional nodeAnnc, @@ -4757,6 +4759,48 @@ with { variant (choice.choice_list[-]) "untagged"; }; +type record MgmtCmd_optional +{ + ResourceName resourceName optional, + ResourceType resourceType optional, + XSD.ID resourceID optional, + NhURI parentID optional, + Timestamp creationTime optional, + Timestamp lastModifiedTime optional, + Labels labels optional, + AcpType accessControlPolicyIDs optional, + Timestamp expirationTime optional, + ListOfURIs dynamicAuthorizationConsultationIDs optional, + XSD.String description optional, + CmdType cmdType optional, + ExecReqArgsListType execReqArgs optional, + XSD.Boolean execEnable optional, + NodeID execTarget optional, + ExecModeType execMode optional, + XSD.Duration execFrequency optional, + XSD.Duration execDelay optional, + XSD.NonNegativeInteger execNumber optional, + union { + record length(1 .. infinity) of ChildResourceRef childResource_list, + record length(1 .. infinity) of union { + ExecInstance execInstance, + Subscription subscription + } choice_list + } choice optional +} +with { + variant "name as uncapitalized"; + variant "element"; + variant (resourceName) "attribute"; + //variant (execEnable) "text 'true' as '1'"; + //variant (execEnable) "text 'false' as '0'"; + variant (choice) "untagged"; + variant (choice.childResource_list) "untagged"; + variant (choice.childResource_list[-]) "name as 'childResource'"; + variant (choice.choice_list) "untagged"; + variant (choice.choice_list[-]) "untagged"; +}; + type record Node { @@ -7009,6 +7053,43 @@ with { variant (choice.choice_list[-].group_) "name as 'group'"; }; +type record Delivery_optional +{ + ResourceName resourceName optional, + ResourceType resourceType optional, + XSD.ID resourceID optional, + NhURI parentID optional, + Timestamp creationTime optional, + Timestamp lastModifiedTime optional, + Labels labels optional, + AcpType accessControlPolicyIDs optional, + Timestamp expirationTime optional, + ListOfURIs dynamicAuthorizationConsultationIDs optional, + XSD.NonNegativeInteger stateTag optional, + XSD.ID source optional, + XSD.ID target optional, + Timestamp lifespan optional, + EventCat eventCat optional, + DeliveryMetaData deliveryMetaData optional, + AggregatedRequest aggregatedRequest optional, + union { + record length(1 .. infinity) of ChildResourceRef childResource_list, + record length(1 .. infinity) of union { + Subscription subscription + } choice_list + } choice optional +} +with { + variant "name as uncapitalized"; + variant "element"; + variant (resourceName) "attribute"; + variant (choice) "untagged"; + variant (choice.childResource_list) "untagged"; + variant (choice.childResource_list[-]) "name as 'childResource'"; + variant (choice.choice_list) "untagged"; + variant (choice.choice_list[-]) "untagged"; +}; + type record GenericInterworkingOperationInstance_optional { ResourceName resourceName optional, diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn index 49821c5b2ac8a1abde629487f6674d58a70dd104..96a59937cfe06df4578e99337932920d8cdc53cc 100644 --- a/LibOneM2M/OneM2M_TypesAndValues.ttcn +++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_TypesAndValues.ttcn $ - * $Id: OneM2M_TypesAndValues.ttcn 329 2017-07-26 07:03:27Z reinaortega $ + * $Id: OneM2M_TypesAndValues.ttcn 335 2017-07-31 09:04:53Z reinaortega $ * @desc Module containing types and values for oneM2M * */ @@ -25,6 +25,7 @@ module OneM2M_TypesAndValues { const XSD.String c_defaultSubscriptionResourceName := "MySubscriptionResource"; const XSD.String c_defaultContentInstanceResourceName := "MyContentInstanceResource"; const XSD.String c_defaultContainerResourceName := "MyContainerResource"; + const XSD.String c_defaultDeliveryResourceName := "MyDeliveryResource"; const XSD.String c_defaultRemoteCSEResourceName := "MyRemoteCSEResource"; const XSD.String c_defaultMgmtObjResourceName := "MyMgmtObjResource"; const XSD.String c_defaultMgmtCmdResourceName := "MyMgmtCmdResource"; @@ -32,6 +33,7 @@ module OneM2M_TypesAndValues { const XSD.String c_defaultLocationPolicyResourceName := "MyLocationPolicyResource"; const XSD.String c_defaultNodeResourceName := "MyNodeResource"; const XSD.String c_defaultNodeID := "MyNodeId"; + const XSD.String c_defaultRequestResourceName := "MyRequestResource"; const XSD.String c_defaultStatsConfigResourceName := "MyStatsConfigResource"; const XSD.String c_defaultStatsCollectResourceName := "MyStatsCollectResource"; const XSD.String c_defaultm2mServiceSubscriptionProfileResourceName := "Mym2mServiceSubscriptionProfileResource"; diff --git a/OneM2M_TestControl.ttcn b/OneM2M_TestControl.ttcn index 48d586650878aa0e111fd0f8abc9138fe6e66629..d37533edfe9be796f0d6e244295d40bfcc672e94 100644 --- a/OneM2M_TestControl.ttcn +++ b/OneM2M_TestControl.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_TestControl.ttcn $ - * $Id: OneM2M_TestControl.ttcn 323 2017-07-18 07:32:04Z reinaortega $ + * $Id: OneM2M_TestControl.ttcn 335 2017-07-31 09:04:53Z reinaortega $ * @desc Test control module for oneM2M * */ @@ -77,146 +77,167 @@ module OneM2M_TestControl { execute(TC_CSE_DMR_BV_005_04()); execute(TC_CSE_DMR_BV_005_05()); execute(TC_CSE_DMR_BV_005_06()); - execute(TC_CSE_DMR_CRE_BV_001_01()); - execute(TC_CSE_DMR_CRE_BV_001_02()); - execute(TC_CSE_DMR_CRE_BV_001_03()); - execute(TC_CSE_DMR_CRE_BV_001_04()); - execute(TC_CSE_DMR_CRE_BV_001_05()); - execute(TC_CSE_DMR_CRE_BV_001_06()); - execute(TC_CSE_DMR_CRE_BV_002_01()); - execute(TC_CSE_DMR_CRE_BV_002_02()); - execute(TC_CSE_DMR_CRE_BV_002_03()); - execute(TC_CSE_DMR_CRE_BV_002_04()); - execute(TC_CSE_DMR_CRE_BV_002_05()); - execute(TC_CSE_DMR_CRE_BV_002_06()); - execute(TC_CSE_DMR_CRE_BV_003_01()); - execute(TC_CSE_DMR_CRE_BV_003_02()); - execute(TC_CSE_DMR_CRE_BV_003_03()); - execute(TC_CSE_DMR_CRE_BV_003_04()); - execute(TC_CSE_DMR_CRE_BV_003_05()); - execute(TC_CSE_DMR_CRE_BV_003_06()); - execute(TC_CSE_DMR_CRE_BV_004_01()); - execute(TC_CSE_DMR_CRE_BV_004_02()); - execute(TC_CSE_DMR_CRE_BV_004_03()); - execute(TC_CSE_DMR_CRE_BV_004_04()); - execute(TC_CSE_DMR_CRE_BV_004_05()); - execute(TC_CSE_DMR_CRE_BV_004_06()); - execute(TC_CSE_DMR_RET_BV_001_01()); - execute(TC_CSE_DMR_RET_BV_001_02()); - execute(TC_CSE_DMR_RET_BV_001_03()); - execute(TC_CSE_DMR_RET_BV_001_04()); - execute(TC_CSE_DMR_RET_BV_001_05()); - execute(TC_CSE_DMR_RET_BV_001_06()); - execute(TC_CSE_DMR_RET_BO_002()); - execute(TC_CSE_DMR_RET_BO_003_01()); - execute(TC_CSE_DMR_RET_BO_003_02()); - execute(TC_CSE_DMR_RET_BO_003_03()); - execute(TC_CSE_DMR_RET_BO_003_04()); - execute(TC_CSE_DMR_RET_BO_003_05()); - execute(TC_CSE_DMR_RET_BO_003_06()); - execute(TC_CSE_DMR_RET_BV_004_01()); - execute(TC_CSE_DMR_RET_BV_004_02()); - execute(TC_CSE_DMR_RET_BV_004_03()); - execute(TC_CSE_DMR_RET_BV_004_04()); - execute(TC_CSE_DMR_RET_BV_004_05()); - execute(TC_CSE_DMR_RET_BV_004_06()); - execute(TC_CSE_DMR_RET_BV_005_01()); - execute(TC_CSE_DMR_RET_BV_005_02()); - execute(TC_CSE_DMR_RET_BV_005_03()); - execute(TC_CSE_DMR_RET_BV_005_04()); - execute(TC_CSE_DMR_RET_BV_005_05()); - execute(TC_CSE_DMR_RET_BV_005_06()); - execute(TC_CSE_DMR_RET_BV_006_01()); - execute(TC_CSE_DMR_RET_BV_006_02()); - execute(TC_CSE_DMR_RET_BV_006_03()); - execute(TC_CSE_DMR_RET_BV_006_04()); - execute(TC_CSE_DMR_RET_BV_006_05()); - execute(TC_CSE_DMR_RET_BV_006_06()); - execute(TC_CSE_DMR_RET_BO_007_01()); - execute(TC_CSE_DMR_RET_BO_007_02()); - execute(TC_CSE_DMR_RET_BO_007_03()); - execute(TC_CSE_DMR_RET_BO_007_04()); - execute(TC_CSE_DMR_RET_BO_007_05()); - execute(TC_CSE_DMR_RET_BO_007_06()); - execute(TC_CSE_DMR_RET_BO_008_01()); - execute(TC_CSE_DMR_RET_BO_008_02()); - execute(TC_CSE_DMR_RET_BO_008_03()); - execute(TC_CSE_DMR_RET_BO_008_04()); - execute(TC_CSE_DMR_RET_BO_008_05()); - execute(TC_CSE_DMR_RET_BO_008_06()); - execute(TC_CSE_DMR_UPD_BV_001_01()); - execute(TC_CSE_DMR_UPD_BV_001_02()); - execute(TC_CSE_DMR_UPD_BV_001_03()); - execute(TC_CSE_DMR_UPD_BV_001_04()); - execute(TC_CSE_DMR_UPD_BV_001_05()); - execute(TC_CSE_DMR_UPD_BV_001_06()); - execute(TC_CSE_DMR_UPD_BV_002_01()); - execute(TC_CSE_DMR_UPD_BV_002_02()); - execute(TC_CSE_DMR_UPD_BV_002_03()); - execute(TC_CSE_DMR_UPD_BV_002_04()); - execute(TC_CSE_DMR_UPD_BV_002_05()); - execute(TC_CSE_DMR_UPD_BV_002_06()); - execute(TC_CSE_DMR_UPD_BV_003_01()); - execute(TC_CSE_DMR_UPD_BV_003_02()); - execute(TC_CSE_DMR_UPD_BV_003_03()); - execute(TC_CSE_DMR_UPD_BV_003_04()); - execute(TC_CSE_DMR_UPD_BV_003_05()); - execute(TC_CSE_DMR_UPD_BV_003_06()); - execute(TC_CSE_DMR_UPD_BV_004_01()); - execute(TC_CSE_DMR_UPD_BV_004_02()); - execute(TC_CSE_DMR_UPD_BV_004_03()); - execute(TC_CSE_DMR_UPD_BV_004_04()); - execute(TC_CSE_DMR_UPD_BV_004_05()); - execute(TC_CSE_DMR_UPD_BV_004_06()); - execute(TC_CSE_DMR_UPD_BI_005_01()); - execute(TC_CSE_DMR_UPD_BI_005_02()); - execute(TC_CSE_DMR_UPD_BI_005_03()); - execute(TC_CSE_DMR_UPD_BI_005_04()); - execute(TC_CSE_DMR_UPD_BI_005_05()); - execute(TC_CSE_DMR_UPD_BI_005_06()); - execute(TC_CSE_DMR_UPD_BO_006_01()); - execute(TC_CSE_DMR_UPD_BO_006_02()); - execute(TC_CSE_DMR_UPD_BO_006_03()); - execute(TC_CSE_DMR_UPD_BO_006_04()); - execute(TC_CSE_DMR_UPD_BO_006_05()); - execute(TC_CSE_DMR_UPD_BO_006_06()); - execute(TC_CSE_DMR_UPD_BO_007_01()); - execute(TC_CSE_DMR_UPD_BO_007_02()); - execute(TC_CSE_DMR_UPD_BO_007_03()); - execute(TC_CSE_DMR_UPD_BO_007_04()); - execute(TC_CSE_DMR_UPD_BO_007_05()); - execute(TC_CSE_DMR_UPD_BO_007_06()); - execute(TC_CSE_DMR_UPD_BO_008_01()); - execute(TC_CSE_DMR_UPD_BO_008_02()); - execute(TC_CSE_DMR_UPD_BO_008_03()); - execute(TC_CSE_DMR_UPD_BO_008_04()); - execute(TC_CSE_DMR_UPD_BO_008_05()); - execute(TC_CSE_DMR_UPD_BO_008_06()); - execute(TC_CSE_DMR_UPD_BV_010()); - execute(TC_CSE_DMR_DEL_BV_001_01()); - execute(TC_CSE_DMR_DEL_BV_001_02()); - execute(TC_CSE_DMR_DEL_BV_001_03()); - execute(TC_CSE_DMR_DEL_BV_001_04()); - execute(TC_CSE_DMR_DEL_BV_001_05()); - execute(TC_CSE_DMR_DEL_BV_001_06()); - execute(TC_CSE_DMR_DEL_BV_002_01()); - execute(TC_CSE_DMR_DEL_BV_002_02()); - execute(TC_CSE_DMR_DEL_BV_002_03()); - execute(TC_CSE_DMR_DEL_BV_002_04()); - execute(TC_CSE_DMR_DEL_BV_002_05()); - execute(TC_CSE_DMR_DEL_BV_002_06()); - execute(TC_CSE_DMR_DEL_BV_003_01()); - execute(TC_CSE_DMR_DEL_BV_004_01()); - execute(TC_CSE_DMR_DEL_BV_004_02()); - execute(TC_CSE_DMR_DEL_BV_004_03()); - execute(TC_CSE_DMR_DEL_BV_004_04()); - execute(TC_CSE_DMR_DEL_BV_004_05()); - execute(TC_CSE_DMR_DEL_BV_004_06()); - execute(TC_CSE_DMR_DEL_BV_005()); - execute(TC_CSE_DMR_DEL_BV_007()); - execute(TC_CSE_DMR_DEL_BO_008()); - execute(TC_CSE_DMR_DEL_BV_009()); - execute(TC_CSE_DMR_DEL_BO_010()); + execute(TC_CSE_DMR_CRE_001_CNT_CB()); + execute(TC_CSE_DMR_CRE_001_CNT_AE()); + execute(TC_CSE_DMR_CRE_001_CNT_CNT()); + execute(TC_CSE_DMR_CRE_001_GRP_CB()); + execute(TC_CSE_DMR_CRE_001_GRP_AE()); + execute(TC_CSE_DMR_CRE_001_ACP_CB()); + execute(TC_CSE_DMR_CRE_001_ACP_AE()); + execute(TC_CSE_DMR_CRE_001_SCH_CB()); + execute(TC_CSE_DMR_CRE_001_SCH_AE()); + execute(TC_CSE_DMR_CRE_001_SCH_SUB()); + execute(TC_CSE_DMR_CRE_001_PCH_AE()); + execute(TC_CSE_DMR_CRE_001_SUB_CB()); + execute(TC_CSE_DMR_CRE_001_SUB_AE()); + execute(TC_CSE_DMR_CRE_001_SUB_CNT()); + execute(TC_CSE_DMR_CRE_001_SUB_ACP()); + execute(TC_CSE_DMR_CRE_001_SUB_SCH()); + execute(TC_CSE_DMR_CRE_001_SUB_GRP()); + execute(TC_CSE_DMR_CRE_001_NOD_CB()); + execute(TC_CSE_DMR_CRE_001_MGC_CB()); + execute(TC_CSE_DMR_CRE_001_LCP_CB()); + execute(TC_CSE_DMR_CRE_001_STCG_CB()); + execute(TC_CSE_DMR_CRE_001_STCL_CB()); + execute(TC_CSE_DMR_CRE_001_MSSP_CB()); + execute(TC_CSE_DMR_CRE_001_ASAR_CB()); + execute(TC_CSE_DMR_CRE_001_CIN_CNT()); + execute(TC_CSE_DMR_CRE_002_CNT()); + execute(TC_CSE_DMR_CRE_002_GRP()); + execute(TC_CSE_DMR_CRE_002_ACP()); + execute(TC_CSE_DMR_CRE_002_SCH()); + execute(TC_CSE_DMR_CRE_002_PCH()); + execute(TC_CSE_DMR_CRE_002_SUB()); + execute(TC_CSE_DMR_CRE_003_CNT()); + execute(TC_CSE_DMR_CRE_003_GRP()); + execute(TC_CSE_DMR_CRE_003_ACP()); + execute(TC_CSE_DMR_CRE_003_SCH()); + execute(TC_CSE_DMR_CRE_003_PCH()); + execute(TC_CSE_DMR_CRE_003_SUB()); + execute(TC_CSE_DMR_CRE_004_CNT()); + execute(TC_CSE_DMR_CRE_004_GRP()); + execute(TC_CSE_DMR_CRE_004_ACP()); + execute(TC_CSE_DMR_CRE_004_SCH()); + execute(TC_CSE_DMR_CRE_004_PCH()); + execute(TC_CSE_DMR_CRE_004_SUB()); + execute(TC_CSE_DMR_RET_001_CNT()); + execute(TC_CSE_DMR_RET_001_GRP()); + execute(TC_CSE_DMR_RET_001_ACP()); + execute(TC_CSE_DMR_RET_001_SCH()); + execute(TC_CSE_DMR_RET_001_PCH()); + execute(TC_CSE_DMR_RET_001_SUB()); + execute(TC_CSE_DMR_RET_001_CIN()); + execute(TC_CSE_DMR_RET_002()); + execute(TC_CSE_DMR_RET_003_CNT()); + execute(TC_CSE_DMR_RET_003_GRP()); + execute(TC_CSE_DMR_RET_003_ACP()); + execute(TC_CSE_DMR_RET_003_SCH()); + execute(TC_CSE_DMR_RET_003_PCH()); + execute(TC_CSE_DMR_RET_003_SUB()); + execute(TC_CSE_DMR_RET_004_CNT()); + execute(TC_CSE_DMR_RET_004_GRP()); + execute(TC_CSE_DMR_RET_004_ACP()); + execute(TC_CSE_DMR_RET_004_SCH()); + execute(TC_CSE_DMR_RET_004_PCH()); + execute(TC_CSE_DMR_RET_004_SUB()); + execute(TC_CSE_DMR_RET_005_CNT()); + execute(TC_CSE_DMR_RET_005_GRP()); + execute(TC_CSE_DMR_RET_005_ACP()); + execute(TC_CSE_DMR_RET_005_SCH()); + execute(TC_CSE_DMR_RET_005_PCH()); + execute(TC_CSE_DMR_RET_005_SUB()); + execute(TC_CSE_DMR_RET_006_CNT()); + execute(TC_CSE_DMR_RET_006_GRP()); + execute(TC_CSE_DMR_RET_006_ACP()); + execute(TC_CSE_DMR_RET_006_SCH()); + execute(TC_CSE_DMR_RET_006_PCH()); + execute(TC_CSE_DMR_RET_006_SUB()); + execute(TC_CSE_DMR_RET_007_CNT_LBL()); + execute(TC_CSE_DMR_RET_007_GRP_LBL()); + execute(TC_CSE_DMR_RET_007_ACP_LBL()); + execute(TC_CSE_DMR_RET_007_SCH_LBL()); + execute(TC_CSE_DMR_RET_007_PCH_LBL()); + execute(TC_CSE_DMR_RET_007_SUB_LBL()); + execute(TC_CSE_DMR_RET_008_CNT_AT()); + execute(TC_CSE_DMR_RET_008_GRP_AT()); + execute(TC_CSE_DMR_RET_008_ACP_AT()); + execute(TC_CSE_DMR_RET_008_SCH_AT()); + execute(TC_CSE_DMR_RET_008_PCH_AT()); + execute(TC_CSE_DMR_RET_008_SUB_AT()); + execute(TC_CSE_DMR_UPD_001_CNT_LBL()); + execute(TC_CSE_DMR_UPD_001_GRP_LBL()); + execute(TC_CSE_DMR_UPD_001_ACP_LBL()); + execute(TC_CSE_DMR_UPD_001_SCH_LBL()); + execute(TC_CSE_DMR_UPD_001_PCH_LBL()); + execute(TC_CSE_DMR_UPD_001_SUB_LBL()); + execute(TC_CSE_DMR_UPD_002_CNT_LBL()); + execute(TC_CSE_DMR_UPD_002_GRP_LBL()); + execute(TC_CSE_DMR_UPD_002_ACP_LBL()); + execute(TC_CSE_DMR_UPD_002_SCH_LBL()); + execute(TC_CSE_DMR_UPD_002_PCH_LBL()); + execute(TC_CSE_DMR_UPD_002_SUB_LBL()); + execute(TC_CSE_DMR_UPD_003_CNT_LBL()); + execute(TC_CSE_DMR_UPD_003_GRP_LBL()); + execute(TC_CSE_DMR_UPD_003_ACP_LBL()); + execute(TC_CSE_DMR_UPD_003_SCH_LBL()); + execute(TC_CSE_DMR_UPD_003_PCH_LBL()); + execute(TC_CSE_DMR_UPD_003_SUB_LBL()); + execute(TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL()); + execute(TC_CSE_DMR_UPD_004_GRP_ET_GN_LBL()); + execute(TC_CSE_DMR_UPD_004_ACP_PV_AT_LBL()); + execute(TC_CSE_DMR_UPD_004_SCH_SE_AT_LBL()); + execute(TC_CSE_DMR_UPD_004_PCH_LBL_ACP_LBL()); + execute(TC_CSE_DMR_UPD_004_SUB_ET_LBL_EXC()); + execute(TC_CSE_DMR_UPD_005_CNT_EXC()); + execute(TC_CSE_DMR_UPD_005_GRP_EXC()); + execute(TC_CSE_DMR_UPD_005_ACP_EXC()); + execute(TC_CSE_DMR_UPD_005_SCH_EXCLBL()); + execute(TC_CSE_DMR_UPD_005_PCH_EXC()); + execute(TC_CSE_DMR_UPD_005_SUB_LBLMNI()); + execute(TC_CSE_DMR_UPD_006_CNT_LBL()); + execute(TC_CSE_DMR_UPD_006_GRP_LBL()); + execute(TC_CSE_DMR_UPD_006_ACP_LBL()); + execute(TC_CSE_DMR_UPD_006_SCH_LBL()); + execute(TC_CSE_DMR_UPD_006_PCH_LBL()); + execute(TC_CSE_DMR_UPD_006_SUB_LBL()); + execute(TC_CSE_DMR_UPD_007_CNT_CT()); + execute(TC_CSE_DMR_UPD_007_GRP_CT()); + execute(TC_CSE_DMR_UPD_007_ACP_CT()); + execute(TC_CSE_DMR_UPD_007_SCH_CT()); + execute(TC_CSE_DMR_UPD_007_PCH_CT()); + execute(TC_CSE_DMR_UPD_007_SUB_CT()); + execute(TC_CSE_DMR_UPD_008_CNT_ET()); + execute(TC_CSE_DMR_UPD_008_GRP_ET()); + execute(TC_CSE_DMR_UPD_008_ACP_ET()); + execute(TC_CSE_DMR_UPD_008_SCH_ET()); + execute(TC_CSE_DMR_UPD_008_PCH_ET()); + execute(TC_CSE_DMR_UPD_008_SUB_ET()); + execute(TC_CSE_DMR_UPD_010()); + execute(TC_CSE_DMR_DEL_001_CNT()); + execute(TC_CSE_DMR_DEL_001_GRP()); + execute(TC_CSE_DMR_DEL_001_ACP()); + execute(TC_CSE_DMR_DEL_001_SCH()); + execute(TC_CSE_DMR_DEL_001_PCH()); + execute(TC_CSE_DMR_DEL_001_SUB()); + execute(TC_CSE_DMR_DEL_001_CIN()); + execute(TC_CSE_DMR_DEL_002_CNT()); + execute(TC_CSE_DMR_DEL_002_GRP()); + execute(TC_CSE_DMR_DEL_002_ACP()); + execute(TC_CSE_DMR_DEL_002_SCH()); + execute(TC_CSE_DMR_DEL_002_PCH()); + execute(TC_CSE_DMR_DEL_002_SUB()); + execute(TC_CSE_DMR_DEL_003()); + execute(TC_CSE_DMR_DEL_004_CNT()); + execute(TC_CSE_DMR_DEL_004_GRP()); + execute(TC_CSE_DMR_DEL_004_ACP()); + execute(TC_CSE_DMR_DEL_004_SCH()); + execute(TC_CSE_DMR_DEL_004_PCH()); + execute(TC_CSE_DMR_DEL_004_SUB()); + execute(TC_CSE_DMR_DEL_005()); + execute(TC_CSE_DMR_DEL_007()); + execute(TC_CSE_DMR_DEL_008()); + execute(TC_CSE_DMR_DEL_009()); + execute(TC_CSE_DMR_DEL_010()); execute(TC_CSE_LOC_BV_001()); execute(TC_CSE_LOC_BV_002()); execute(TC_CSE_LOC_BO_003()); diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index fcbc31cefb4f02177e66296b89491ab9a3410471..2bb52c26adafab9deda935228b002263685159a9 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $ - * $Id: OneM2M_Testcases.ttcn 329 2017-07-26 07:03:27Z reinaortega $ + * $Id: OneM2M_Testcases.ttcn 335 2017-07-31 09:04:53Z reinaortega $ * @desc Module containing test cases for oneM2M * */ @@ -51,21 +51,21 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { t_ac.stop; - log("Postamble: Resource deleted"); + log(__SCOPE__ & ":Resource deleted"); setverdict(pass); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { t_ac.stop; - log("Postamble: Error while deleting resource"); + log(__SCOPE__ & ":Error while deleting resource"); setverdict(fail); } [] mcaPort.receive { t_ac.stop; - log("Postamble: Unexpected message received"); + log(__SCOPE__ & ":Unexpected message received"); setverdict(inconc); } [] t_ac.timeout { - log("Postamble: No answer while deleting resource"); + log(__SCOPE__ & ":No answer while deleting resource"); setverdict(inconc); } } @@ -117,7 +117,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { - setverdict(inconc, testcasename() & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); stop; } @@ -142,18 +142,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource created using non-hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Container resource created using non-hierarchical addressing method"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating container resource using non-hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while creating container resource using non-hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -203,7 +203,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { - setverdict(inconc, testcasename() & ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); stop; } @@ -228,18 +228,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource created using hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Container resource created using hierarchical addressing method"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating container resource using hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while creating container resource using hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -291,7 +291,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { - setverdict(inconc, testcasename() & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); stop; } @@ -315,18 +315,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource retrieved using non-hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Container resource retrieved using non-hierarchical addressing method"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving container resource using non-hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while retrieving container resource using non-hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -375,7 +375,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { - setverdict(inconc, testcasename() & ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); stop; } @@ -398,18 +398,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource retrieved using hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Container resource retrieved using hierarchical addressing method"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving container resource using hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while retrieving container resource using hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -461,7 +461,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { - setverdict(inconc, testcasename() & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); stop; } @@ -489,18 +489,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource updated using non-hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Container resource updated using non-hierarchical addressing method"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating container resource using non-hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while updating container resource using non-hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } @@ -549,7 +549,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { - setverdict(inconc, testcasename() & ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); stop; } @@ -577,18 +577,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource updated using hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Container resource updated using hierarchical addressing method"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating container resource using hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while updating container resource using hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } @@ -641,7 +641,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { - setverdict(inconc, testcasename() & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); stop; } @@ -667,18 +667,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource deleted using non-hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Container resource deleted using non-hierarchical addressing method"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting container resource using non-hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while deleting container resource using non-hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource"); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); } } @@ -728,7 +728,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { - setverdict(inconc, testcasename() & ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": Structured-CSE-Relative-Resource-ID format support is required to run this test case"); stop; } @@ -754,18 +754,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource deleted using hierarchical addressing method"); + setverdict(pass, __SCOPE__ & ": Container resource deleted using hierarchical addressing method"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting container resource using hierarchical addressing method"); + setverdict(fail, __SCOPE__ & ": Error while deleting container resource using hierarchical addressing method"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource"); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); } } @@ -819,14 +819,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE successfully created."); + setverdict(pass, __SCOPE__ & ": AE successfully created."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int2001))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } @@ -865,14 +865,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE successfully created."); + setverdict(pass, __SCOPE__ & ": AE successfully created."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int2001))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } @@ -911,14 +911,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE creation rejected."); + setverdict(pass, __SCOPE__ & ": AE creation rejected."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4005))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } @@ -957,14 +957,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE creation rejected."); + setverdict(pass, __SCOPE__ & ": AE creation rejected."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4005))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } @@ -1004,14 +1004,14 @@ module OneM2M_Testcases { alt { [] mccPort.receive(mw_request(mw_createAEAnnc(-, -, -))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE creation redirected."); + setverdict(pass, __SCOPE__ & ": AE creation redirected."); } [] mccPort.receive { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE"); + setverdict(fail, __SCOPE__ & ": Error while creating AE"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } @@ -1054,14 +1054,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4105))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE creation rejected."); + setverdict(pass, __SCOPE__ & ": AE creation rejected."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4105))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Error while creating AE with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } @@ -1101,14 +1101,14 @@ module OneM2M_Testcases { alt { [] mccPort.receive(mw_request(mw_createAEAnnc("/S", "CSE_ID", -))) { tc_ac.stop; - setverdict(pass, testcasename() & ": AE creation redirected."); + setverdict(pass, __SCOPE__ & ": AE creation redirected."); } [] mccPort.receive { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE"); + setverdict(fail, __SCOPE__ & ": Error while creating AE"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } @@ -1130,6 +1130,7 @@ module OneM2M_Testcases { var RequestPrimitive v_request; var integer v_cseBaseIndex := -1; var ResourceType v_resourceType := int2; + var PrimitiveContent v_primitiveContentRetrieveResource; // Test component configuration f_cf02Up(); @@ -1149,18 +1150,20 @@ module OneM2M_Testcases { alt { [] mccPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": AE creation redirected."); + setverdict(pass, __SCOPE__ & ": AE creation redirected."); //continue to test the content } [] mccPort.receive { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE"); + setverdict(fail, __SCOPE__ & ": Error while creating AE"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } + //v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + // Postamble f_cse_postamble_deleteResources(); @@ -1195,15 +1198,15 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": AE creation success."); + setverdict(pass, __SCOPE__ & ": AE creation success."); //continue to test the content } [] mcaPort.receive { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating AE"); + setverdict(fail, __SCOPE__ & ": Error while creating AE"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating AE"); + setverdict(fail, __SCOPE__ & ": No answer while creating AE"); } } @@ -1246,14 +1249,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) { tc_ac.stop; - setverdict(pass, testcasename() & ": CSEBase creation rejected."); + setverdict(pass, __SCOPE__ & ": CSEBase creation rejected."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4005))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating CSEBase with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Error while creating CSEBase with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating CSEBase"); + setverdict(fail, __SCOPE__ & ": No answer while creating CSEBase"); } } @@ -1269,7 +1272,7 @@ module OneM2M_Testcases { * @desc Check that the IUT accepts an create request of <remoteCSE> resource with attributes multiplicity equals to 1. * */ - testcase TC_CSE_REG_CRE_021() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_022() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; @@ -1292,16 +1295,20 @@ module OneM2M_Testcases { mccPort.send(m_request(v_request)); tc_ac.start; alt { - [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mccPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type remoteCSE created successfully"); + } + [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type remoteCSE created successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource type remoteCSE"); + setverdict(fail, __SCOPE__ & ": Error while creating resource type remoteCSE"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type remoteCSE"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type remoteCSE"); } } @@ -1311,13 +1318,13 @@ module OneM2M_Testcases { // Tear down f_cf04Down(); - }//end TC_CSE_REG_CRE_BV_011 + }//end TC_CSE_REG_CRE_022 /** * @desc Check that the IUT accepts an create request of <remoteCSE> resource with attributes multiplicity equals to 1 without the preconfigured CSE-ID * */ - testcase TC_CSE_REG_CRE_022() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_023() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; @@ -1342,14 +1349,14 @@ module OneM2M_Testcases { alt { [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type remoteCSE created successfully"); + setverdict(pass, __SCOPE__ & ": Resource type remoteCSE created successfully"); } [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource type remoteCSE"); + setverdict(fail, __SCOPE__ & ": Error while creating resource type remoteCSE"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type remoteCSE"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type remoteCSE"); } } @@ -1359,59 +1366,59 @@ module OneM2M_Testcases { // Tear down f_cf04Down(); - }//end TC_CSE_REG_CRE_022 + }//end TC_CSE_REG_CRE_023 - group g_CSE_REG_CRE_015{ + group g_CSE_REG_CRE_016{ /** * @desc Check that the IUT accepts a create request of <remoteCSE> resource with OPTIONAL_ATTRIBUTE. * */ - testcase TC_CSE_REG_CRE_015_LBL() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_016_LBL() runs on CseTester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createRemoteCSEBase; const AttributeAux c_optionalAttribute := {"labels", omit}; v_createRequest.primitiveContent.remoteCSE.labels := {"MyLabel"}; - f_CSE_REG_CRE_015(v_createRequest, c_optionalAttribute); + f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute); } - testcase TC_CSE_REG_CRE_015_CST() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_016_CST() runs on CseTester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createRemoteCSEBase; const AttributeAux c_optionalAttribute := {"cseType", omit}; v_createRequest.primitiveContent.remoteCSE.cseType := int1; - f_CSE_REG_CRE_015(v_createRequest, c_optionalAttribute); + f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute); } - testcase TC_CSE_REG_CRE_015_POA() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_016_POA() runs on CseTester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createRemoteCSEBase; const AttributeAux c_optionalAttribute := {"pointOfAccess", omit}; v_createRequest.primitiveContent.remoteCSE.pointOfAccess := {"http://" & PX_CSE1_ADDRESS & "/"}; - f_CSE_REG_CRE_015(v_createRequest, c_optionalAttribute); + f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute); } - testcase TC_CSE_REG_CRE_015_NL() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_016_NL() runs on CseTester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createRemoteCSEBase; const AttributeAux c_optionalAttribute := {"nodeLink", omit}; v_createRequest.primitiveContent.remoteCSE.nodeLink := c_defaultNodeID; - f_CSE_REG_CRE_015(v_createRequest, c_optionalAttribute); + f_CSE_REG_CRE_016(v_createRequest, c_optionalAttribute); } - function f_CSE_REG_CRE_015(template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on CseTester { + function f_CSE_REG_CRE_016(template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on CseTester { // Local variables var MsgIn v_response; @@ -1433,20 +1440,24 @@ module OneM2M_Testcases { mccPort.send(m_request(v_request)); tc_ac.start; alt { + [] mccPort.receive(mw_response(mw_responsePrimitive(int2001, f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Accepted creation for resource type remoteCSE containing attribute " & p_optionalAttribute.name); + } [] mccPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Accepted creation for resource type remoteCSE containing attribute " & p_optionalAttribute.name); + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } - [] mccPort.receive(mw_response(mw_responsePrimitiveOK())) -> value v_response { + [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted creation for resource type remoteCSE without containing attribute " & p_optionalAttribute.name); + setverdict(fail, __SCOPE__ & ": Accepted creation for resource type remoteCSE without containing attribute " & p_optionalAttribute.name); } [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Rejected creation of resource type remoteCSE containing attribute" & p_optionalAttribute.name); + setverdict(fail, __SCOPE__ & ": Rejected creation of resource type remoteCSE containing attribute" & p_optionalAttribute.name); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type remoteCSE"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type remoteCSE"); } } @@ -1491,20 +1502,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Response OK for retrieving"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Response OK for retrieving"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -1530,7 +1545,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_IN_CSE)) { - setverdict(inconc, testcasename() & ": IUT shall be IN-CSE to run this test case"); + setverdict(inconc, __SCOPE__ & ": IUT shall be IN-CSE to run this test case"); stop; } @@ -1549,29 +1564,33 @@ module OneM2M_Testcases { tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response { tc_ac.stop; if (ispresent(v_response.primitive.responsePrimitive.primitiveContent.cSEBase.cseType)){ if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase.cseType==int1){ - setverdict(pass, testcasename() & ": cseType attribute is set to 1 (IN_CSE)"); + setverdict(pass, __SCOPE__ & ": cseType attribute is set to 1 (IN_CSE)"); }else{ - setverdict(fail, testcasename() & ": Error, cseType attribute is set to " & int2str(enum2int(v_response.primitive.responsePrimitive.primitiveContent.cSEBase.cseType))); + setverdict(fail, __SCOPE__ & ": Error, cseType attribute is set to " & int2str(enum2int(v_response.primitive.responsePrimitive.primitiveContent.cSEBase.cseType))); } }else{ - setverdict(fail, testcasename() & ": Error, cseType attribute is not present"); + setverdict(fail, __SCOPE__ & ": Error, cseType attribute is not present"); } } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -1612,32 +1631,36 @@ module OneM2M_Testcases { tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response { tc_ac.stop; if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase.supportedResourceType == PX_SRT) { - setverdict(pass, testcasename() & ": supportedResourceTypes attribute is set according to PX_SRT"); + setverdict(pass, __SCOPE__ & ": supportedResourceTypes attribute is set according to PX_SRT"); }else{ - setverdict(fail, testcasename() & ": supportedResourceTypes attribute is not set according to PX_SRT"); + setverdict(fail, __SCOPE__ & ": supportedResourceTypes attribute is not set according to PX_SRT"); } if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase.pointOfAccess==PX_POA){ - setverdict(pass, testcasename() & ": supportedResourceTypes attribute is set according to PX_POA"); + setverdict(pass, __SCOPE__ & ": supportedResourceTypes attribute is set according to PX_POA"); }else{ - setverdict(fail, testcasename() & ": supportedResourceTypes attribute is not set according to PX_POA"); + setverdict(fail, __SCOPE__ & ": supportedResourceTypes attribute is not set according to PX_POA"); } } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -1684,14 +1707,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) { tc_ac.stop; - setverdict(pass, testcasename() & ": CSEBase update rejected."); + setverdict(pass, __SCOPE__ & ": CSEBase update rejected."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4005))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating CSEBase with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Error while updating CSEBase with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating CSEBase"); + setverdict(fail, __SCOPE__ & ": No answer while updating CSEBase"); } } @@ -1734,14 +1757,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) { tc_ac.stop; - setverdict(pass, testcasename() & ": CSEBase deletion rejected."); + setverdict(pass, __SCOPE__ & ": CSEBase deletion rejected."); } [] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int4005))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting CSEBase with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Error while deleting CSEBase with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting CSEBase"); + setverdict(fail, __SCOPE__ & ": No answer while deleting CSEBase"); } } @@ -1775,10 +1798,10 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.container.resourceName := omit; v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, -, v_notifyHandler); //Container - log(v_responsePrimitive); + if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1792,10 +1815,10 @@ module OneM2M_Testcases { v_createRequest.primitiveContent.group_.resourceName := omit; v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, m_createAeAux(omit,omit),v_notifyHandler);//Container - log(v_responsePrimitive); + if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1812,7 +1835,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, m_createContainerBase, v_notifyHandler);//Container if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1829,7 +1852,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int9, v_createRequest, -, v_notifyHandler);//Group if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1846,7 +1869,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int9, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Group if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1863,7 +1886,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int1, v_createRequest, -, v_notifyHandler);//AccessControlPolicy if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1880,7 +1903,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int1, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//AccessControlPolicy if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1897,7 +1920,7 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1914,7 +1937,7 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1931,7 +1954,7 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1949,7 +1972,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int15, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//PollingChannel if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1965,7 +1988,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, -, v_notifyHandler);//Subscription if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1981,7 +2004,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Subscription if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -1997,7 +2020,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createContainerBase, v_notifyHandler);//Subscription if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -2013,7 +2036,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAcpBase, v_notifyHandler);//Subscription if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } } @@ -2028,7 +2051,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createScheduleBase, v_notifyHandler);//Subscription if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } } @@ -2043,7 +2066,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createGroupBase, v_notifyHandler);//Subscription if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } } @@ -2059,7 +2082,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int14, v_createRequest, -, v_notifyHandler);//Node if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -2075,7 +2098,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int12, v_createRequest, -, v_notifyHandler);//Management Command if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.mgmtResource.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -2091,7 +2114,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int10, v_createRequest, -, v_notifyHandler);//Location Policy if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.locationPolicy.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -2107,7 +2130,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int22, v_createRequest, -, v_notifyHandler);//Stats Config if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } } @@ -2123,7 +2146,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int21, v_createRequest, -, v_notifyHandler);//Stats Collect if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -2139,7 +2162,7 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int11, v_createRequest, -, v_notifyHandler);//Subscription Profile if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } @@ -2155,12 +2178,28 @@ module OneM2M_Testcases { v_responsePrimitive := f_CSE_DMR_CRE_001(int19, v_createRequest, -, v_notifyHandler);//Service Subscribed App if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } } } + testcase TC_CSE_DMR_CRE_001_CIN_CNT() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContentInstanceBase; + var ResponsePrimitive v_responsePrimitive; + var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive; + + v_createRequest.primitiveContent.contentInstance.resourceName := omit; + v_responsePrimitive := f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase, v_notifyHandler);//Subscription + if(getverdict == pass){ + if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); + } + } + + } + function f_CSE_DMR_CRE_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in CseTester p_notifyHandler) runs on CseTester return ResponsePrimitive { // Local variables @@ -2203,22 +2242,33 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_parentIndex); } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); } } f_checkCseTesterStatus(); + //Check to see if the resource is present or not + if (f_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + // Postamble f_cse_postamble_deleteResources(); vc_resourcesIndexToBeDeleted := {}; @@ -2249,10 +2299,10 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { if(v_responsePrimitive.primitiveContent.container.resourceName != c_defaultContainerResourceName){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not correct"); } } } @@ -2266,10 +2316,10 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { if(v_responsePrimitive.primitiveContent.group_.resourceName != c_defaultGroupResourceName){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not correct"); } } } @@ -2283,10 +2333,10 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { if(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName != c_defaultAccessControlPolicyResourceName){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not correct"); } } } @@ -2300,10 +2350,10 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { if(v_responsePrimitive.primitiveContent.schedule.resourceName != c_defaultScheduleResourceName){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not correct"); } } } @@ -2316,10 +2366,10 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { if(v_responsePrimitive.primitiveContent.pollingChannel.resourceName != c_defaultPollingChannelResourceName){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not correct"); } } } @@ -2333,10 +2383,10 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } else { if(v_responsePrimitive.primitiveContent.subscription.resourceName != c_defaultSubscriptionResourceName){ - setverdict(fail, testcasename(), ": Error, resourceName attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, resourceName attribute not correct"); } } } @@ -2350,6 +2400,7 @@ module OneM2M_Testcases { var integer v_aeIndex := -1; var CseTester v_notifyHandler; var integer v_ae2Index := -1; + var integer v_resourceIndex := -1; // Test control @@ -2369,19 +2420,32 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); + v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } // Postamble f_cse_postamble_deleteResources(); @@ -2471,18 +2535,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4105))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource already exists"); + setverdict(pass, __SCOPE__ & ": Resource already exists"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating an already existing resource"); + setverdict(fail, __SCOPE__ & ": Error while creating an already existing resource"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Creating a resource that already exists"); + setverdict(fail, __SCOPE__ & ": Creating a resource that already exists"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -2548,7 +2612,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -2574,21 +2638,30 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Access denied to create a resource"); + setverdict(pass, __SCOPE__ & ": Access denied to create a resource"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating a resource without privileges"); + setverdict(fail, __SCOPE__ & ": Error while creating a resource without privileges"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Resource created without creation privileges"); + setverdict(fail, __SCOPE__ & ": Resource created without creation privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -2599,7 +2672,7 @@ module OneM2M_Testcases { }// end group g_CSE_DMR_CRE_004 - group g_CSE_DMR_CRE_BV_005 { + group g_CSE_DMR_CRE_005 { /** * @desc Check that the IUT rejects the CREATE Request of container resource when the RW ATTRIBUTE is provided with an invalid value @@ -2663,23 +2736,33 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request, {p_invalidAttribute})); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Creation rejected for resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute " & p_invalidAttribute.name); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Creation rejected for resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute " & p_invalidAttribute.name); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute" & p_invalidAttribute.name); - } - [] mcaPort.receive { - tc_ac.stop; - setverdict(fail, testcasename() & ": Incorrect value received"); + setverdict(fail, __SCOPE__ & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute" & p_invalidAttribute.name); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + + // Postamble f_cse_postamble_deleteResources(); @@ -2705,7 +2788,7 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.container.maxNrOfInstances)){ - setverdict(fail, testcasename(), ": Error, maxNrOfInstances attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, maxNrOfInstances attribute not provided"); } } } @@ -2719,7 +2802,7 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.container.maxByteSize)){ - setverdict(fail, testcasename(), ": Error, maxByteSize attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, maxByteSize attribute not provided"); } } @@ -2734,7 +2817,7 @@ module OneM2M_Testcases { if(getverdict == pass){ if(not ispresent(v_responsePrimitive.primitiveContent.container.maxInstanceAge)){ - setverdict(fail, testcasename(), ": Error, maxInstanceAge attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, maxInstanceAge attribute not provided"); } } } @@ -2745,6 +2828,7 @@ module OneM2M_Testcases { var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; // Test control @@ -2762,19 +2846,33 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType))); + v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -2793,7 +2891,7 @@ module OneM2M_Testcases { * @desc Check that the IUT responds with error when the newly created <contentInstance> results in that the field value of attribute currentNrOfInstances exceeds the field value of maxNrOfInstances in the parent container resource. * */ - testcase TC_CSE_DMR_CRE_BV_007() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_CRE_007() runs on CseTester system CseSystem { // Local variables var template RequestPrimitive v_createRequest := m_createContainerBase; var MsgIn v_response; @@ -2823,21 +2921,31 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Maximun number of instances exceeded"); + setverdict(pass, __SCOPE__ & ": Maximun number of instances exceeded"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Bad responseStatusCode in response"); + setverdict(fail, __SCOPE__ & ": Bad responseStatusCode in response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum number of instances"); + setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance exceding maximum number of instances"); + } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type 4"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -2884,22 +2992,32 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Maximun byte size exceeded"); + setverdict(pass, __SCOPE__ & ": Maximun byte size exceeded"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Bad responseStatusCode in response"); + setverdict(fail, __SCOPE__ & ": Bad responseStatusCode in response"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum byte size"); + setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance exceding maximum byte size"); + } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type 4"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -2947,25 +3065,29 @@ module OneM2M_Testcases { tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Response OK for retrieving"); + setverdict(pass, __SCOPE__ & ": Response OK for retrieving"); if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == vc_resourcesList[v_containerIndex].resource.container.stateTag + 1) { - setverdict(pass, testcasename() & ": stateTag attribute increased after creation of contentInstance resource"); + setverdict(pass, __SCOPE__ & ": stateTag attribute increased after creation of contentInstance resource"); } else { - setverdict(fail, testcasename() & ": stateTag attribute not incremented correctly after creation of contentInstance resource"); + setverdict(fail, __SCOPE__ & ": stateTag attribute not incremented correctly after creation of contentInstance resource"); } } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -3015,21 +3137,32 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Not allowed to create a contentInstance resource named 'la'"); + setverdict(pass, __SCOPE__ & ": Not allowed to create a contentInstance resource named 'la'"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Rejected creation of contentInstance named 'la' with wrong ResponseStatusCode"); + setverdict(fail, __SCOPE__ & ": Rejected creation of contentInstance named 'la' with wrong ResponseStatusCode"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted creation of contentInstance named 'la'"); + setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance named 'la'"); + } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type 4"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -3053,6 +3186,7 @@ module OneM2M_Testcases { var RequestPrimitive v_request; var integer v_aeIndex := -1; var integer v_containerIndex := -1; + var boolean v_resourceCreated := false; // Test control @@ -3076,21 +3210,32 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Not allowed to create a contentInstance resource named 'ol'"); + setverdict(pass, __SCOPE__ & ": Not allowed to create a contentInstance resource named 'ol'"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Rejected creation of contentInstance named 'ol' with wrong ResponseStatusCode"); + setverdict(fail, __SCOPE__ & ": Rejected creation of contentInstance named 'ol' with wrong ResponseStatusCode"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted creation of contentInstance named 'ol'"); + setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance named 'ol'"); + } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type 4"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -3167,20 +3312,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, omit))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No content provided with RC set to 0"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No content provided with RC set to 0"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Content provided with RC set to 0"); + setverdict(fail, __SCOPE__ & ": Content provided with RC set to 0"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -3194,7 +3343,7 @@ module OneM2M_Testcases { } // end g_CSE_DMR_CRE_012 - group g_CSE_DMR_CRE_BV_013 { + group g_CSE_DMR_CRE_013 { /** * @desc Check that the IUT returns successfully after a CREATE request only hierarchichal address of the created resource when the Result Content is set to 2 (hierarchical address) @@ -3278,20 +3427,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No content provided with RC set to 0"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No content provided with RC set to 0"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Content provided with RC set to 0"); + setverdict(fail, __SCOPE__ & ": Content provided with RC set to 0"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -3389,20 +3542,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No content provided with RC set to 0"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No content provided with RC set to 0"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Content provided with RC set to 0"); + setverdict(fail, __SCOPE__ & ": Content provided with RC set to 0"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -3416,7 +3573,7 @@ module OneM2M_Testcases { } // end g_CSE_DMR_CRE_014 - group g_CSE_DMR_CRE_BV_015 { + group g_CSE_DMR_CRE_015 { /** * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute OPTIONAL_ATTRIBUTE provided @@ -3770,11 +3927,12 @@ module OneM2M_Testcases { var CseTester v_notifyHandler; var integer v_ae2Index := -1; const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs"; + var integer v_resourceIndex := -1; // Test control if(match(c_accessControlPolicyIDs,p_optionalAttribute.name)) { if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } } @@ -3805,23 +3963,37 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & p_optionalAttribute.name); + v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_parentIndex); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & p_optionalAttribute.name); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK())) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " without containing attribute " & p_optionalAttribute.name); + setverdict(fail, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " without containing attribute " & p_optionalAttribute.name); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)) & " containing attribute" & p_optionalAttribute.name); + setverdict(fail, __SCOPE__ & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)) & " containing attribute" & p_optionalAttribute.name); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType))); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourcePresent(v_resourceIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -3949,18 +4121,14 @@ module OneM2M_Testcases { alt { [] mccPort.receive(mw_request(p_requestAnnc)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No content provided with RC set to 0"); - } - [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, testcasename() & ": Content provided with RC set to 0"); + setverdict(pass, __SCOPE__ & ": Correct CREATE request for the resource announced variant"); } - [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) { + [] mccPort.receive(mw_request(?)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Wrong CREATE request received"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -3974,7 +4142,7 @@ module OneM2M_Testcases { } // end g_CSE_DMR_CRE_016 - group g_CSE_DMR_CRE_BV_017 { + group g_CSE_DMR_CRE_017 { /** * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announcedAttribute provided @@ -3996,12 +4164,12 @@ module OneM2M_Testcases { //Check if maxByteSize attribute has been announced if (ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){ if(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize != maxByteSize){ - setverdict(fail, testcasename() & ": Error: Value of maxByteSize has not been announced successfully"); + setverdict(fail, __SCOPE__ & ": Error: Value of maxByteSize has not been announced successfully"); }else{ - setverdict(pass, testcasename() & ": Value of maxByteSize has been announced successfully"); + setverdict(pass, __SCOPE__ & ": Value of maxByteSize has been announced successfully"); } }else{ - setverdict(fail, testcasename() & ": Error: maxByteSize has not been announced"); + setverdict(fail, __SCOPE__ & ": Error: maxByteSize has not been announced"); } } } @@ -4010,10 +4178,10 @@ module OneM2M_Testcases { // 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? + var XSD.NonNegativeInteger v_contentSize := 512; //Correct value? Shall be indicated in TP? v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()}; - v_createRequest.primitiveContent.contentInstance.contentSize := contentSize; + v_createRequest.primitiveContent.contentInstance.contentSize := v_contentSize; v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"contentSize"}; //Correct value? Shall be indicated in TP? v_requestPrimitive := f_CSE_DMR_CRE_017(int4, v_createRequest, mw_createContentInstanceAnncBase());//ContentInstance @@ -4021,13 +4189,13 @@ module OneM2M_Testcases { if(getverdict == pass){ //Check if contentSize attribute has been announced if (ispresent(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize)){ - if(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize != contentSize){ - setverdict(fail, testcasename() & ": Error: Value of contentSize has not been announced successfully"); + if(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize != v_contentSize){ + setverdict(fail, __SCOPE__ & ": Error: Value of contentSize has not been announced successfully"); }else{ - setverdict(pass, testcasename() & ": Value of contentSize has been announced successfully"); + setverdict(pass, __SCOPE__ & ": Value of contentSize has been announced successfully"); } }else{ - setverdict(fail, testcasename() & ": Error: contentSize has not been announced"); + setverdict(fail, __SCOPE__ & ": Error: contentSize has not been announced"); } } } @@ -4048,12 +4216,12 @@ module OneM2M_Testcases { //Check if maxNrOfMembers attribute has been announced if (ispresent(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers)){ if(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers != maxNrOfMembers){ - setverdict(fail, testcasename() & ": Error: Value of maxNrOfMembers has not been announced successfully"); + setverdict(fail, __SCOPE__ & ": Error: Value of maxNrOfMembers has not been announced successfully"); }else{ - setverdict(pass, testcasename() & ": Value of maxNrOfMembers has been announced successfully"); + setverdict(pass, __SCOPE__ & ": Value of maxNrOfMembers has been announced successfully"); } }else{ - setverdict(fail, testcasename() & ": Error: maxNrOfMembers has not been announced"); + setverdict(fail, __SCOPE__ & ": Error: maxNrOfMembers has not been announced"); } } } @@ -4074,12 +4242,12 @@ module OneM2M_Testcases { //Check if locationSource attribute has been announced if (ispresent(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource)){ if(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource != locationSource){ - setverdict(fail, testcasename() & ": Error: Value of locationSource has not been announced successfully"); + setverdict(fail, __SCOPE__ & ": Error: Value of locationSource has not been announced successfully"); }else{ - setverdict(pass, testcasename() & ": Value of locationSource has been announced successfully"); + setverdict(pass, __SCOPE__ & ": Value of locationSource has been announced successfully"); } }else{ - setverdict(fail, testcasename() & ": Error: locationSource has not been announced"); + setverdict(fail, __SCOPE__ & ": Error: locationSource has not been announced"); } } } @@ -4100,12 +4268,12 @@ module OneM2M_Testcases { //Check if description attribute has been announced if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource.description)){ if(v_requestPrimitive.primitiveContent.announcedMgmtResource.description != description){ - setverdict(fail, testcasename() & ": Error: Value of description has not been announced successfully"); + setverdict(fail, __SCOPE__ & ": Error: Value of description has not been announced successfully"); }else{ - setverdict(pass, testcasename() & ": Value of description has been announced successfully"); + setverdict(pass, __SCOPE__ & ": Value of description has been announced successfully"); } }else{ - setverdict(fail, testcasename() & ": Error: description has not been announced"); + setverdict(fail, __SCOPE__ & ": Error: description has not been announced"); } } } @@ -4138,12 +4306,12 @@ module OneM2M_Testcases { //Check if scheduleElement attribute has been announced if (ispresent(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement)){ if(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement != scheduleElement){ - setverdict(fail, testcasename() & ": Error: Value of scheduleElement has not been announced successfully"); + setverdict(fail, __SCOPE__ & ": Error: Value of scheduleElement has not been announced successfully"); }else{ - setverdict(pass, testcasename() & ": Value of scheduleElement has been announced successfully"); + setverdict(pass, __SCOPE__ & ": Value of scheduleElement has been announced successfully"); } }else{ - setverdict(fail, testcasename() & ": Error: scheduleElement has not been announced"); + setverdict(fail, __SCOPE__ & ": Error: scheduleElement has not been announced"); } } } @@ -4179,18 +4347,14 @@ module OneM2M_Testcases { alt { [] mccPort.receive(mw_request(p_requestAnnc)) -> value v_anncRequest { tc_ac.stop; - setverdict(pass, testcasename() & ": No content provided with RC set to 0"); + setverdict(pass, __SCOPE__ & ": Correct CREATE request for the resource announced variant"); } - [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_anncRequest { + [] mccPort.receive(mw_request(?)) -> 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"); + setverdict(fail, __SCOPE__ & ": Wrong CREATE request received"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -4206,6 +4370,158 @@ module OneM2M_Testcases { } // end g_CSE_DMR_CRE_017 + group g_CSE_DMR_CRE_020{ + + /** + * @desc Check that the IUT rejects the CREATE Request of a contentInstance resource with error “NOT_ACCEPTABLE†when contentSize exceeds maxByteSize + * + */ + testcase TC_CSE_DMR_CRE_020() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + const integer c_maxByteSize := 0; + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_createRequest.primitiveContent.container.maxByteSize := c_maxByteSize; + + v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex); + + // Test Body + v_request := f_getCreateRequestPrimitive(int4, m_createContentInstanceBase, v_containerIndex); + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Maximum byte size exceeded"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Bad responseStatusCode in response"); + } + + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance exceding maximum byte size"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_CRE_020 + + }// end group g_CSE_DMR_CRE_020 + + group g_CSE_DMR_CRE_021{ + + /** + * @desc Check that the IUT updates the currentByteSize attribute in a <container> parent resource when a new <contentInstance> resource is created. + * + */ + testcase TC_CSE_DMR_CRE_021() runs on CseTester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest; + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_contentInstanceIndex := -1; + const integer c_maxByteSize := 512; + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_createRequest.primitiveContent.container.maxByteSize := c_maxByteSize; + + v_createRequest := m_createContainerBase; + + v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex); + + + v_contentInstanceIndex := f_cse_createResource(int4, v_createRequest, v_containerIndex); + + // Test Body + v_request := f_getCreateRequestPrimitive(int4, m_createContentInstanceBase, v_containerIndex); //Default content: "AnyValue" (8 bytes length) + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": ContentInstance resource created"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error when creating contentInstance resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4"); + } + } + + //Check currentByteSize + mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex)))); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + 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"); + } + else{ + 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"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_CRE_021 + + }// end group g_CSE_DMR_CRE_021 + }//end group Create group Retrieve { @@ -4282,12 +4598,25 @@ module OneM2M_Testcases { } + testcase TC_CSE_DMR_RET_001_CIN() runs on CseTester system CseSystem { + // Local variables + var ResponsePrimitive v_responsePrimitive; + var template PrimitiveContent v_contentResponse; + + v_contentResponse.contentInstance := mw_contentContentInstance_rc1; + + v_responsePrimitive := f_CSE_DMR_RET_001(int4, m_createContentInstanceBase, v_contentResponse);//ContentInstance + + } + function f_CSE_DMR_RET_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester return ResponsePrimitive { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; + var integer v_containerIndex := -1; + var integer v_parentIndex := -1; var integer v_resourceIndex := -1; var CseTester v_notifyHandler; var integer v_ae2Index := -1; @@ -4304,27 +4633,38 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); + if(p_resourceType == int4) { //ContentInstance + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_parentIndex := v_containerIndex; + }else{ + v_parentIndex := v_aeIndex; + } + + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_parentIndex); // Test Body mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)))); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Response OK for retrieving"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Response OK for retrieving"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -4382,18 +4722,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource not found"); + setverdict(pass, __SCOPE__ & ": Resource not found"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -4466,7 +4806,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - log(testcasename() & ":AccessControlPolicy support is required for executing this test case"); + log(__SCOPE__ & ":INFO: AccessControlPolicy support is required for executing this test case"); stop; } @@ -4493,18 +4833,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Access denied to retrieve attributes from resource type " & int2str(enum2int(p_resourceType))); + setverdict(pass, __SCOPE__ & ": Access denied to retrieve attributes from resource type " & int2str(enum2int(p_resourceType))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving attributes from resource without having privileges"); + setverdict(fail, __SCOPE__ & ": Error while retrieving attributes from resource without having privileges"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Retrieving attributes from resource without having privileges"); + setverdict(fail, __SCOPE__ & ": Retrieving attributes from resource without having privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -4614,20 +4954,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Requested attribute retrieved successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attribute retrieved successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved"); + setverdict(fail, __SCOPE__ & ": Error, not only requested attribute retrieved"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attribute"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attribute"); } } @@ -4737,20 +5081,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Requested attribute retrieved successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attribute retrieved successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved"); + setverdict(fail, __SCOPE__ & ": Error, not only requested attribute retrieved"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attribute"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attribute"); } } @@ -4867,20 +5215,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Requested attributes retrieved successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attributes retrieved successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, not only requested attributes retrieved"); + setverdict(fail, __SCOPE__ & ": Error, not only requested attributes retrieved"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); } } @@ -4972,14 +5324,14 @@ module OneM2M_Testcases { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving non existing resource attribute"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist"); + setverdict(fail, __SCOPE__ & ": Error : attribute was retrieved while it doesn't exist"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attribute"); } } @@ -5071,14 +5423,14 @@ module OneM2M_Testcases { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving non existing resource attributes"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist"); + setverdict(fail, __SCOPE__ & ": Error : attribute was retrieved while it doesn't exist"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); } } @@ -5124,18 +5476,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){ tc_ac.stop; - setverdict(pass, testcasename() & ": Resource not found"); + setverdict(pass, __SCOPE__ & ": Resource not found"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -5188,20 +5540,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": resourceName attribute of <oldest> resource retrieved successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))){ tc_ac.stop; - setverdict(pass, testcasename() & ": resourceName attribute of <oldest> resource retrieved successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resourceName attribute of <oldest> resource value not expected"); + setverdict(fail, __SCOPE__ & ": 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"); + setverdict(fail, __SCOPE__ & ": Error while retrieving <oldest> resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving <oldest> resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving <oldest> resource"); } } @@ -5247,18 +5603,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){ tc_ac.stop; - setverdict(pass, testcasename() & ": Resource not found"); + setverdict(pass, __SCOPE__ & ": Resource not found"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -5312,20 +5668,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))){ + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": resourceName attribute of <latest> resource retrieved successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))){ tc_ac.stop; - setverdict(pass, testcasename() & ": resourceName attribute of <latest> resource retrieved successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resourceName attribute of <latest> resource value not expected"); + setverdict(fail, __SCOPE__ & ": 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"); + setverdict(fail, __SCOPE__ & ": Error while retrieving <latest> resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving <latest> resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving <latest> resource"); } } @@ -5452,20 +5812,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Response OK for retrieving"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Response OK for retrieving"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -5538,7 +5902,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - log(testcasename() & ":AccessControlPolicy support is required for executing this test case"); + log(__SCOPE__ & ":INFO: AccessControlPolicy support is required for executing this test case"); stop; } @@ -5565,18 +5929,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Access denied to retrieve attributes from resource type " & int2str(enum2int(p_resourceType))); + setverdict(pass, __SCOPE__ & ": Access denied to retrieve attributes from resource type " & int2str(enum2int(p_resourceType))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving attributes from resource without having privileges"); + setverdict(fail, __SCOPE__ & ": Error while retrieving attributes from resource without having privileges"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Retrieving attributes from resource without having privileges"); + setverdict(fail, __SCOPE__ & ": Retrieving attributes from resource without having privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -5702,20 +6066,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Requested attribute retrieved successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attribute retrieved successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved"); + setverdict(fail, __SCOPE__ & ": Error, not only requested attribute retrieved"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attribute"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attribute"); } } @@ -5840,20 +6208,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Requested attribute retrieved successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attribute retrieved successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved"); + setverdict(fail, __SCOPE__ & ": Error, not only requested attribute retrieved"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attribute"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attribute"); } } @@ -5873,7 +6245,7 @@ module OneM2M_Testcases { * @desc Check that the IUT returns successfully multiple attributes of TARGET_RESOURCE_ADDRESS resource under CSEBase * */ - testcase TC_CSE_DMR_RET_BV_ACP() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_ACP() runs on CseTester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; @@ -5884,7 +6256,7 @@ module OneM2M_Testcases { f_CSE_DMR_RET_017(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy } - testcase TC_CSE_DMR_RET_BV_AE() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_AE() runs on CseTester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; @@ -5895,7 +6267,7 @@ module OneM2M_Testcases { f_CSE_DMR_RET_017(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE } - testcase TC_CSE_DMR_RET_BV_CNT() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_CNT() runs on CseTester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; @@ -5906,7 +6278,18 @@ module OneM2M_Testcases { f_CSE_DMR_RET_017(int3, m_createContainerBase, v_contentResponse);//Container } - testcase TC_CSE_DMR_RET_BV_GRP() runs on CseTester system CseSystem { + /*testcase TC_CSE_DMR_RET_017_DLV() runs on CseTester system CseSystem { + // Local variables + var template PrimitiveContent v_contentResponse; + + v_contentResponse.delivery := m_contentDelivery_allOmit; + v_contentResponse.delivery.parentID := ?; + v_contentResponse.delivery.creationTime := ?; + + f_CSE_DMR_RET_017(int6, m_createDeliveryBase, v_contentResponse);//Delivery + }*/ + + testcase TC_CSE_DMR_RET_017_GRP() runs on CseTester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; @@ -5917,7 +6300,40 @@ module OneM2M_Testcases { f_CSE_DMR_RET_017(int9, m_createGroupBase, v_contentResponse);//Group } - testcase TC_CSE_DMR_RET_BV_CSR() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_LCP() runs on CseTester system CseSystem { + // Local variables + var template PrimitiveContent v_contentResponse; + + v_contentResponse.locationPolicy := m_contentLocationPolicy_allOmit; + v_contentResponse.locationPolicy.parentID := ?; + v_contentResponse.locationPolicy.creationTime := ?; + + f_CSE_DMR_RET_017(int10, m_createLocationPolicyBase, v_contentResponse);//LocationPolicy + } + + testcase TC_CSE_DMR_RET_017_MGC() runs on CseTester system CseSystem { + // Local variables + var template PrimitiveContent v_contentResponse; + + v_contentResponse.mgmtCmd := m_contentMgmtCmd_allOmit; + v_contentResponse.mgmtCmd.parentID := ?; + v_contentResponse.mgmtCmd.creationTime := ?; + + f_CSE_DMR_RET_017(int12, m_createMgmtCmdBase, v_contentResponse);//MgmtCmd + } + + testcase TC_CSE_DMR_RET_017_NOD() runs on CseTester system CseSystem { + // Local variables + var template PrimitiveContent v_contentResponse; + + v_contentResponse.node := m_contentNode_allOmit; + v_contentResponse.node.parentID := ?; + v_contentResponse.node.creationTime := ?; + + f_CSE_DMR_RET_017(int14, m_createNodeBase, v_contentResponse);//Node + } + + testcase TC_CSE_DMR_RET_017_CSR() runs on CseTester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; @@ -5928,7 +6344,7 @@ module OneM2M_Testcases { f_CSE_DMR_RET_017(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE } - testcase TC_CSE_DMR_RET_BV_SCH() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_SCH() runs on CseTester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; @@ -5939,7 +6355,29 @@ module OneM2M_Testcases { f_CSE_DMR_RET_017(int18, m_createScheduleBase, v_contentResponse);//Schedule } - testcase TC_CSE_DMR_RET_BV_SUB() runs on CseTester system CseSystem { + testcase TC_CSE_DMR_RET_017_STCL() runs on CseTester system CseSystem { + // Local variables + var template PrimitiveContent v_contentResponse; + + v_contentResponse.statsCollect := m_contentStatsCollect_allOmit; + v_contentResponse.statsCollect.parentID := ?; + v_contentResponse.statsCollect.creationTime := ?; + + f_CSE_DMR_RET_017(int21, m_createStatsCollectBase, v_contentResponse);//StatsCollect + } + + testcase TC_CSE_DMR_RET_017_STCG() runs on CseTester system CseSystem { + // Local variables + var template PrimitiveContent v_contentResponse; + + v_contentResponse.statsConfig := m_contentStatsConfig_allOmit; + v_contentResponse.statsConfig.parentID := ?; + v_contentResponse.statsConfig.creationTime := ?; + + f_CSE_DMR_RET_017(int22, m_createStatsConfigBase, v_contentResponse);//StatsConfig + } + + testcase TC_CSE_DMR_RET_017_SUB() runs on CseTester system CseSystem { // Local variables var template PrimitiveContent v_contentResponse; @@ -5986,20 +6424,24 @@ module OneM2M_Testcases { tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Requested attributes retrieved successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Requested attributes retrieved successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, not only requested attributes retrieved"); + setverdict(fail, __SCOPE__ & ": Error, not only requested attributes retrieved"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); } } @@ -6099,18 +6541,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Retrieved attribute does not exist"); + setverdict(pass, __SCOPE__ & ": Retrieved attribute does not exist"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving non existing resource attribute"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist"); + setverdict(fail, __SCOPE__ & ": Error : attribute was retrieved while it doesn't exist"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attribute"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attribute"); } } @@ -6210,18 +6652,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Retrieved attribute does not exist"); + setverdict(pass, __SCOPE__ & ": Retrieved attribute does not exist"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving non existing resource attributes"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist"); + setverdict(fail, __SCOPE__ & ": Error : attribute was retrieved while it doesn't exist"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); } } @@ -6284,18 +6726,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST tc_ac.stop; - setverdict(pass, testcasename() & ": Request successfully rejected"); + setverdict(pass, __SCOPE__ & ": Request successfully rejected"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is impossible for a retrieve request "); + setverdict(fail, __SCOPE__ & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is impossible for a retrieve request "); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -6410,20 +6852,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -6539,20 +6985,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -6668,20 +7118,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -6796,20 +7250,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -6924,20 +7382,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); + setverdict(fail, __SCOPE__ & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -6965,25 +7427,30 @@ module OneM2M_Testcases { var Labels v_labels_1 := {"VALUE_1"}; var Labels v_labels_2:= {"VALUE_2"}; var ResponsePrimitive v_responsePrimitive; - var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.container.labels := v_labels_1; v_updateRequest.primitiveContent.container.labels := v_labels_2; v_responsePrimitive := f_CSE_DMR_UPD_001(int3, v_createRequest, v_updateRequest);//Container - if(getverdict == pass){ //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.labels != v_labels_2){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.container)) { + if(v_primitiveContentRetrieveResource.container.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -6994,6 +7461,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.group_.labels := v_labels_1; v_updateRequest.primitiveContent.group_.labels := v_labels_2; @@ -7005,10 +7473,16 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.labels != v_labels_2){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.group_)) { + if(v_primitiveContentRetrieveResource.group_.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7019,6 +7493,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2; @@ -7030,10 +7505,16 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels_2){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { + if(v_primitiveContentRetrieveResource.accessControlPolicy.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7045,6 +7526,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createScheduleBase; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.schedule.labels := v_labels_1; v_updateRequest.primitiveContent.schedule.labels := v_labels_2; @@ -7056,10 +7538,16 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.schedule)) { if(v_responsePrimitive.primitiveContent.schedule.labels != v_labels_2){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.schedule)) { + if(v_primitiveContentRetrieveResource.schedule.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7071,6 +7559,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2; @@ -7082,10 +7571,16 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_2){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { + if(v_primitiveContentRetrieveResource.pollingChannel.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7096,26 +7591,33 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.subscription.labels := v_labels_1; v_updateRequest.primitiveContent.subscription.labels := v_labels_2; - v_responsePrimitive := f_CSE_DMR_UPD_001(int23, v_createRequest, v_updateRequest);//Subscription + v_responsePrimitive := f_CSE_DMR_UPD_001(int23, v_createRequest, v_updateRequest, v_primitiveContentRetrieveResource);//Subscription if(getverdict == pass){ //Check attribute 1 if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.labels != v_labels_2){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.subscription)) { + if(v_primitiveContentRetrieveResource.subscription.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } - function f_CSE_DMR_UPD_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester return ResponsePrimitive{ + function f_CSE_DMR_UPD_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive{ // Local variables var MsgIn v_response; @@ -7145,19 +7647,28 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } + f_checkCseTesterStatus(); + + //Used to check that the resource has been updated + p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + // Postamble f_cse_postamble_deleteResources(); @@ -7181,6 +7692,7 @@ module OneM2M_Testcases { var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.container.labels := v_labels_1; @@ -7191,10 +7703,17 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.labels != v_labels_1){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.container)) { + if(v_primitiveContentRetrieveResource.container.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7203,6 +7722,7 @@ module OneM2M_Testcases { var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.group_.labels := v_labels_1; @@ -7213,10 +7733,17 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.labels != v_labels_1){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.group_)) { + if(v_primitiveContentRetrieveResource.group_.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7225,6 +7752,7 @@ module OneM2M_Testcases { var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; @@ -7235,10 +7763,17 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels_1){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { + if(v_primitiveContentRetrieveResource.accessControlPolicy.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7247,6 +7782,7 @@ module OneM2M_Testcases { var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.schedule.labels := v_labels_1; @@ -7257,10 +7793,17 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.schedule)) { if(v_responsePrimitive.primitiveContent.schedule.labels != v_labels_1){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.schedule)) { + if(v_primitiveContentRetrieveResource.schedule.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7269,6 +7812,7 @@ module OneM2M_Testcases { var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1; @@ -7279,10 +7823,17 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_1){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { + if(v_primitiveContentRetrieveResource.pollingChannel.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } @@ -7291,6 +7842,7 @@ module OneM2M_Testcases { var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.labels := v_labels_1; @@ -7301,14 +7853,21 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.labels != v_labels_1){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.subscription)) { + if(v_primitiveContentRetrieveResource.subscription.labels != v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } } } - function f_CSE_DMR_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive { // Local variables var MsgIn v_response; @@ -7338,19 +7897,26 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } + //Used to check that the resource has been updated + p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + // Postamble f_cse_postamble_deleteResources(); @@ -7377,6 +7943,7 @@ module OneM2M_Testcases { var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createContainerBase; var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.container.labels := v_labels_1; v_updateRequest.primitiveContent.container.labels := v_labels_2; @@ -7391,11 +7958,20 @@ module OneM2M_Testcases { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(ispresent(v_responsePrimitive.primitiveContent.container.labels)){ if(not(match(v_responsePrimitive.primitiveContent.container.labels,{""}))) { - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly"); + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly"); } } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.container)) { + if(ispresent(v_primitiveContentRetrieveResource.container.labels)) { + if(not(match(v_primitiveContentRetrieveResource.container.labels,{""}))){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } + } } } @@ -7407,6 +7983,7 @@ module OneM2M_Testcases { var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.group_.labels := v_labels_1; v_updateRequest.primitiveContent.group_.labels := v_labels_2; @@ -7420,10 +7997,19 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(ispresent(v_responsePrimitive.primitiveContent.group_.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.group_)) { + if(ispresent(v_primitiveContentRetrieveResource.group_.labels)) { + if(not(match(v_primitiveContentRetrieveResource.group_.labels,{""}))){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } + } } } @@ -7435,6 +8021,7 @@ module OneM2M_Testcases { var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createAcpBase; var template RequestPrimitive v_updateRequest := m_updateAcpBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2; @@ -7448,10 +8035,19 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { + if(ispresent(v_primitiveContentRetrieveResource.accessControlPolicy.labels)) { + if(not(match(v_primitiveContentRetrieveResource.accessControlPolicy.labels,{""}))){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } + } } } @@ -7463,6 +8059,7 @@ module OneM2M_Testcases { var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createScheduleBase; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.schedule.labels := v_labels_1; v_updateRequest.primitiveContent.schedule.labels := v_labels_2; @@ -7476,10 +8073,19 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.schedule)) { if(ispresent(v_responsePrimitive.primitiveContent.schedule.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.schedule)) { + if(ispresent(v_primitiveContentRetrieveResource.schedule.labels)) { + if(not(match(v_primitiveContentRetrieveResource.schedule.labels,{""}))){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } + } } } @@ -7491,6 +8097,7 @@ module OneM2M_Testcases { var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2; @@ -7504,10 +8111,19 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) { if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { + if(ispresent(v_primitiveContentRetrieveResource.pollingChannel.labels)) { + if(not(match(v_primitiveContentRetrieveResource.pollingChannel.labels,{""}))){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } + } } } @@ -7519,6 +8135,7 @@ module OneM2M_Testcases { var ResponsePrimitive v_responsePrimitive; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.subscription.labels := v_labels_1; v_updateRequest.primitiveContent.subscription.labels := v_labels_2; @@ -7532,14 +8149,23 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(ispresent(v_responsePrimitive.primitiveContent.subscription.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.subscription)) { + if(ispresent(v_primitiveContentRetrieveResource.subscription.labels)) { + if(not(match(v_primitiveContentRetrieveResource.subscription.labels,{""}))){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } + } } } - function f_CSE_DMR_UPD_003(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_UPD_003(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive { // Local variables var MsgIn v_response; @@ -7571,19 +8197,25 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request, p_nullFields)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } + p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + // Postamble f_cse_postamble_deleteResources(); @@ -7610,6 +8242,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_updateRequest := m_updateContainerBase; var ResponsePrimitive v_responsePrimitive; var AttributeAux_list v_nullFields; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.container.labels := v_labels_1;//Attribute 3 v_updateRequest.primitiveContent.container.expirationTime := "20301231T012345";//Attribute 1 @@ -7625,18 +8258,34 @@ module OneM2M_Testcases { if(ischosen(v_responsePrimitive.primitiveContent.container)) { //Check attribute 1 if(v_responsePrimitive.primitiveContent.container.expirationTime != valueof(v_updateRequest.primitiveContent.container.expirationTime)){ - setverdict(fail, testcasename() & ": Error: Expiration Time attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Expiration Time attribute not updated correctly") } //Check attribute 2 if(v_responsePrimitive.primitiveContent.container.maxNrOfInstances != valueof(v_updateRequest.primitiveContent.container.maxNrOfInstances)){ - setverdict(fail, testcasename() & ": Error: MaxNrOfInstances attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: MaxNrOfInstances attribute not updated correctly") } //Check attribute 3 if(ispresent(v_responsePrimitive.primitiveContent.container.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.container)) { + //Check attribute 1 + if(v_primitiveContentRetrieveResource.container.expirationTime != valueof(v_updateRequest.primitiveContent.container.expirationTime)){ + setverdict(fail, __SCOPE__ & ": Error: Expiration Time attribute not updated correctly") + } + //Check attribute 2 + if(v_primitiveContentRetrieveResource.container.maxNrOfInstances != valueof(v_updateRequest.primitiveContent.container.maxNrOfInstances)){ + setverdict(fail, __SCOPE__ & ": Error: MaxNrOfInstances attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_primitiveContentRetrieveResource.container.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } } } @@ -7650,6 +8299,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.group_.labels := v_labels_1;//Attribute 3 v_updateRequest.primitiveContent.group_.expirationTime := "20301231T012345";//Attribute 1 @@ -7665,18 +8315,34 @@ module OneM2M_Testcases { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { //Check attribute 1 if(not match(v_responsePrimitive.primitiveContent.group_.groupName, valueof(v_updateRequest.primitiveContent.group_.groupName))){ - setverdict(fail, testcasename() & ": Error: groupName attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: groupName attribute not updated correctly") } //Check attribute 2 if(not match(v_responsePrimitive.primitiveContent.group_.expirationTime, valueof(v_updateRequest.primitiveContent.group_.expirationTime))){ - setverdict(fail, testcasename() & ": Error: expirationTime attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") } //Check attribute 3 if(ispresent(v_responsePrimitive.primitiveContent.group_.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.group_)) { + //Check attribute 1 + if(v_primitiveContentRetrieveResource.group_.groupName != valueof(v_updateRequest.primitiveContent.group_.groupName)){ + setverdict(fail, __SCOPE__ & ": Error: groupName attribute not updated correctly") + } + //Check attribute 2 + if(v_primitiveContentRetrieveResource.group_.expirationTime != valueof(v_updateRequest.primitiveContent.group_.expirationTime)){ + setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_primitiveContentRetrieveResource.group_.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } } } @@ -7699,6 +8365,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createAcpBase;// privileges set by default to 63 for * var template RequestPrimitive v_updateRequest := m_updateAcpBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;//Attribute 3 v_updateRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_2; //Attribute 1 @@ -7714,18 +8381,34 @@ module OneM2M_Testcases { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { //Check attribute 1 if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy.privileges.accessControlRule_list[0].accessControlOperations, v_privileges_2.accessControlRule_list[0].accessControlOperations)){ - setverdict(fail, testcasename() & ": Error: Privileges attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Privileges attribute not updated correctly") } //Check attribute 2 if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy.announceTo, valueof(v_updateRequest.primitiveContent.accessControlPolicy.announceTo))){ - setverdict(fail, testcasename() & ": Error: Announce_to attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Announce_to attribute not updated correctly") } //Check attribute 3 if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { + //Check attribute 1 + if(not match (v_primitiveContentRetrieveResource.accessControlPolicy.privileges.accessControlRule_list[0].accessControlOperations, v_privileges_2.accessControlRule_list[0].accessControlOperations)){ + setverdict(fail, __SCOPE__ & ": Error: Privileges attribute not updated correctly") + } + //Check attribute 2 + if(not match (v_primitiveContentRetrieveResource.accessControlPolicy.announceTo, valueof(v_updateRequest.primitiveContent.accessControlPolicy.announceTo))){ + setverdict(fail, __SCOPE__ & ": Error: Announce_to attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_primitiveContentRetrieveResource.accessControlPolicy.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } } } @@ -7737,6 +8420,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createScheduleBase; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.schedule.scheduleElement := {{"0,0,0 1 2,1,1,*"}};//Attribute 1 v_updateRequest.primitiveContent.schedule.scheduleElement := {{"1,1,1 1 2,1,1,*"}}; //Attribute 1 @@ -7752,18 +8436,34 @@ module OneM2M_Testcases { if(ischosen(v_responsePrimitive.primitiveContent.schedule)) { //Check attribute 1 if(v_responsePrimitive.primitiveContent.schedule.scheduleElement != valueof(v_updateRequest.primitiveContent.schedule.scheduleElement)){ - setverdict(fail, testcasename() & ": Error: Expiration Time attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Schedule Element attribute not updated correctly") } //Check attribute 2 if(v_responsePrimitive.primitiveContent.schedule.announceTo != valueof(v_updateRequest.primitiveContent.schedule.announceTo)){ - setverdict(fail, testcasename() & ": Error: MaxNrOfInstances attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Announce_To attribute not updated correctly") } //Check attribute 3 if(ispresent(v_responsePrimitive.primitiveContent.schedule.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.schedule)) { + //Check attribute 1 + if(v_primitiveContentRetrieveResource.schedule.scheduleElement != valueof(v_updateRequest.primitiveContent.schedule.scheduleElement)){ + setverdict(fail, __SCOPE__ & ": Error: Schedule Element attribute not updated correctly") + } + //Check attribute 2 + if(v_primitiveContentRetrieveResource.schedule.announceTo != valueof(v_updateRequest.primitiveContent.schedule.announceTo)){ + setverdict(fail, __SCOPE__ & ": Error: Announce_To attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_primitiveContentRetrieveResource.schedule.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } } } @@ -7776,6 +8476,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createPollingChannelBase; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1;//Attribute 3 //No Attribute 1 @@ -7793,14 +8494,21 @@ module OneM2M_Testcases { //Check attribute 2 TODO once another alternative is found, activate this checking /*if(not match(v_responsePrimitive.primitiveContent.pollingChannel.accessControlPolicyIDs, valueof(v_updateRequest.primitiveContent.pollingChannel.accessControlPolicyIDs))){ - setverdict(fail, testcasename() & ": Error: ACPI attribute not added correctly") + setverdict(fail, __SCOPE__ & ": Error: ACPI attribute not added correctly") }*/ //Check attribute 3 if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){ - setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { + if(ispresent (v_primitiveContentRetrieveResource.pollingChannel.labels)){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not deleted correctly") + } + } } } @@ -7811,6 +8519,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createSubscriptionBase; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var ResponsePrimitive v_responsePrimitive; + var PrimitiveContent v_primitiveContentRetrieveResource; v_createRequest.primitiveContent.subscription.expirationCounter := 10;//Attribute 3 v_updateRequest.primitiveContent.subscription.expirationTime := "20301231T012345";//Attribute 1 @@ -7826,22 +8535,38 @@ module OneM2M_Testcases { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { //Check attribute 1 if(not match(v_responsePrimitive.primitiveContent.subscription.labels, valueof(v_updateRequest.primitiveContent.subscription.labels))){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") } //Check attribute 2 if(not match(v_responsePrimitive.primitiveContent.subscription.expirationTime, valueof(v_updateRequest.primitiveContent.subscription.expirationTime))){ - setverdict(fail, testcasename() & ": Error: expirationTime attribute not updated correctly") + setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") } //Check attribute 3 if(ispresent(v_responsePrimitive.primitiveContent.subscription.expirationCounter)){ - setverdict(fail, testcasename() & ": Error: expirationCounter attribute not deleted correctly") + setverdict(fail, __SCOPE__ & ": Error: expirationCounter attribute not deleted correctly") } } } + + //Check that the resource has been udpated correctly + if(ischosen(v_primitiveContentRetrieveResource.subscription)) { + //Check attribute 1 + if(not match (v_primitiveContentRetrieveResource.subscription.labels, valueof(v_updateRequest.primitiveContent.subscription.labels))){ + setverdict(fail, __SCOPE__ & ": Error: Label attribute not updated correctly") + } + //Check attribute 2 + if(not match (v_primitiveContentRetrieveResource.subscription.expirationTime, valueof(v_updateRequest.primitiveContent.subscription.expirationTime))){ + setverdict(fail, __SCOPE__ & ": Error: expirationTime attribute not updated correctly") + } + //Check attribute 3 + if(ispresent(v_primitiveContentRetrieveResource.subscription.expirationCounter)){ + setverdict(fail, __SCOPE__ & ": Error: expirationCounter attribute not deleted correctly") + } + } } } - function f_CSE_DMR_UPD_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester return ResponsePrimitive { + function f_CSE_DMR_UPD_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive { // Local variables var MsgIn v_response; @@ -7871,19 +8596,25 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request, p_nullFields)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK())) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } + p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + // Postamble f_cse_postamble_deleteResources(); @@ -8001,18 +8732,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource " & c_defaultResourceName & " of type " & int2str(enum2int(p_resourceType)) & " not found"); + setverdict(pass, __SCOPE__ & ": Resource " & c_defaultResourceName & " of type " & int2str(enum2int(p_resourceType)) & " not found"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating an unexisting resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating an unexisting resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Error while updating an unexisting resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } @@ -8036,20 +8767,38 @@ module OneM2M_Testcases { // Local variables var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.container.labels := v_labels_1; f_CSE_DMR_UPD_006(int3, m_createContainerBase, v_updateRequest);//Container + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.container)) { + if(v_primitiveContentRetrieveResource.container.labels == v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_006_GRP_LBL() runs on CseTester system CseSystem { // Local variables var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateGroupBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.group_.labels := v_labels_1; f_CSE_DMR_UPD_006(int9, m_createGroupBase, v_updateRequest);//Group + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.group_)) { + if(v_primitiveContentRetrieveResource.group_.labels == v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_006_ACP_LBL() runs on CseTester system CseSystem { @@ -8057,45 +8806,81 @@ module OneM2M_Testcases { var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var template RequestPrimitive v_requestPrimitive := m_createAcpBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int59; v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; f_CSE_DMR_UPD_006(int1, v_requestPrimitive, v_updateRequest);//AccessControlPolicy + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { + if(v_primitiveContentRetrieveResource.accessControlPolicy.labels == v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_006_SCH_LBL() runs on CseTester system CseSystem { // Local variables var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.schedule.labels := v_labels_1; f_CSE_DMR_UPD_006(int18, m_createScheduleBase, v_updateRequest);//Schedule + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.schedule)) { + if(v_primitiveContentRetrieveResource.schedule.labels == v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_006_PCH_LBL() runs on CseTester system CseSystem { // Local variable var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1; f_CSE_DMR_UPD_006(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { + if(v_primitiveContentRetrieveResource.pollingChannel.labels == v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_006_SUB_LBL() runs on CseTester system CseSystem { // Local variables var Labels v_labels_1 := {"VALUE_1"}; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.subscription.labels := v_labels_1; f_CSE_DMR_UPD_006(int23, m_createSubscriptionBase, v_updateRequest);//Subscription + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.subscription)) { + if(v_primitiveContentRetrieveResource.subscription.labels == v_labels_1){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } } - function f_CSE_DMR_UPD_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester { + function f_CSE_DMR_UPD_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester { // Local variables var MsgIn v_response; @@ -8108,7 +8893,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -8134,21 +8919,23 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Access denied to update attributes from resource type " & int2str(enum2int(p_resourceType))); + setverdict(pass, __SCOPE__ & ": Access denied to update attributes from resource type " & int2str(enum2int(p_resourceType))); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating attributes from resource without having privileges"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Updating attributes from resource without having privileges"); + setverdict(fail, __SCOPE__ & ": Updating attributes from resource without having privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } + p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + // Postamble f_cse_postamble_deleteResources(); @@ -8170,69 +8957,123 @@ module OneM2M_Testcases { // Local variables var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent := {container_update_invalid := m_contentUpdateContainer_invalid}; v_updateRequest.primitiveContent.container_update_invalid.creationTime := v_creationTime; f_CSE_DMR_UPD_007(int3, m_createContainerBase, v_updateRequest);//Container + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.container_update_invalid)) { + if(v_primitiveContentRetrieveResource.container_update_invalid.creationTime == v_creationTime){ + setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_007_GRP_CT() runs on CseTester system CseSystem { // Local variables var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateGroupBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent := {group_update_invalid := m_contentUpdateGroup_invalid}; v_updateRequest.primitiveContent.group_update_invalid.creationTime := v_creationTime; f_CSE_DMR_UPD_007(int9, m_createGroupBase, v_updateRequest);//Group + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.group_update_invalid)) { + if(v_primitiveContentRetrieveResource.group_update_invalid.creationTime == v_creationTime){ + setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_007_ACP_CT() runs on CseTester system CseSystem { // Local variables var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateAcpBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent := {aCP_update_invalid := m_contentUpdateAcp_invalid}; v_updateRequest.primitiveContent.aCP_update_invalid.creationTime := v_creationTime; f_CSE_DMR_UPD_007(int1, m_createAcpBase, v_updateRequest);//AccessControlPolicy + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.aCP_update_invalid)) { + if(v_primitiveContentRetrieveResource.aCP_update_invalid.creationTime == v_creationTime){ + setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_007_SCH_CT() runs on CseTester system CseSystem { // Local variables var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent := {schedule_update_invalid := m_contentUpdateSchedule_invalid}; v_updateRequest.primitiveContent.schedule_update_invalid.creationTime := v_creationTime; f_CSE_DMR_UPD_007(int18, m_createScheduleBase, v_updateRequest);//Schedule + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.schedule_update_invalid)) { + if(v_primitiveContentRetrieveResource.schedule_update_invalid.creationTime == v_creationTime){ + setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_007_PCH_CT() runs on CseTester system CseSystem { // Local variables var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent := {pollingChannel_update_invalid := m_contentUpdatePollingChannel_invalid}; v_updateRequest.primitiveContent.pollingChannel_update_invalid.creationTime := v_creationTime; f_CSE_DMR_UPD_007(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.pollingChannel_update_invalid)) { + if(v_primitiveContentRetrieveResource.pollingChannel_update_invalid.creationTime == v_creationTime){ + setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_007_SUB_CT() runs on CseTester system CseSystem { // Local variables var Timestamp v_creationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent := {subscription_update_invalid := m_contentUpdateSubscription_invalid}; v_updateRequest.primitiveContent.subscription_update_invalid.creationTime := v_creationTime; f_CSE_DMR_UPD_007(int23, m_createSubscriptionBase, v_updateRequest);//Subscription + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.subscription_update_invalid)) { + if(v_primitiveContentRetrieveResource.subscription_update_invalid.creationTime == v_creationTime){ + setverdict(fail, __SCOPE__ & ": Error: Creation Time attribute updated") + } + } + } } - function f_CSE_DMR_UPD_007(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester { + function f_CSE_DMR_UPD_007(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester { // Local variables var MsgIn v_response; @@ -8264,21 +9105,23 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Operation not allowed. RO attribute from resource type " & int2str(enum2int(p_resourceType)) ); + setverdict(pass, __SCOPE__ & ": Operation not allowed. RO attribute from resource type " & int2str(enum2int(p_resourceType)) ); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating RO attribute"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Updating RO attribute from resource"); + setverdict(fail, __SCOPE__ & ": Updating RO attribute from resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } + p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + // Postamble f_cse_postamble_deleteResources(); @@ -8300,12 +9143,21 @@ module OneM2M_Testcases { var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateContainerBase; var AttributeAux_list v_nullFields; + var PrimitiveContent v_primitiveContentRetrieveResource; v_nullFields := {{"expirationTime", omit}}; v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime; f_CSE_DMR_UPD_008(int3, m_createContainerBase, v_updateRequest, v_nullFields);//Container + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.container)) { + if(v_primitiveContentRetrieveResource.container.expirationTime == v_expirationTime){ + setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_008_GRP_ET() runs on CseTester system CseSystem { @@ -8313,12 +9165,21 @@ module OneM2M_Testcases { var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var AttributeAux_list v_nullFields; + var PrimitiveContent v_primitiveContentRetrieveResource; v_nullFields := {{"expirationTime", omit}}; v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime; f_CSE_DMR_UPD_008(int9, m_createGroupBase, v_updateRequest, v_nullFields);//Group + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.group_)) { + if(v_primitiveContentRetrieveResource.group_.expirationTime == v_expirationTime){ + setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_008_ACP_ET() runs on CseTester system CseSystem { @@ -8326,12 +9187,21 @@ module OneM2M_Testcases { var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateAcpBase; var AttributeAux_list v_nullFields; + var PrimitiveContent v_primitiveContentRetrieveResource; v_nullFields := {{"expirationTime", omit}}; v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime; f_CSE_DMR_UPD_008(int1, m_createAcpBase, v_updateRequest, v_nullFields);//AccessControlPolicy + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) { + if(v_primitiveContentRetrieveResource.accessControlPolicy.expirationTime == v_expirationTime){ + setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_008_SCH_ET() runs on CseTester system CseSystem { @@ -8339,12 +9209,21 @@ module OneM2M_Testcases { var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateScheduleBase; var AttributeAux_list v_nullFields; + var PrimitiveContent v_primitiveContentRetrieveResource; v_nullFields := {{"expirationTime", omit}}; v_updateRequest.primitiveContent.schedule.expirationTime := v_expirationTime; f_CSE_DMR_UPD_008(int18, m_createScheduleBase, v_updateRequest, v_nullFields);//Schedule + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.schedule)) { + if(v_primitiveContentRetrieveResource.schedule.expirationTime == v_expirationTime){ + setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_008_PCH_ET() runs on CseTester system CseSystem { @@ -8352,12 +9231,21 @@ module OneM2M_Testcases { var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase; var AttributeAux_list v_nullFields; + var PrimitiveContent v_primitiveContentRetrieveResource; v_nullFields := {{"expirationTime", omit}}; v_updateRequest.primitiveContent.pollingChannel.expirationTime := v_expirationTime; f_CSE_DMR_UPD_008(int15, m_createPollingChannelBase, v_updateRequest, v_nullFields);//PollingChannel + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.pollingChannel)) { + if(v_primitiveContentRetrieveResource.pollingChannel.expirationTime == v_expirationTime){ + setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + } + } + } } testcase TC_CSE_DMR_UPD_008_SUB_ET() runs on CseTester system CseSystem { @@ -8365,15 +9253,24 @@ module OneM2M_Testcases { var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; var AttributeAux_list v_nullFields; + var PrimitiveContent v_primitiveContentRetrieveResource; v_nullFields := {{"expirationTime", omit}}; v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime; f_CSE_DMR_UPD_008(int23, m_createSubscriptionBase, v_updateRequest, v_nullFields);//Subscription + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.subscription)) { + if(v_primitiveContentRetrieveResource.subscription.expirationTime == v_expirationTime){ + setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated") + } + } + } } - function f_CSE_DMR_UPD_008(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester { + function f_CSE_DMR_UPD_008(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester { // Local variables var MsgIn v_response; @@ -8405,21 +9302,23 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Operation not allowed. Mandatory RW attribute from resource type " & int2str(enum2int(p_resourceType)) ); + setverdict(pass, __SCOPE__ & ": Operation not allowed. Mandatory RW attribute from resource type " & int2str(enum2int(p_resourceType)) ); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting mandatory RW attribute"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Deleting a mandatory RW attribute from resource"); + setverdict(fail, __SCOPE__ & ": Deleting a mandatory RW attribute from resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } + p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + // Postamble f_cse_postamble_deleteResources(); @@ -8469,24 +9368,24 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 1) { //(Create and Delete) - setverdict(pass, testcasename() & ": The stateTag attribute is incremented"); + setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented"); } else{ - setverdict(fail, testcasename() & ": Error the stateTag attribute is not incremented"); + setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented"); } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); } } }//end if else{ - setverdict(fail, testcasename() & ": Error the stateTag attribute is empty"); + setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is empty"); } // Postamble @@ -8514,6 +9413,7 @@ module OneM2M_Testcases { var integer v_contentInstanceIndex := -1; var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; var Labels v_labels:= {"LABEL"}; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.contentInstance.labels := v_labels; @@ -8539,21 +9439,31 @@ module OneM2M_Testcases { 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"); + setverdict(pass, __SCOPE__ & ": 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"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted update of contentInstance"); + setverdict(fail, __SCOPE__ & ": Accepted update of contentInstance"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating contentInstance"); + setverdict(fail, __SCOPE__ & ": No answer while updating contentInstance"); } } + v_primitiveContentRetrieveResource:=f_cse_retrieveResource(v_contentInstanceIndex); + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.contentInstance)) { + if(v_primitiveContentRetrieveResource.contentInstance.labels == v_labels){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } + // Postamble f_cse_postamble_deleteResources(); @@ -8579,6 +9489,7 @@ module OneM2M_Testcases { var integer v_contentInstanceIndex := -1; var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase; var Labels v_labels := {"LABEL"}; + var PrimitiveContent v_primitiveContentRetrieveResource; v_updateRequest.primitiveContent.contentInstance.labels := v_labels; @@ -8606,100 +9517,847 @@ module OneM2M_Testcases { 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"); + setverdict(pass, __SCOPE__ & ": 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"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Accepted update of a latest resource"); + setverdict(fail, __SCOPE__ & ": Accepted update of a latest resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating a latest resource"); + setverdict(fail, __SCOPE__ & ": No answer while updating a latest resource"); } } - // Postamble - f_cse_postamble_deleteResources(); + v_primitiveContentRetrieveResource:=f_cse_retrieveResource(v_contentInstanceIndex); + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.contentInstance)) { + if(v_primitiveContentRetrieveResource.contentInstance.labels == v_labels){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_UPD_012 + + } // end group g_CSE_DMR_UPD_012 + + group g_CSE_DMR_UPD_013{ + + /** + * @desc Check that the IUT rejects the UPDATE Request of an oldest resource as a direct child of a <container> resource with error “OPERATION_NOT_ALLOWED†+ * + */ + testcase TC_CSE_DMR_UPD_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"}; + var PrimitiveContent v_primitiveContentRetrieveResource; + + v_updateRequest.primitiveContent.contentInstance.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, __SCOPE__ & ": 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, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Accepted update of an oldest resource"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating an oldest resource"); + } + } + + v_primitiveContentRetrieveResource:=f_cse_retrieveResource(v_contentInstanceIndex); + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrieveResource.contentInstance)) { + if(v_primitiveContentRetrieveResource.contentInstance.labels == v_labels){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated") + } + } + } + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end TC_CSE_DMR_UPD_013 + + } // end group g_CSE_DMR_UPD_013 + + group g_CSE_DMR_UPD_014 { + + /** + * @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource. + * + */ + testcase TC_CSE_DMR_UPD_014_ACP_ET() runs on CseTester system CseSystem { + // Local variables + var Timestamp v_expirationTime_1 := "20301231T012345"; + var Timestamp v_expirationTime_2 := "20401020T012345"; + var template RequestPrimitive v_createRequest := m_createAcpBase; + var template RequestPrimitive v_updateRequest := m_updateAcpBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_1; + v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest);//ACP + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { + if(v_responsePrimitive.primitiveContent.accessControlPolicy.expirationTime != v_expirationTime_2){ + setverdict(fail, __SCOPE__ & ": Error: ExpirationTime attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_ACP_LBL() runs on CseTester system CseSystem { + // Local variables + var Labels v_labels_1 := {"VALUE_1"}; + var Labels v_labels_2 := {"VALUE_2"}; + var template RequestPrimitive v_createRequest := m_createAcpBase; + var template RequestPrimitive v_updateRequest := m_updateAcpBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1; + v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest);//ACP + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { + if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_ACP_PV() runs on CseTester system CseSystem { + // Local variables + var SetOfAcrs v_privileges_1; + var SetOfAcrs v_privileges_2; + var template RequestPrimitive v_createRequest := m_createAcpBase; + var template RequestPrimitive v_updateRequest := m_updateAcpBase; + var ResponsePrimitive v_responsePrimitive; + + v_privileges_1.accessControlRule_list[0].accessControlOperations := int31; + v_privileges_2.accessControlRule_list[0].accessControlOperations := int63; + + v_createRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_1; + v_updateRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest);//ACP + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { + if(v_responsePrimitive.primitiveContent.accessControlPolicy.privileges != v_privileges_2){ + setverdict(fail, __SCOPE__ & ": Error: Privileges attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_ACP_PVS() runs on CseTester system CseSystem { + // Local variables + var SetOfAcrs v_selfPrivileges_1; + var SetOfAcrs v_selfPrivileges_2; + var template RequestPrimitive v_createRequest := m_createAcpBase; + var template RequestPrimitive v_updateRequest := m_updateAcpBase; + var ResponsePrimitive v_responsePrimitive; + + v_selfPrivileges_1.accessControlRule_list[0].accessControlOperations := int31; + v_selfPrivileges_2.accessControlRule_list[0].accessControlOperations := int63; + + v_createRequest.primitiveContent.accessControlPolicy.selfPrivileges := v_selfPrivileges_1; + v_updateRequest.primitiveContent.accessControlPolicy.selfPrivileges := v_selfPrivileges_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest);//ACP + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { + if(v_responsePrimitive.primitiveContent.accessControlPolicy.selfPrivileges != v_selfPrivileges_2){ + setverdict(fail, __SCOPE__ & ": Error: SelfPrivileges attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_CNT_ACPI() runs on CseTester system CseSystem { + // Local variables + var AcpType v_accessControlPolicyIDs_1 := {"NotInitialized_1"}; + var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"}; + var ResponsePrimitive v_responsePrimitive; + + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + + v_createRequest.primitiveContent.container.accessControlPolicyIDs := v_accessControlPolicyIDs_1; + v_updateRequest.primitiveContent.container.accessControlPolicyIDs := v_accessControlPolicyIDs_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container + + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.container)) { + if(v_responsePrimitive.primitiveContent.container.accessControlPolicyIDs != v_accessControlPolicyIDs_2){ + setverdict(fail, __SCOPE__ & ": Error: AccessControlPolicyIDs attribute not updated correctly") + } + } + } + } + } + + testcase TC_CSE_DMR_UPD_014_CNT_ET() runs on CseTester system CseSystem { + // Local variables + var Timestamp v_expirationTime_1 := "20301231T012345"; + var Timestamp v_expirationTime_2 := "20401020T012345"; + var ResponsePrimitive v_responsePrimitive; + + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + + v_createRequest.primitiveContent.container.expirationTime := v_expirationTime_1; + v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container + + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.container)) { + if(v_responsePrimitive.primitiveContent.container.expirationTime != v_expirationTime_2){ + setverdict(fail, __SCOPE__ & ": Error: ExpirationTime attribute not updated correctly") + } + } + } + } + } + + testcase TC_CSE_DMR_UPD_014_CNT_LBL() runs on CseTester system CseSystem { + // Local variables + var Labels v_labels_1 := {"VALUE_1"}; + var Labels v_labels_2 := {"VALUE_2"}; + var ResponsePrimitive v_responsePrimitive; + + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + + v_createRequest.primitiveContent.container.labels := v_labels_1; + v_updateRequest.primitiveContent.container.labels := v_labels_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container + + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.container)) { + if(v_responsePrimitive.primitiveContent.container.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } + } + } + } + + testcase TC_CSE_DMR_UPD_014_CNT_MBS() runs on CseTester system CseSystem { + // Local variables + var XSD.NonNegativeInteger v_maxByteSize_1 := 256; + var XSD.NonNegativeInteger v_maxByteSize_2 := 512; + var ResponsePrimitive v_responsePrimitive; + + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + + v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize_1; + v_updateRequest.primitiveContent.container.maxByteSize := v_maxByteSize_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container + + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.container)) { + if(v_responsePrimitive.primitiveContent.container.maxByteSize != v_maxByteSize_2){ + setverdict(fail, __SCOPE__ & ": Error: MaxByteSize attribute not updated correctly") + } + } + } + } + } + + testcase TC_CSE_DMR_UPD_014_CNT_MIA() runs on CseTester system CseSystem { + // Local variables + var XSD.NonNegativeInteger v_maxInstanceAge_1 := 60; + var XSD.NonNegativeInteger v_maxInstanceAge_2 := 120; + var ResponsePrimitive v_responsePrimitive; + + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + + v_createRequest.primitiveContent.container.maxInstanceAge := v_maxInstanceAge_1; + v_updateRequest.primitiveContent.container.maxInstanceAge := v_maxInstanceAge_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container + + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.container)) { + if(v_responsePrimitive.primitiveContent.container.maxInstanceAge != v_maxInstanceAge_2){ + setverdict(fail, __SCOPE__ & ": Error: MaxInstanceAge attribute not updated correctly") + } + } + } + } + } + + testcase TC_CSE_DMR_UPD_014_CNT_MNI() runs on CseTester system CseSystem { + // Local variables + var XSD.NonNegativeInteger v_maxNrOfInstances_1 := 1; + var XSD.NonNegativeInteger v_maxNrOfInstances_2 := 2; + var ResponsePrimitive v_responsePrimitive; + + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + + v_createRequest.primitiveContent.container.maxNrOfInstances := v_maxNrOfInstances_1; + v_updateRequest.primitiveContent.container.maxNrOfInstances := v_maxNrOfInstances_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container + + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.container)) { + if(v_responsePrimitive.primitiveContent.container.maxNrOfInstances != v_maxNrOfInstances_2){ + setverdict(fail, __SCOPE__ & ": Error: MaxNrOfInstances attribute not updated correctly") + } + } + } + } + } + + testcase TC_CSE_DMR_UPD_014_CNT_OR() runs on CseTester system CseSystem { + // Local variables + var XSD.AnyURI v_ontologyRef_1 := "MyOntologyRef_1"; + var XSD.AnyURI v_ontologyRef_2 := "MyOntologyRef_2"; + var ResponsePrimitive v_responsePrimitive; + + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + + v_createRequest.primitiveContent.container.ontologyRef := v_ontologyRef_1; + v_updateRequest.primitiveContent.container.ontologyRef := v_ontologyRef_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest);//Container + + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.container)) { + if(v_responsePrimitive.primitiveContent.container.ontologyRef != v_ontologyRef_2){ + setverdict(fail, __SCOPE__ & ": Error: OntologyRef attribute not updated correctly") + } + } + } + } + } + + testcase TC_CSE_DMR_UPD_014_SUB_ACPI() runs on CseTester system CseSystem { + // Local variables + var AcpType v_accessControlPolicyIDs_1 := {"NotInitialized_1"}; + var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"}; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_1; + v_updateRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.accessControlPolicyIDs != v_accessControlPolicyIDs_2){ + setverdict(fail, __SCOPE__ & ": Error: AccessControlPolicyIDs attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_BN() runs on CseTester system CseSystem { + // Local variables + var BatchNotify v_batchNotify_1 := {1, "PT1S"}; + var BatchNotify v_batchNotify_2 := {2, "PT1S"}; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.batchNotify := v_batchNotify_1; + v_updateRequest.primitiveContent.subscription.batchNotify := v_batchNotify_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.batchNotify != v_batchNotify_2){ + setverdict(fail, __SCOPE__ & ": Error: EventNotificationCriteria attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_ENC() runs on CseTester system CseSystem { + // Local variables + var EventNotificationCriteria v_eventNotificationCriteria_1 := valueof(m_eventNotificationCriteria({int1}, -)); + var EventNotificationCriteria v_eventNotificationCriteria_2 := valueof(m_eventNotificationCriteria({int2}, -)); + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.eventNotificationCriteria := v_eventNotificationCriteria_1; + v_updateRequest.primitiveContent.subscription.eventNotificationCriteria := v_eventNotificationCriteria_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.eventNotificationCriteria != v_eventNotificationCriteria_2){ + setverdict(fail, __SCOPE__ & ": Error: EventNotificationCriteria attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_ET() runs on CseTester system CseSystem { + // Local variables + var Timestamp v_expirationTime_1 := "20301231T012345"; + var Timestamp v_expirationTime_2 := "20401020T012345"; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.expirationTime := v_expirationTime_1; + v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.expirationTime != v_expirationTime_2){ + setverdict(fail, __SCOPE__ & ": Error: ExpirationTime attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_EXC() runs on CseTester system CseSystem { + // Local variables + var XSD.PositiveInteger v_expirationCounter_1 := 10; + var XSD.PositiveInteger v_expirationCounter_2 := 20; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.expirationCounter := v_expirationCounter_1; + v_updateRequest.primitiveContent.subscription.expirationCounter := v_expirationCounter_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.expirationCounter != v_expirationCounter_2){ + setverdict(fail, __SCOPE__ & ": Error: ExpirationCounter attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_GPI() runs on CseTester system CseSystem { + // Local variables + var XSD.AnyURI v_groupID_1 := "MyGroupID_1"; + var XSD.AnyURI v_groupID_2 := "MyGroupID_2"; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.groupID := v_groupID_1; + v_updateRequest.primitiveContent.subscription.groupID := v_groupID_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.groupID != v_groupID_2){ + setverdict(fail, __SCOPE__ & ": Error: GroupID attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_LBL() runs on CseTester system CseSystem { + // Local variables + var Labels v_labels_1 := {"VALUE_1"}; + var Labels v_labels_2 := {"VALUE_2"}; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.labels := v_labels_1; + v_updateRequest.primitiveContent.subscription.labels := v_labels_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.labels != v_labels_2){ + setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_LN() runs on CseTester system CseSystem { + // Local variables + var XSD.Boolean v_latestNotify_1 := true; + var XSD.Boolean v_latestNotify_2 := false; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.latestNotify := v_latestNotify_1; + v_updateRequest.primitiveContent.subscription.latestNotify := v_latestNotify_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.latestNotify != v_latestNotify_2){ + setverdict(fail, __SCOPE__ & ": Error: LatestNotify attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_NCT() runs on CseTester system CseSystem { + // Local variables + var NotificationContentType v_notificationContentType_1 := int1; + var NotificationContentType v_notificationContentType_2 := int2; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType_1; + v_updateRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.notificationContentType != v_notificationContentType_2){ + setverdict(fail, __SCOPE__ & ": Error: NotificationContentType attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_NEC() runs on CseTester system CseSystem { + // Local variables + var EventCat v_notificationEventCat_1 := {alt_1 := 100}; + var EventCat v_notificationEventCat_2 := {alt_1 := 101}; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; + + v_createRequest.primitiveContent.subscription.notificationEventCat := v_notificationEventCat_1; + v_updateRequest.primitiveContent.subscription.notificationEventCat := v_notificationEventCat_2; + + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription + + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.notificationEventCat != v_notificationEventCat_2){ + setverdict(fail, __SCOPE__ & ": Error: NotificationEventCat attribute not updated correctly") + } + } + } + } + + } + + testcase TC_CSE_DMR_UPD_014_SUB_NFU() runs on CseTester system CseSystem { + // Local variables + var XSD.AnyURI v_notificationForwardingURI_1 := "MyForwardingURI_1"; + var XSD.AnyURI v_notificationForwardingURI_2 := "MyForwardingURI_2"; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; - // Tear down - f_cf01Down(); + v_createRequest.primitiveContent.subscription.notificationForwardingURI := v_notificationForwardingURI_1; + v_updateRequest.primitiveContent.subscription.notificationForwardingURI := v_notificationForwardingURI_2; - }//end TC_CSE_DMR_UPD_012 + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription - } // end group g_CSE_DMR_UPD_012 - - group g_CSE_DMR_UPD_013{ + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.notificationForwardingURI != v_notificationForwardingURI_2){ + setverdict(fail, __SCOPE__ & ": Error: NotificationForwardingURI attribute not updated correctly") + } + } + } + } - /** - * @desc Check that the IUT rejects the UPDATE Request of an oldest resource as a direct child of a <container> resource with error “OPERATION_NOT_ALLOWED†- * - */ - testcase TC_CSE_DMR_UPD_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"}; + } + + testcase TC_CSE_DMR_UPD_014_SUB_NSP() runs on CseTester system CseSystem { + // Local variables + var XSD.PositiveInteger v_notificationStoragePriority_1 := 1; + var XSD.PositiveInteger v_notificationStoragePriority_2 := 2; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; - v_updateRequest.primitiveContent.contentInstance.labels := v_labels; - - // Test control + v_createRequest.primitiveContent.subscription.notificationStoragePriority := v_notificationStoragePriority_1; + v_updateRequest.primitiveContent.subscription.notificationStoragePriority := v_notificationStoragePriority_2; - // Test component configuration - f_cf01Up(); + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription - // Test adapter configuration + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.notificationStoragePriority != v_notificationStoragePriority_2){ + setverdict(fail, __SCOPE__ & ": Error: NotificationStoragePriority attribute not updated correctly") + } + } + } + } - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + } + + testcase TC_CSE_DMR_UPD_014_SUB_PN() runs on CseTester system CseSystem { + // Local variables + var PendingNotification v_pendingNotification_1 := int1; + var PendingNotification v_pendingNotification_2 := int2; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; - v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_createRequest.primitiveContent.subscription.pendingNotification := v_pendingNotification_1; + v_updateRequest.primitiveContent.subscription.pendingNotification := v_pendingNotification_2; - v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex); + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription - //Test Body - v_request := f_getUpdateRequestPrimitive(int4, v_containerIndex, v_updateRequest); - - v_request.to_ := v_request.to_ & "/" & c_resourceShortNameOldest; //<oldest> + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.pendingNotification != v_pendingNotification_2){ + setverdict(fail, __SCOPE__ & ": Error: PendingNotification attribute not updated correctly") + } + } + } + } - 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(fail, testcasename() & ": No answer while updating an oldest resource"); - } - } + } + + testcase TC_CSE_DMR_UPD_014_SUB_RL() runs on CseTester system CseSystem { + // Local variables + var RateLimit v_rateLimit_1 := {0, omit}; + var RateLimit v_rateLimit_2 := {1, omit}; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase; + var ResponsePrimitive v_responsePrimitive; - // Postamble - f_cse_postamble_deleteResources(); + v_createRequest.primitiveContent.subscription.rateLimit := v_rateLimit_1; + v_updateRequest.primitiveContent.subscription.rateLimit := v_rateLimit_2; - // Tear down - f_cf01Down(); + v_responsePrimitive := f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest);//Subscription - }//end TC_CSE_DMR_UPD_013 + if(getverdict == pass){ + //Check attribute 1 + if(ispresent(v_responsePrimitive.primitiveContent)) { + if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { + if(v_responsePrimitive.primitiveContent.subscription.rateLimit != v_rateLimit_2){ + setverdict(fail, __SCOPE__ & ": Error: RateLimit attribute not updated correctly") + } + } + } + } + + } + + function f_CSE_DMR_UPD_014(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester return ResponsePrimitive{ + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var CseTester v_notifyHandler; + var integer v_ae2Index := -1; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); + + // Test Body + v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive); + + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + return v_response.primitive.responsePrimitive; + + }//end f_CSE_DMR_UPD_014 + + } // end g_CSE_DMR_UPD_014 - } // end group g_CSE_DMR_UPD_013 - group g_CSE_DMR_UPD_017{ + /** + * @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase + */ testcase TC_CSE_DMR_UPD_017_CSR_LBL() runs on CseTester system CseSystem { var Labels v_labels := {"MyLabel"}; var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; @@ -8714,7 +10372,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { if(v_responsePrimitive.primitiveContent.remoteCSE.labels != v_labels){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Labels attribute not updated correctly") } } } @@ -8742,7 +10400,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { if(v_responsePrimitive.primitiveContent.remoteCSE.pointOfAccess != v_poaList){ - setverdict(fail, testcasename() & ": Error: Point of access attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Point of access attribute not updated correctly") } } } @@ -8770,7 +10428,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { if(v_responsePrimitive.primitiveContent.remoteCSE.nodeLink != v_nodeLink){ - setverdict(fail, testcasename() & ": Error: Node link attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Node link attribute not updated correctly") } } } @@ -8798,7 +10456,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.node)) { if(v_responsePrimitive.primitiveContent.node.labels != v_labels){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Labels attribute not updated correctly") } } } @@ -8826,7 +10484,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.node)) { if(v_responsePrimitive.primitiveContent.node.accessControlPolicyIDs != v_acpType){ - setverdict(fail, testcasename() & ": Error: Access Control Policy attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Access Control Policy attribute not updated correctly") } } } @@ -8859,7 +10517,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.aE)) { if(v_responsePrimitive.primitiveContent.aE.labels != v_labels){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Labels attribute not updated correctly") } } } @@ -8887,7 +10545,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.aE)) { if(v_responsePrimitive.primitiveContent.aE.accessControlPolicyIDs != v_acpType){ - setverdict(fail, testcasename() & ": Error: Access control policy IDs attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Access control policy IDs attribute not updated correctly") } } } @@ -8914,7 +10572,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.aE)) { if(v_responsePrimitive.primitiveContent.aE.appName != v_appName){ - setverdict(fail, testcasename() & ": Error: AppName attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: AppName attribute not updated correctly") } } } @@ -8941,7 +10599,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.aE)) { if(v_responsePrimitive.primitiveContent.aE.pointOfAccess != v_poaList){ - setverdict(fail, testcasename() & ": Error: Point of Access attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Point of Access attribute not updated correctly") } } } @@ -8968,7 +10626,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.aE)) { if(v_responsePrimitive.primitiveContent.aE.ontologyRef != v_ontoLogyRef){ - setverdict(fail, testcasename() & ": Error: Ontology Ref attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Ontology Ref attribute not updated correctly") } } } @@ -8996,7 +10654,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.labels != v_labels){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Labels attribute not updated correctly") } } } @@ -9024,7 +10682,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.accessControlPolicyIDs != v_acpType){ - setverdict(fail, testcasename() & ": Error: Access Control Policy IDs attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Access Control Policy IDs attribute not updated correctly") } } } @@ -9052,7 +10710,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.maxNrOfInstances != v_maxNrOfInstances){ - setverdict(fail, testcasename() & ": Error: Maximum number of instances attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Maximum number of instances attribute not updated correctly") } } } @@ -9080,7 +10738,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.maxByteSize != v_maxByteSize){ - setverdict(fail, testcasename() & ": Error: Maximum Byte size attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Maximum Byte size attribute not updated correctly") } } } @@ -9108,7 +10766,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.maxInstanceAge != v_maxInstanceAge){ - setverdict(fail, testcasename() & ": Error: Maximum Instance age attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Maximum Instance age attribute not updated correctly") } } } @@ -9136,7 +10794,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.ontologyRef != v_ontoLogyRef){ - setverdict(fail, testcasename() & ": Error: Ontology Ref attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Ontology Ref attribute not updated correctly") } } } @@ -9164,7 +10822,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.locationID != v_locationID){ - setverdict(fail, testcasename() & ": Error: Location ID attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Location ID attribute not updated correctly") } } } @@ -9192,7 +10850,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Labels attribute not updated correctly") } } } @@ -9220,7 +10878,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.accessControlPolicyIDs != v_acpType){ - setverdict(fail, testcasename() & ": Error: Access Control Policy IDs attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Access Control Policy IDs attribute not updated correctly") } } } @@ -9247,7 +10905,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.labels != v_labels){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Labels attribute not updated correctly") } } } @@ -9274,7 +10932,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.eventNotificationCriteria != v_eventNotificationCriteria){ - setverdict(fail, testcasename() & ": Error: Event Notification Criteria attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Event Notification Criteria attribute not updated correctly") } } } @@ -9301,7 +10959,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.expirationCounter != v_expirationCounter){ - setverdict(fail, testcasename() & ": Error: Expiration Counter attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Expiration Counter attribute not updated correctly") } } } @@ -9328,7 +10986,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.groupID != v_groupID){ - setverdict(fail, testcasename() & ": Error: Group ID attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Group ID attribute not updated correctly") } } } @@ -9355,7 +11013,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationForwardingURI != v_notificationForwardingURI){ - setverdict(fail, testcasename() & ": Error: Notification Forwarding URI attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Notification Forwarding URI attribute not updated correctly") } } } @@ -9382,7 +11040,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.batchNotify != v_batchNotify){ - setverdict(fail, testcasename() & ": Error: Batch Notify attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Batch Notify attribute not updated correctly") } } } @@ -9409,7 +11067,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.rateLimit != v_rateLimit){ - setverdict(fail, testcasename() & ": Error: Rate Limit attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Rate Limit attribute not updated correctly") } } } @@ -9436,7 +11094,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.pendingNotification != v_pendingNotification){ - setverdict(fail, testcasename() & ": Error: Pending Notification attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Pending Notification attribute not updated correctly") } } } @@ -9463,7 +11121,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationStoragePriority != v_notificationStoragePriority){ - setverdict(fail, testcasename() & ": Error: Notification Storage priority attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Notification Storage priority attribute not updated correctly") } } } @@ -9490,7 +11148,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.latestNotify != v_latestNotify){ - setverdict(fail, testcasename() & ": Error: Latest Notify priority attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Latest Notify priority attribute not updated correctly") } } } @@ -9517,7 +11175,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationEventCat != v_eventCat){ - setverdict(fail, testcasename() & ": Error: Notification Event Cat attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Notification Event Cat attribute not updated correctly") } } } @@ -9544,7 +11202,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.labels != v_labels){ - setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Labels attribute not updated correctly") } } } @@ -9571,7 +11229,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.accessControlPolicyIDs != v_acpType){ - setverdict(fail, testcasename() & ": Error: Access Control Policy IDs attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Access Control Policy IDs attribute not updated correctly") } } } @@ -9598,7 +11256,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.membersAccessControlPolicyIDs != v_membersAccessControlPolicyIDs){ - setverdict(fail, testcasename() & ": Error: Members Access Control Policy IDs attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Members Access Control Policy IDs attribute not updated correctly") } } } @@ -9625,7 +11283,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.groupName != v_groupName){ - setverdict(fail, testcasename() & ": Error: Group name attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Group name attribute not updated correctly") } } } @@ -9640,67 +11298,74 @@ module OneM2M_Testcases { } function f_CSE_DMR_UPD_017(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, out PrimitiveContent p_primitiveContentRetrievedResource) runs on CseTester return ResponsePrimitive { - //Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var CseTester v_notifyHandler; - var integer v_ae2Index := -1; + //Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var CseTester v_notifyHandler; + var integer v_ae2Index := -1; - // Test control + // Test control - // Test component configuration - f_cf02Up(); + // Test component configuration + f_cf02Up(); - // Test adapter configuration + // Test adapter configuration - // Preamble - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - if (p_resourceType!=int16){ //ResourceType != RemoteCSE + if (p_resourceType!=int16){ //ResourceType != RemoteCSE - f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource - } else { //ResourceType = RemoteCSE - v_resourceIndex := f_cse_registerRemoteCse(p_createRequestPrimitive); - } + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource + } else { //ResourceType = RemoteCSE + v_resourceIndex := f_cse_registerRemoteCse(p_createRequestPrimitive); + } - //Test Body - v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive); + //Test Body + v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive); - mcaPort.send(m_request(v_request)); //CSEBase - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { - tc_ac.stop; - 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; - setverdict(fail, testcasename() & ": Error while updating optional attribute"); - } - [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); - } - } + mcaPort.send(m_request(v_request)); //CSEBase + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__, ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__, ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__, ": Error while updating optional attribute"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__, ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + } + } - p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); + p_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex); - //Postamble - f_cse_postamble_deleteResources(); + //Postamble + f_cse_postamble_deleteResources(); - // Tear down - f_cf02Down(); + // Tear down + f_cf02Down(); - return v_response.primitive.responsePrimitive; + return v_response.primitive.responsePrimitive; } // end function f_CSE_DMR_UPD_017 } // end group g_CSE_DMR_UPD_017 group g_CSE_DMR_UPD_018 { + /** + * @desc Check that the IUT updates successfully the value of the attribute MANDATORY_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase + */ testcase TC_CSE_DMR_UPD_018_CSR_ET() runs on CseTester system CseSystem { var Timestamp v_expirationTime := "20001231T012345"; var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase; @@ -9716,7 +11381,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { if(v_responsePrimitive.primitiveContent.remoteCSE.expirationTime != v_expirationTime){ - setverdict(fail, testcasename() & ": Error: Expiration time attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Expiration time attribute not updated correctly") } } } @@ -9744,7 +11409,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) { if(v_responsePrimitive.primitiveContent.remoteCSE.requestReachability != v_requestReachability){ - setverdict(fail, testcasename() & ": Error: Request Reachability attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Request Reachability attribute not updated correctly") } } } @@ -9772,7 +11437,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.node)) { if(v_responsePrimitive.primitiveContent.node.expirationTime != v_expirationTime){ - setverdict(fail, testcasename() & ": Error: Expiration time attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Expiration time attribute not updated correctly") } } } @@ -9800,7 +11465,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.node)) { if(v_responsePrimitive.primitiveContent.node.nodeID != v_targetId){ - setverdict(fail, testcasename() & ": Error: NodeID attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: NodeID attribute not updated correctly") } } } @@ -9828,7 +11493,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.aE)) { if(v_responsePrimitive.primitiveContent.aE.expirationTime != v_expirationTime){ - setverdict(fail, testcasename() & ": Error: Expiration time attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Expiration time attribute not updated correctly") } } } @@ -9856,7 +11521,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.aE)) { if(v_responsePrimitive.primitiveContent.aE.requestReachability != v_requestReachability){ - setverdict(fail, testcasename() & ": Error: Request Reachability attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Request Reachability attribute not updated correctly") } } } @@ -9884,7 +11549,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.container)) { if(v_responsePrimitive.primitiveContent.container.expirationTime != v_expirationTime){ - setverdict(fail, testcasename() & ": Error: Expiration time attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Expiration time attribute not updated correctly") } } } @@ -9912,7 +11577,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(v_responsePrimitive.primitiveContent.accessControlPolicy.expirationTime != v_expirationTime){ - setverdict(fail, testcasename() & ": Error: Expiration time attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Expiration time attribute not updated correctly") } } } @@ -9949,7 +11614,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(v_responsePrimitive.primitiveContent.accessControlPolicy.privileges != v_privileges_1){ - setverdict(fail, testcasename() & ": Error: Privileges attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Privileges attribute not updated correctly") } } } @@ -9986,7 +11651,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) { if(v_responsePrimitive.primitiveContent.accessControlPolicy.selfPrivileges != v_privileges_1){ - setverdict(fail, testcasename() & ": Error: Self Privileges attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Self Privileges attribute not updated correctly") } } } @@ -10014,7 +11679,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.expirationTime != v_expirationTime){ - setverdict(fail, testcasename() & ": Error: Expiration time attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Expiration time attribute not updated correctly") } } } @@ -10042,7 +11707,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationURI != v_notificationURI){ - setverdict(fail, testcasename() & ": Error: Notification URI attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Notification URI attribute not updated correctly") } } } @@ -10070,7 +11735,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.subscription)) { if(v_responsePrimitive.primitiveContent.subscription.notificationContentType != v_notificationContentType){ - setverdict(fail, testcasename() & ": Error: Notification Content Type attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Notification Content Type attribute not updated correctly") } } } @@ -10098,7 +11763,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.expirationTime != v_expirationTime){ - setverdict(fail, testcasename() & ": Error: Expiration Time attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Expiration Time attribute not updated correctly") } } } @@ -10126,7 +11791,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.maxNrOfMembers != v_maxNrOfMembers){ - setverdict(fail, testcasename() & ": Error: Maximum Number of Members attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Maximum Number of Members attribute not updated correctly") } } } @@ -10154,7 +11819,7 @@ module OneM2M_Testcases { if(ispresent(v_responsePrimitive.primitiveContent)) { if(ischosen(v_responsePrimitive.primitiveContent.group_)) { if(v_responsePrimitive.primitiveContent.group_.memberIDs != v_memberIDs){ - setverdict(fail, testcasename() & ": Error: Member IDs attribute not updated correctly") + setverdict(fail, __SCOPE__, ": Error: Member IDs attribute not updated correctly") } } } @@ -10204,14 +11869,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + setverdict(pass, __SCOPE__, ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__, ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating mandatory attribute"); + setverdict(fail, __SCOPE__, ": Error while updating mandatory attribute"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__, ": No answer while updating resource type " & int2str(enum2int(p_resourceType))); } } @@ -10278,13 +11947,19 @@ module OneM2M_Testcases { f_CSE_DMR_DEL_001(int23, m_createSubscriptionBase);//Subscription }; + testcase TC_CSE_DMR_DEL_001_CIN() runs on CseTester system CseSystem { + // Local variables + f_CSE_DMR_DEL_001(int4, m_createContentInstanceBase);//ContentInstance + }; function f_CSE_DMR_DEL_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on CseTester { // Local variables var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; + var integer v_parentIndex := -1; + var integer v_containerIndex := -1; var integer v_resourceIndex := -1; var CseTester v_notifyHandler; var integer v_ae2Index := -1; @@ -10301,7 +11976,14 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType); - v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); + if(p_resourceType == int4) { + v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_parentIndex := v_containerIndex; + }else{ + v_parentIndex := v_aeIndex; + } + + v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex); // Test Body v_request := valueof(m_deleteRequest(f_getResourceAddress(v_resourceIndex))); @@ -10309,16 +11991,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource" & int2str(enum2int(p_resourceType)) & " deleted successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(p_resourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); } } @@ -10391,7 +12077,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -10412,23 +12098,8 @@ module OneM2M_Testcases { v_setOfArcs.accessControlRule_list := {v_accessControlRule_1, v_accessControlRule_2}; v_updateRequest := valueof(m_updateAcpPrivileges(v_setOfArcs, -)); v_updateRequest := f_getUpdateRequestPrimitive(int1, vc_acpAuxIndex, v_updateRequest); + f_cse_updateResource(v_updateRequest); - mcaPort.send(m_request(v_updateRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int1 (Acp) updated successfully"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type int1 (Acp)"); - } - [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type int1 (Acp)"); - } - } - //Adjustments for ACP resource type if(p_resourceType == int1) { p_createRequestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2}; @@ -10452,21 +12123,30 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Access denied to delete the resource " & int2str(enum2int(p_resourceType))); + setverdict(pass, __SCOPE__ & ": Access denied to delete the resource " & int2str(enum2int(p_resourceType))); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error resource deleted without having privileges"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting a resource "); + setverdict(fail, __SCOPE__ & ": Error resource deleted without having privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); } } + f_checkCseTesterStatus(); + + //Check if the resource has been deleted or not + if(f_isResourcePresent(v_resourceIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource not deleted"); + } else { + setverdict(fail, __SCOPE__ & ":INFO: Resource deleted"); + } + // Postamble // We are forced to delete the Ae because the delete request in the postamble_deleteResources is sent by Ae itself, witch doesn't have privileges f_cse_deleteResource(valueof(m_deleteRequest(f_getResourceAddress(v_aeIndex)))); @@ -10514,18 +12194,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Unexisting resource cannot be deleted"); + setverdict(pass, __SCOPE__ & ": Unexisting resource cannot be deleted"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting non existing resource"); + setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting non existing resource"); + setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource"); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); } } @@ -10607,43 +12287,27 @@ module OneM2M_Testcases { v_childResourceIndex := f_cse_createResource(p_childResourceType, p_createRequestPrimitiveChildResource, v_resourceIndex); - // Test Body - v_request := valueof(m_deleteRequest(f_getResourceAddress(v_resourceIndex))); - - mcaPort.send(m_request(v_request)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(pass, testcasename() & ":Resource type " & int2str(enum2int(p_resourceType)) & " delete successfully"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting resource type " & int2str(enum2int(p_resourceType))); - } - [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type " & int2str(enum2int(p_resourceType))); - } - } + f_cse_deleteResource(valueof(m_deleteRequest(f_getResourceAddress(v_resourceIndex)))); + // Test Body mcaPort.send(m_request(m_deleteRequest(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex)))); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Error while deleting non existing resource"); + setverdict(pass, __SCOPE__ & ": Error while deleting non existing resource"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting non existing resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting non existing resource"); + setverdict(fail, __SCOPE__ & ": Error while deleting non existing resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource"); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource"); } } @@ -10693,16 +12357,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " delete successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " delete successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); + setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); } } @@ -10715,24 +12383,24 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 2) { //(Create and Delete) - setverdict(pass, testcasename() & ": The stateTag attribute is incremented"); + setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented"); } else{ - setverdict(fail, testcasename() & ": Error the stateTag attribute is not incremented"); + setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented"); } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); } } }//end if else{ - setverdict(fail, testcasename() & ": Error the stateTag attribute is empty"); + setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is empty"); } // Postamble @@ -10776,7 +12444,7 @@ module OneM2M_Testcases { v_attributesContainer := f_cse_retrieveResource(v_containerIndex); if(not(ispresent(v_attributesContainer.container.currentNrOfInstances))) { - setverdict(fail, testcasename() & ": Error the currentNrOfInstances attribute is empty"); + setverdict(fail, __SCOPE__ & ": Error the currentNrOfInstances attribute is empty"); f_checkCseTesterStatus(); } @@ -10786,15 +12454,15 @@ module OneM2M_Testcases { v_attributesContainer_afterDeletion := f_cse_retrieveResource(v_containerIndex); if(not(ispresent(v_attributesContainer.container.currentNrOfInstances))) { - setverdict(fail, testcasename() & ": Error the currentNrOfInstances attribute is empty"); + setverdict(fail, __SCOPE__ & ": Error the currentNrOfInstances attribute is empty"); f_checkCseTesterStatus(); } if((v_attributesContainer.container.currentNrOfInstances > v_attributesContainer_afterDeletion.container.currentNrOfInstances) and (v_attributesContainer.container.currentByteSize > v_attributesContainer_afterDeletion.container.currentByteSize)) { - setverdict(pass, testcasename() & ": The currentNrOfInstances and currentByteSize attributes are decreased"); + setverdict(pass, __SCOPE__ & ": The currentNrOfInstances and currentByteSize attributes are decreased"); } else { - setverdict(fail, testcasename() & ": currentNrOfInstances and/or currentByteSize attributes are not decreased"); + setverdict(fail, __SCOPE__ & ": currentNrOfInstances and/or currentByteSize attributes are not decreased"); } // Postamble @@ -10838,21 +12506,25 @@ module OneM2M_Testcases { v_contentInstanceIndex_2 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex); // Test Body - v_request := valueof(m_deleteRequest(f_getResourceAddress(v_containerIndex) & "/la")); + v_request := valueof(m_deleteRequest(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest)); mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " deleted successfuly"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " deleted successfuly"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); + setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); } } @@ -10864,14 +12536,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " has already been deleted"); + setverdict(fail, __SCOPE__ & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " has already been deleted"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(pass, testcasename() & ": Error while retrieving resource attributes as" & int2str(enum2int(c_containerResourceType)) & " has been deleted"); + setverdict(pass, __SCOPE__ & ": Error while retrieving resource attributes as" & int2str(enum2int(c_containerResourceType)) & " has been deleted"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); } } @@ -10913,20 +12585,24 @@ module OneM2M_Testcases { v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); // Test Body - v_request := valueof(m_deleteRequest(f_getResourceAddress(v_containerIndex) & "/la")); + v_request := valueof(m_deleteRequest(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest)); mcaPort.send(m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " NOT FOUND"); + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " NOT FOUND"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " has not been created"); + setverdict(fail, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " has not been created"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); } } @@ -10971,21 +12647,25 @@ module OneM2M_Testcases { v_contentInstanceIndex_2 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex); // Test Body - v_request := valueof(m_deleteRequest(f_getResourceAddress(v_containerIndex) & "/ol")); + v_request := valueof(m_deleteRequest(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest)); mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " deleted successfuly"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " deleted successfuly"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); + setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); } } @@ -10997,14 +12677,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Resource type" & int2str(enum2int(c_containerResourceType)) & "has already been deleted"); + setverdict(fail, __SCOPE__ & ": Resource type" & int2str(enum2int(c_containerResourceType)) & "has already been deleted"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(pass, testcasename() & ": Error while retrieving resource attributes as" & int2str(enum2int(c_containerResourceType)) & " has been deleted"); + setverdict(pass, __SCOPE__ & ": Error while retrieving resource attributes as" & int2str(enum2int(c_containerResourceType)) & " has been deleted"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource attributes"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes"); } } @@ -11046,20 +12726,24 @@ module OneM2M_Testcases { v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); // Test Body - v_request := valueof(m_deleteRequest(f_getResourceAddress(v_containerIndex) & "/ol")); + v_request := valueof(m_deleteRequest(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest)); mcaPort.send(m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " NOT FOUND"); + setverdict(pass, __SCOPE__ & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " NOT FOUND"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " has not been created"); + setverdict(fail, __SCOPE__ & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " has not been created"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType))); } } @@ -11081,7 +12765,7 @@ module OneM2M_Testcases { testcase TC_CSE_LOC_BV_001() runs on CseTester system CseSystem { - var integer v_aeAuxIndex := -1; + var integer v_aeIndex := -1; var RequestPrimitive v_request; var MsgIn v_response; var LocationSource v_locationSource := int1;//Network-based @@ -11090,10 +12774,10 @@ module OneM2M_Testcases { f_cf01Up(); //Preamble - v_aeAuxIndex := f_cse_preamble_registerAe(); + v_aeIndex := f_cse_preamble_registerAe(); //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, omit, omit, omit), v_aeAuxIndex); + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, omit, omit, omit), v_aeIndex); //Test Body mcaPort.send(m_request(v_request)); @@ -11101,21 +12785,31 @@ module OneM2M_Testcases { alt{ [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { //BAD REQUEST tc_ac.stop; - setverdict(pass, testcasename() & "Resource <locationPolicy> create request is rejected due to invalid request body message!!"); + setverdict(pass, __SCOPE__ & "Resource <locationPolicy> create request is rejected due to invalid request body message!!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while handling an invalid locationPolicy resource create request with response status code:" & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Created a locationPolicy resource for an invalid create request with response status code:" & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + setverdict(fail, __SCOPE__ & ": Created a locationPolicy resource for an invalid create request with response status code:" & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": Timeout due to no response received from requested server!"); + setverdict(fail, __SCOPE__ & ": Timeout due to no response received from requested server!"); } } + + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -11136,6 +12830,7 @@ module OneM2M_Testcases { var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS; var RequestPrimitive v_request; var MsgIn v_response; + var integer v_resourceIndex := -1; //Test component configuration f_cf01Up(); @@ -11150,19 +12845,33 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int10, v_aeAuxIndex); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": Timeout due to no response from requested server!"); + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourcePresent(v_resourceIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -11178,7 +12887,7 @@ module OneM2M_Testcases { testcase TC_CSE_LOC_BO_003() runs on CseTester system CseSystem {//the originator has no privileges to create a locationPolicy resource!! - var integer v_aeAuxIndex := -1; + var integer v_aeIndex := -1; var integer v_acpAuxIndex := -1; var LocationSource v_locationSource := int1;//Network-based var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; @@ -11189,7 +12898,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -11199,10 +12908,10 @@ module OneM2M_Testcases { //Preamble v_acpAuxIndex := f_cse_preamble_createAcpAux(-, int62);//c_RUDNDi) //No resource creation privilege - v_aeAuxIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -); + v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -); //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource,omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeAuxIndex); + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource,omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeIndex); // Test Body mcaPort.send(m_request(v_request)); @@ -11210,17 +12919,30 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Access denied to create a resource including locationPolicy!"); + setverdict(pass, __SCOPE__ & ": Access denied to create a resource including locationPolicy!"); } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT failed to check the access privilege of originator!"); + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT failed to check the access privilege of originator!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": Timeout due to no response from requested server!"); + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -11235,7 +12957,7 @@ module OneM2M_Testcases { group g_CSE_LOC_BO_004{ testcase TC_CSE_LOC_BO_004() runs on CseTester system CseSystem { - var integer v_aeAuxIndex := -1; + var integer v_aeIndex := -1; var LocationSource v_locationSource := int1;//Netwok-based var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD; var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID; @@ -11247,10 +12969,10 @@ module OneM2M_Testcases { f_cf01Up(); //Preamble - v_aeAuxIndex := f_cse_preamble_registerAe(); + v_aeIndex := f_cse_preamble_registerAe(); //Set requestPrimitive - v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeAuxIndex); + v_request := f_getCreateRequestPrimitive(int10, m_createLocationPolicy(v_locationSource, omit, locationUpdatePeriod, locationTargetID, locationServerAddress), v_aeIndex); // Test Body mcaPort.send(m_request(v_request)); @@ -11258,17 +12980,29 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": The targeted resource is not found!!"); + setverdict(pass, __SCOPE__ & ": The targeted resource is not found!!"); } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error occurrs with response status code: "& int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT created a locationPolicy resource under a non-existed parent resource!"); + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: "& int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT created a locationPolicy resource under a non-existed parent resource!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": Timeout due to no response from requested server!"); + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } // Postamble f_cse_postamble_deleteResources(); @@ -11313,17 +13047,25 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Update locationPolicy resource is rejected!!"); + setverdict(pass, __SCOPE__ & ": Update locationPolicy resource is rejected!!"); } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error occurrs with response status code: "& int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT failed to handle an invalid locationPolicy update request"); + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: "& int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "due to IUT failed to handle an invalid locationPolicy update request"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": Timeout due to no response from requested server!"); + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); } } + f_checkCseTesterStatus(); + + //TODO: Check to see if the resource has been updated or not + // Postamble f_cse_postamble_deleteResources(); @@ -11368,25 +13110,28 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ tc_ac.stop; if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.container.locationID)){ - setverdict(fail, testcasename() & "No locationID is included in the response!"); + setverdict(fail, __SCOPE__ & "No locationID is included in the response!"); }else{ - setverdict(pass, testcasename() & "Container resource associated with locationPolicy resource is successfully retrieved with locationID included in the response!"); + setverdict(pass, __SCOPE__ & "Container resource associated with locationPolicy resource is successfully retrieved with locationID included in the response!"); } } [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & "Requested container resource is not found!"); + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } } + + f_checkCseTesterStatus(); + // Postamble f_cse_postamble_deleteResources(); @@ -11407,6 +13152,7 @@ module OneM2M_Testcases { var RequestPrimitive v_request; var MsgIn v_response; var LocationSource v_locationSource := int2;//Device-based + var integer v_resourceIndex := -1; //Test component configuration f_cf01Up(); @@ -11422,19 +13168,33 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int10, v_aeAuxIndex); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": Timeout due to no response from requested server!"); + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourcePresent(v_resourceIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -11455,6 +13215,7 @@ module OneM2M_Testcases { var LocationSource v_locationSource := int3;//Share-based var RequestPrimitive v_request; var MsgIn v_response; + var integer v_resourceIndex := -1; //Test component configuration f_cf01Up(); @@ -11471,19 +13232,33 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int10, v_aeAuxIndex); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource locationPolicy is created successfully with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))&"!"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); + setverdict(fail, __SCOPE__ & ": Error occurrs with response status code: " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode)) & "while handling a valid locationPolicy resource create request!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": Timeout due to no response from requested server!"); + setverdict(fail, __SCOPE__ & ": Timeout due to no response from requested server!"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourcePresent(v_resourceIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -11534,22 +13309,22 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ tc_ac.stop; if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ - setverdict(fail, testcasename() & "No NotificationEvent is included in the response!"); + setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); }else{ - setverdict(pass, testcasename() & "Location information is successfully sent!"); + setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); } } [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & "Requested container resource is not found!"); + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } } @@ -11597,22 +13372,22 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ tc_ac.stop; if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ - setverdict(fail, testcasename() & "No NotificationEvent is included in the response!"); + setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); }else{ - setverdict(pass, testcasename() & "Location information is successfully sent!"); + setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); } } [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & "Requested container resource is not found!"); + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } } @@ -11659,22 +13434,22 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ tc_ac.stop; if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.notification.notificationEvent)){ - setverdict(fail, testcasename() & "No NotificationEvent is included in the response!"); + setverdict(fail, __SCOPE__ & "No NotificationEvent is included in the response!"); }else{ - setverdict(pass, testcasename() & "Location information is successfully sent!"); + setverdict(pass, __SCOPE__ & "Location information is successfully sent!"); } } [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & "Requested container resource is not found!"); + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } } @@ -11733,16 +13508,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(valueof(f_getCreateRequestPrimitive(int23, v_subscription_request_preamble, v_locContainerResourceIndex)))); tc_ac.start; alt{ + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response{ + tc_ac.stop; + setverdict(pass, __SCOPE__ & "Subscription resource is successfully!"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ tc_ac.stop; - setverdict(pass, testcasename() & "Subscription resource is successfully!"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & "Requested container resource is not found!"); + setverdict(fail, __SCOPE__ & "Requested container resource is not found!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating subscription resource!"); + setverdict(fail, __SCOPE__ & ": No answer while creating subscription resource!"); } } @@ -11786,22 +13565,22 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{ tc_ac.stop; if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.locationPolicy.locationContainerID)){ - setverdict(fail, testcasename() & "No locationContainerID is included in the response!"); + setverdict(fail, __SCOPE__ & "No locationContainerID is included in the response!"); }else{ - setverdict(pass, testcasename() & "LocationPolicy resource is successfully retrieved with locationContainerID included in the response!"); + setverdict(pass, __SCOPE__ & "LocationPolicy resource is successfully retrieved with locationContainerID included in the response!"); } } [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response{ tc_ac.stop; - setverdict(fail, testcasename() & "Requested locationPolicy is not found!"); + setverdict(fail, __SCOPE__ & "Requested locationPolicy is not found!"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource!"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource!"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource!"); } } @@ -11839,6 +13618,7 @@ module OneM2M_Testcases { var ListOfURIs v_memberIDs; var template RequestPrimitive v_createRequest; var ResponsePrimitive v_responsePrimitive; + var boolean v_resourceCreated := false; // Test control @@ -11866,21 +13646,31 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Creation failed because member ID exceed max number of member"); + setverdict(pass, __SCOPE__ & ": Creation failed because member ID exceed max number of member"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error resource created while member ID exceed max number of member"); + setverdict(fail, __SCOPE__ & ": Error resource created while member ID exceed max number of member"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + + // Postamble f_cse_postamble_deleteResources(); @@ -11910,7 +13700,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -11936,21 +13726,30 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5105))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": creation failed due to lack of privilege"); + setverdict(pass, __SCOPE__ & ": creation failed due to lack of privilege"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error creation successful while doesn't have privileges for retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error creation successful while doesn't have privileges for retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + // Postamble f_cse_postamble_deleteResources(); @@ -11981,7 +13780,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -12008,18 +13807,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5105))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Update failed due to lack of privilege"); + setverdict(pass, __SCOPE__ & ": Update failed due to lack of privilege"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error update successful while doesn't have privileges for retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error update successful while doesn't have privileges for retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } @@ -12066,21 +13865,21 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource created successfully"); + setverdict(pass, __SCOPE__ & ": Resource created successfully"); if(not match({v_memberID}, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ - setverdict(fail, testcasename(), ": Error, presence of duplicate member IDs "); + setverdict(fail, __SCOPE__, ": Error, presence of duplicate member IDs "); } if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) { - setverdict(fail, testcasename() & ": Error, wrong number of memberIDs attribute"); + setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -12125,22 +13924,22 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource created successfully"); + setverdict(pass, __SCOPE__ & ": Resource created successfully"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){ - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); } } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource" ); + setverdict(fail, __SCOPE__ & ": No answer while creating resource" ); } } @@ -12186,33 +13985,33 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource created successfully"); + setverdict(pass, __SCOPE__ & ": Resource created successfully"); // check for memberTypeValidated if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){ - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); } } // check for memberType (MIXED) if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType)){ - setverdict(fail, testcasename(), ": Error, memberType attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberType attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType != int0){ - setverdict(fail, testcasename(), ": Error, memberType attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, memberType attribute not correct"); } } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -12261,18 +14060,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int6011))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": unsuccessful validation of the resource type during the creation of the group"); + setverdict(pass, __SCOPE__ & ": unsuccessful validation of the resource type during the creation of the group"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error create succesfull while the operation should be aborted"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error create succesfull while the operation should be aborted"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -12322,32 +14121,32 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource created successfully"); + setverdict(pass, __SCOPE__ & ": Resource created successfully"); // check for memberTypeValidated if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){ - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){ - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not correct"); } } // check for membersId if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ - setverdict(fail, testcasename(), ": Error, memberIDs attribute not provided"); + 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)){ - setverdict(fail, testcasename(), ": Error, memberIDs attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not correct"); } } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -12377,6 +14176,7 @@ module OneM2M_Testcases { var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); var XSD.AnyURI v_memberId_1; var XSD.AnyURI v_memberId_2; + var PrimitiveContent v_primitiveContentRetrievedResource; // Test control @@ -12402,34 +14202,43 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": update successful"); + setverdict(pass, __SCOPE__ & ": update successful"); // check for membersId if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ - setverdict(fail, testcasename(), ": Error, memberIDs attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not provided"); } else { if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) { - setverdict(fail, testcasename() & ": Error, wrong number of memberIDs attribute"); + setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); } if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] != v_memberId_2){ - setverdict(fail, testcasename(), ": Error, memberIDs attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not correct"); } } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error update successful with wrong ResponseStatusCode"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource"); + setverdict(fail, __SCOPE__ & ": Error while updating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); + if(getverdict == pass){ + if(ischosen(v_primitiveContentRetrievedResource.group_)){ + if(v_primitiveContentRetrievedResource.group_.memberIDs[0] != v_memberId_2){ + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not updated"); + } + } + } + //Postamble f_cse_postamble_deleteResources(); @@ -12452,6 +14261,7 @@ module OneM2M_Testcases { var integer v_containerIndex_2 := -1; var integer v_groupIndex := -1; var RequestPrimitive v_updateRequest := valueof(m_updateGroupBase); + var PrimitiveContent v_primitiveContentRetrievedResource; // Test control @@ -12475,30 +14285,39 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": update successful"); + setverdict(pass, __SCOPE__ & ": update successful"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false) { - setverdict(fail, testcasename(), ": Error, memberTypeValidated wrong value"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated wrong value"); } } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error update successful with wrong ResponseStatusCode"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource"); + setverdict(fail, __SCOPE__ & ": Error while updating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); + if(getverdict == pass){ + if(ischosen(v_primitiveContentRetrievedResource.group_)){ + if(v_primitiveContentRetrievedResource.group_.memberTypeValidated == false){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not updated"); + } + } + } + //Postamble f_cse_postamble_deleteResources(); @@ -12523,6 +14342,7 @@ module OneM2M_Testcases { var integer v_subGroupIndex := -1; var XSD.AnyURI v_memberId_1; var XSD.AnyURI v_memberId_2; + var PrimitiveContent v_primitiveContentRetrievedResource; // Test control @@ -12548,42 +14368,55 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": update successful"); + setverdict(pass, __SCOPE__ & ": update successful"); //memberTypeValidated attribute set to FALSE if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != false) { - setverdict(fail, testcasename(), ": Error, memberTypeValidated must be FALSE"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be FALSE"); } } //memberType attribute set to MIXED if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType)) { - setverdict(fail, testcasename(), ": Error, memberType attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberType attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType != int0) { //Mixed is int0 in release 2 and int24 in release 1 - setverdict(fail, testcasename(), ": Error, memberType was not set to MIXED"); + setverdict(fail, __SCOPE__, ": Error, memberType was not set to MIXED"); } } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error update successful with wrong ResponseStatusCode"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); + if(getverdict == pass){ + if(ischosen(v_primitiveContentRetrievedResource.group_)){ + if(v_primitiveContentRetrievedResource.group_.memberTypeValidated == false){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not updated"); + } + + if(v_primitiveContentRetrievedResource.group_.memberType != int0){ + setverdict(fail, __SCOPE__, ": Error, memberType attribute not set to MIXED"); + } + } + } + //Postamble f_cse_postamble_deleteResources(); @@ -12608,6 +14441,7 @@ module OneM2M_Testcases { var integer v_subGroupIndex := -1; var XSD.AnyURI v_memberId_1; var XSD.AnyURI v_memberId_2; + var PrimitiveContent v_primitiveContentRetrievedResource; // Test control @@ -12634,44 +14468,57 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": update successful"); + setverdict(pass, __SCOPE__ & ": update successful"); //memberTypeValidated attribute set to TRUE if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != true) { - setverdict(fail, testcasename(), ": Error, memberTypeValidated must be TRUE"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be TRUE"); } } //memberIDs attribute set to v_memberID1 if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){ - setverdict(fail, testcasename(), ": Error, memberIDs attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not provided"); } else { if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) { - setverdict(fail, testcasename() & ": Error, wrong number of memberIDs attribute"); + setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); } if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] != v_memberId_1){ - setverdict(fail, testcasename(), ": Error, memberIDs attribute not correct"); + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not correct"); } } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error update successful with wrong ResponseStatusCode"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource"); + setverdict(fail, __SCOPE__ & ": Error while updating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); + if(getverdict == pass){ + if(ischosen(v_primitiveContentRetrievedResource.group_)){ + if(v_primitiveContentRetrievedResource.group_.memberTypeValidated == false){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not updated"); + } + + if(v_primitiveContentRetrievedResource.group_.memberIDs[0] != v_memberId_1){ + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not correct"); + } + } + } + //Postamble f_cse_postamble_deleteResources(); @@ -12721,18 +14568,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int6011))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": unsuccessful validation of the resource type during the creation of the group"); + setverdict(pass, __SCOPE__ & ": unsuccessful validation of the resource type during the creation of the group"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error create succesfull while the operation should be aborted"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error create succesfull while the operation should be aborted"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -12762,6 +14609,7 @@ module OneM2M_Testcases { var integer v_groupIndex, v_containerIndex_1, v_containerIndex_2, v_containerIndex_3 := -1; var ListOfURIs v_memberIDs; var template RequestPrimitive v_createRequest; + var PrimitiveContent v_primitiveContentRetrievedResource; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var template RequestPrimitive v_createMember; @@ -12796,21 +14644,31 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": operation is not allowed"); + setverdict(pass, __SCOPE__ & ": operation is not allowed"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error update successful while maxNrOfMembers has exceeded"); + setverdict(fail, __SCOPE__ & ": Error update successful while maxNrOfMembers has exceeded"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrievedResource.group_)) { + if(v_primitiveContentRetrievedResource.group_.memberIDs == v_memberIDs){ + setverdict(fail, __SCOPE__ & ": Error: MemberIDs attribute updated") + } + } + } + //Postamble f_cse_postamble_deleteResources(); @@ -12835,6 +14693,7 @@ module OneM2M_Testcases { var integer v_groupIndex := -1; var ListOfURIs v_memberIDs; var XSD.PositiveInteger v_maxNrOfMembers:= 1; + var PrimitiveContent v_primitiveContentRetrievedResource; v_updateRequest.primitiveContent.group_.maxNrOfMembers := v_maxNrOfMembers; @@ -12860,21 +14719,31 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int6010))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": max number of member exceeded"); + setverdict(pass, __SCOPE__ & ": max number of member exceeded"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error update successful while operation is not allowed"); + setverdict(fail, __SCOPE__ & ": Error update successful while operation is not allowed"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource"); } } + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); + if(getverdict == pass){ + //Check that the resource has NOT been udpated + if(ischosen(v_primitiveContentRetrievedResource.group_)) { + if(v_primitiveContentRetrievedResource.group_.maxNrOfMembers == v_maxNrOfMembers){ + setverdict(fail, __SCOPE__ & ": Error: maxNrOfMembers attribute updated") + } + } + } + //Postamble f_cse_postamble_deleteResources(); @@ -12910,6 +14779,7 @@ module OneM2M_Testcases { var template RequestPrimitive v_createRequest := m_createGroupBase; var template RequestPrimitive v_updateRequest := m_updateGroupBase; var template RequestPrimitive v_createMember; + var PrimitiveContent v_primitiveContentRetrievedResource; // Test control @@ -12950,32 +14820,45 @@ module OneM2M_Testcases { tc_ac.stop; if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) { - setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false) { if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 2) { - setverdict(fail, testcasename() & ": Error, wrong number of memberIDs attribute"); + setverdict(fail, __SCOPE__ & ": Error, wrong number of memberIDs attribute"); } else { if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] == c_memberResourceAddress1 and v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[1] == c_memberResourceAddress2) { - setverdict(pass, testcasename() & ": update successful"); + setverdict(pass, __SCOPE__ & ": update successful"); } else { - setverdict(fail, testcasename(), ": Error, wrong memberIDs"); + setverdict(fail, __SCOPE__, ": Error, wrong memberIDs"); } } } else { - setverdict(fail, testcasename(), ": Error, memberTypeValidated must be set to FALSE"); + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be set to FALSE"); } } } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_groupIndex); + if(getverdict == pass){ + if(ischosen(v_primitiveContentRetrievedResource.group_)){ + if(v_primitiveContentRetrievedResource.group_.memberTypeValidated != false){ + setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not updated"); + } + + if((v_primitiveContentRetrievedResource.group_.memberIDs[0] != c_memberResourceAddress1) and (v_primitiveContentRetrievedResource.group_.memberIDs[1] != c_memberResourceAddress2)){ + setverdict(fail, __SCOPE__, ": Error, memberIDs attribute not correct"); + } + } + } + //Postamble f_cse_postamble_deleteResources(); @@ -13059,10 +14942,10 @@ module OneM2M_Testcases { } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -13082,25 +14965,25 @@ module OneM2M_Testcases { * @verdict */ testcase TC_CSE_GMG_003_CRE() runs on CseTester system CseSystem { //Create - f_CSE_GMG_003(m_createContainerBase); + f_CSE_GMG_003(m_createContainerBase, int2001); }//end TC_CSE_GMG_003_CRE testcase TC_CSE_GMG_003_UPD() runs on CseTester system CseSystem { //Update var template RequestPrimitive v_updateRequest := m_updateContainerBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_GMG_003(v_updateRequest); + f_CSE_GMG_003(v_updateRequest, int2004); }//end TC_CSE_GMG_003_UPD testcase TC_CSE_GMG_003_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_GMG_003(m_retrieveResource("Temporary", "Temporary")); + f_CSE_GMG_003(m_retrieveResource("Temporary", "Temporary"), int2000); }//end TC_CSE_GMG_003_RET testcase TC_CSE_GMG_003_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_GMG_003(m_deleteRequest("Temporary")); + f_CSE_GMG_003(m_deleteRequest("Temporary"), int2002); }//end TC_CSE_GMG_003_DEL - function f_CSE_GMG_003(template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_GMG_003(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -13115,7 +14998,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -13141,27 +15024,31 @@ module OneM2M_Testcases { mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": creation successfull by using fanOutPoint in group resource"); + setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ - setverdict(fail, testcasename(), ": Error, aggregatedResponse attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); } else { for(i:=0; i<lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list); i := i+1){ if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i], mw_responsePrimitiveOK)){ - setverdict(fail, testcasename(), ": Error, one responsePrimitve of aggregatedResponse_list is not successful"); + setverdict(fail, __SCOPE__, ": Error, one responsePrimitve of aggregatedResponse_list is not successful"); } } } } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -13214,7 +15101,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -13242,22 +15129,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Update failed due to lack of privilege"); + setverdict(pass, __SCOPE__ & ": Update failed due to lack of privilege"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error operation successful while doesn't have privileges"); - } - [] mcaPort.receive{ - tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error operation successful while doesn't have privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation"); } } @@ -13278,25 +15161,25 @@ module OneM2M_Testcases { * */ testcase TC_CSE_GMG_001_CRE() runs on CseTester system CseSystem { //Create - f_CSE_GMG_001(m_createContainerBase); + f_CSE_GMG_001(m_createContainerBase, int2001); }//end TC_CSE_GMG_001_CRE testcase TC_CSE_GMG_001_UPD() runs on CseTester system CseSystem { //Update var template RequestPrimitive v_updateRequest := m_updateContainerBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_GMG_001(v_updateRequest); + f_CSE_GMG_001(v_updateRequest, int2004); }//end TC_CSE_GMG_001_UPD testcase TC_CSE_GMG_001_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_GMG_001(m_retrieveResource("Temporary", "Temporary")); + f_CSE_GMG_001(m_retrieveResource("Temporary", "Temporary"), int2000); }//end TC_CSE_GMG_001_RET testcase TC_CSE_GMG_001_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_GMG_001(m_deleteRequest("Temporary")); + f_CSE_GMG_001(m_deleteRequest("Temporary"), int2002); }//end TC_CSE_GMG_001_DEL - function f_CSE_GMG_001(template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_GMG_001(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -13311,7 +15194,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -13337,27 +15220,31 @@ module OneM2M_Testcases { mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": creation successfull by using fanOutPoint in group resource"); + setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ - setverdict(fail, testcasename(), ": Error, aggregatedResponse attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); } else { for(i:=0; i<lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list); i := i+1){ if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i], mw_responsePrimitiveOK)){ - setverdict(fail, testcasename(), ": Error, one responsePrimitve of aggregatedResponse_list is not successful"); + setverdict(fail, __SCOPE__, ": Error, one responsePrimitve of aggregatedResponse_list is not successful"); } } } } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -13410,7 +15297,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -13438,22 +15325,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Update failed due to lack of privilege"); + setverdict(pass, __SCOPE__ & ": Update failed due to lack of privilege"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error operation successful while doesn't have privileges"); - } - [] mcaPort.receive{ - tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error operation successful while doesn't have privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation"); } } @@ -13477,7 +15360,7 @@ module OneM2M_Testcases { var template PrimitiveContent v_contentResponse; v_contentResponse.container := mw_contentContainer_rc1; - f_CSE_GMG_CRE_008(m_createContainerBase, v_contentResponse); + f_CSE_GMG_CRE_008(m_createContainerBase, v_contentResponse, int2001); }//end TC_CSE_GMG_CRE_008_CRE testcase TC_CSE_GMG_CRE_008_UPD() runs on CseTester system CseSystem { //Update @@ -13488,24 +15371,24 @@ module OneM2M_Testcases { v_contentResponse.aE.labels := ?; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - f_CSE_GMG_CRE_008(v_updateRequest, v_contentResponse); + f_CSE_GMG_CRE_008(v_updateRequest, v_contentResponse, int2004); }//end TC_CSE_GMG_CRE_008_UPD testcase TC_CSE_GMG_CRE_008_RET() runs on CseTester system CseSystem { //Retrieve var template PrimitiveContent v_contentResponse; v_contentResponse.aE := mw_contentAeBase; - f_CSE_GMG_CRE_008(m_retrieveResource("Temporary", "Temporary"), v_contentResponse); + f_CSE_GMG_CRE_008(m_retrieveResource("Temporary", "Temporary"), v_contentResponse, int2000); }//end TC_CSE_GMG_CRE_008_RET testcase TC_CSE_GMG_CRE_008_DEL() runs on CseTester system CseSystem { //Delete var template PrimitiveContent v_contentResponse; v_contentResponse.aE := mw_contentAeBase;// TODO see with wath should it be matched - f_CSE_GMG_CRE_008(m_deleteRequest("Temporary"), v_contentResponse); + f_CSE_GMG_CRE_008(m_deleteRequest("Temporary"), v_contentResponse, int2002); }//end TC_CSE_GMG_CRE_008_DEL - function f_CSE_GMG_CRE_008(template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester { + function f_CSE_GMG_CRE_008(template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, in ResponseStatusCode p_responseStatusCode) runs on CseTester { //Local constants const integer c_numberOfResponsePrimitive := 2; @@ -13541,57 +15424,36 @@ module OneM2M_Testcases { mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": creation successfull by using fanOutPoint in group resource"); + setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ - setverdict(fail, testcasename(), ": Error, aggregatedResponse attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); } else{ if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){ - setverdict(fail, testcasename(), ": Error, length of aggregatedResponse is not valid"); + setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid"); } else{ for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){ if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, p_contentResponse)){ - setverdict(fail, testcasename(), ": Error, aggregatedResponse doesn't match with template expected"); + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected"); } } } } } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { - tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); - } - [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); - } - } - - //Connerie - - - v_createRequest.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName; - v_createRequest.from_ := f_getOriginator(v_groupIndex); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN - - // Test Body - - mcaPort.send(m_request(v_createRequest)); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(pass, testcasename() & ": creation successfull by using fanOutPoint in group resource"); - + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -13629,7 +15491,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -13656,32 +15518,36 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_createRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": creation successfull by using fanOutPoint in group resource"); + setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ - setverdict(fail, testcasename(), ": Error, aggregatedResponse attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); } else{ if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){ - setverdict(fail, testcasename(), ": Error, length of aggregatedResponse is not valid"); + setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid"); } else{ for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){ if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, v_contentResponse)){ - setverdict(fail, testcasename(), ": Error, aggregatedResponse doesn't match with template expected"); + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected"); } } } } } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -13719,7 +15585,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -13746,32 +15612,36 @@ module OneM2M_Testcases { mcaPort.send(m_request(m_retrieveResource(v_fanoutPointAddress, f_getOriginator(v_aeIndex_1)))); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": creation successfull by using fanOutPoint in group resource"); + setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource"); if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){ - setverdict(fail, testcasename(), ": Error, aggregatedResponse attribute not provided"); + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided"); } else{ if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){ - setverdict(fail, testcasename(), ": Error, length of aggregatedResponse is not valid"); + setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid"); } else{ for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){ if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, v_contentResponse)){ - setverdict(fail, testcasename(), ": Error, aggregatedResponse doesn't match with template expected"); + setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected"); } } } } } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } @@ -13821,18 +15691,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responseDiscovery)){ tc_ac.stop; - setverdict(pass, testcasename() & ": URI List Representation available"); + setverdict(pass, __SCOPE__ & ": URI List Representation available"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong responseStatusCode while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -13880,23 +15750,23 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response { tc_ac.stop; if(sizeof(v_response.primitive.responsePrimitive.primitiveContent.uRIList) == 0){ - setverdict(pass, testcasename() & ": No Content is present"); + setverdict(pass, __SCOPE__ & ": No Content is present"); } else { - setverdict(fail, testcasename() & ": Wrong content available in URIList element"); + setverdict(fail, __SCOPE__ & ": Wrong content available in URIList element"); } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong responseStatusCode while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -13942,21 +15812,21 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response { tc_ac.stop; if (f_isNonHierarchical(v_response.primitive.responsePrimitive.primitiveContent.uRIList[0])) { - setverdict(pass, testcasename() & ": Non-hierarchical address form present in URIList element"); + setverdict(pass, __SCOPE__ & ": Non-hierarchical address form present in URIList element"); } else { - setverdict(fail, testcasename() & ": Non-hierarchical address form absent in URIList representation"); + setverdict(fail, __SCOPE__ & ": Non-hierarchical address form absent in URIList representation"); } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong responseStatusCode while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -13986,7 +15856,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - log(testcasename() & ":AccessControlPolicy support is required for executing this test case"); + log(__SCOPE__ & ":INFO: AccessControlPolicy support is required for executing this test case"); stop; } @@ -14008,18 +15878,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) { tc_ac.stop; - setverdict(pass, testcasename() & ": Access denied to discovery operation for resource " & f_getResourceAddress(v_resourceIndex)); + setverdict(pass, __SCOPE__ & ": Access denied to discovery operation for resource " & f_getResourceAddress(v_resourceIndex)); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code while discovering " & f_getResourceAddress(v_resourceIndex) & " without having privileges"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Discovering " & f_getResourceAddress(v_resourceIndex) & " without having privileges"); + setverdict(fail, __SCOPE__ & ": Discovering " & f_getResourceAddress(v_resourceIndex) & " without having privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while discovering resource"); + setverdict(fail, __SCOPE__ & ": No answer while discovering resource"); } } @@ -14070,18 +15940,18 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource not found"); + setverdict(pass, __SCOPE__ & ": Resource not found"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -14130,18 +16000,18 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4102))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Contents Unacceptable"); + setverdict(pass, __SCOPE__ & ": Contents Unacceptable"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code while retrieving resource"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Wrong response while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -14195,21 +16065,30 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5203))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": <Subscription> Resource not subscribable"); + setverdict(pass, __SCOPE__ & ": <Subscription> Resource not subscribable"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while subscribing a ressource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Subsciption successful whereas <Subscription> resource is not subscribable"); + setverdict(fail, __SCOPE__ & ": Subsciption successful whereas <Subscription> resource is not subscribable"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_resourceIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + //Postamble f_cse_postamble_deleteResources(); @@ -14250,21 +16129,30 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5203))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": <Subscription> Resource not subscribable"); + setverdict(pass, __SCOPE__ & ": <Subscription> Resource not subscribable"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while subscribing a ressource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Subsciption successful whereas <Subscription> resource is not subscribable"); + setverdict(fail, __SCOPE__ & ": Subsciption successful whereas <Subscription> resource is not subscribable"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_contentInstanceResourceIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + //Postamble f_cse_postamble_deleteResources(); @@ -14291,7 +16179,7 @@ module OneM2M_Testcases { // Test control if(not(PICS_ACP_SUPPORT)) { - setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case"); + setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case"); stop; } @@ -14313,21 +16201,30 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": No privilege for subscribing to the resource"); + setverdict(pass, __SCOPE__ & ": No privilege for subscribing to the resource"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while subscribing a ressource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Subsciption successful whereas it doesn't have privilege"); + setverdict(fail, __SCOPE__ & ": Subsciption successful whereas it doesn't have privilege"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + //Postamble f_cse_postamble_deleteResources(); @@ -14370,21 +16267,30 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5204))) -> value v_response { //SUBSCRIPTION_VERIFICATION_INITIATION_FAILED tc_ac.stop; - setverdict(pass, testcasename() & ": OK : Subscription verification initiation failed"); + setverdict(pass, __SCOPE__ & ": OK : Subscription verification initiation failed"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while subscribing a ressource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Subsciption successful whereas subsciption verification failed"); + setverdict(fail, __SCOPE__ & ": Subsciption successful whereas subsciption verification failed"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + //Postamble f_cse_postamble_deleteResources(); @@ -14406,7 +16312,7 @@ module OneM2M_Testcases { var MsgIn v_response; var integer v_aeIndex := -1; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; - var template RequestPrimitive v_request; + var RequestPrimitive v_request; var CseTester v_notifyHandler; var integer v_ae2Index := -1; @@ -14425,27 +16331,36 @@ module OneM2M_Testcases { // Test Body v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription - mcaPort.send(m_request(valueof(v_request))); + mcaPort.send(m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4101))) -> value v_response { //SUBSCRIPTION_CREATOR_HAS_NO_PRIVILEGE tc_ac.stop; - setverdict(pass, testcasename() & ": OK : Subscription creator has no privilege"); + setverdict(pass, __SCOPE__ & ": OK : Subscription creator has no privilege"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while subscribing a ressource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Subsciption successful whereas subsciption creator has no privilege"); + setverdict(fail, __SCOPE__ & ": Subsciption successful whereas subsciption creator has no privilege"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + //Postamble f_cse_postamble_deleteResources(); @@ -14467,7 +16382,7 @@ module OneM2M_Testcases { var MsgIn v_response; var integer v_aeIndex := -1; var template RequestPrimitive v_createRequest := m_createSubscriptionBase; - var template RequestPrimitive v_request; + var RequestPrimitive v_request; var CseTester v_notifyHandler; var integer v_ae2Index := -1; @@ -14486,27 +16401,36 @@ module OneM2M_Testcases { // Test Body v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription - mcaPort.send(m_request(valueof(v_request))); + mcaPort.send(m_request(v_request)); tc_ac.start; alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int5205))) -> value v_response { //SUBSCRIPTION_CREATOR_HAS_NO_PRIVILEGE tc_ac.stop; - setverdict(pass, testcasename() & ": OK : Subscription creator has no privilege"); + setverdict(pass, __SCOPE__ & ": OK : Subscription creator has no privilege"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while subscribing a ressource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Subsciption successful whereas subsciption creator has no privilege"); + setverdict(fail, __SCOPE__ & ": Subsciption successful whereas subsciption creator has no privilege"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is NOT present + if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + //Postamble f_cse_postamble_deleteResources(); @@ -14565,20 +16489,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); + setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae)"); } }; @@ -14594,13 +16518,13 @@ module OneM2M_Testcases { }//end group g_CSE_SUB_UPD_001 - group g_CSE_SUB_CRE_007{ + group g_CSE_SUB_CRE_005{ /** * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Create_of_Direct_Child_Resource" and an create operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_CRE_007() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_CRE_005() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; @@ -14640,20 +16564,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Resource type int3 (Container) created successfully"); + setverdict(pass, __SCOPE__ & ": Resource type int3 (Container) created successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while creating resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while creating resource type int3 (Container)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while creating resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type int3 (Container)"); } } @@ -14664,17 +16588,17 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_CRE_007 + } // end TC_CSE_SUB_CRE_005 - }//end group g_CSE_SUB_CRE_007 + }//end group g_CSE_SUB_CRE_005 - group g_CSE_SUB_DEL_008 { + group g_CSE_SUB_DEL_002 { /** * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Delete_of_Resource" and an delete operation has been performed the subscribed-to resource * */ - testcase TC_CSE_SUB_DEL_008() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_DEL_002() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -14713,22 +16637,22 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_deleteRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { tc_ac.stop; //Update vc_resourcesIndexToBeDeleted f_removeElementFromList (vc_resourcesIndexToBeDeleted, v_aeIndex); - setverdict(pass, testcasename() & ": resource type int2 (AE) deleted successfully"); + setverdict(pass, __SCOPE__ & ": resource type int2 (AE) deleted successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting resource type int2 (AE)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while deleting resource type int2 (AE)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type int2 (AE)"); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type int2 (AE)"); } } @@ -14740,17 +16664,17 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_DEL_008 + } // end TC_CSE_SUB_DEL_002 - }//end group g_CSE_SUB_DEL_008 + }//end group g_CSE_SUB_DEL_002 - group g_CSE_SUB_DEL_009 { + group g_CSE_SUB_DEL_003 { /** * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Delete_of_Direct_Child_Resource" and an delete operation has been performed on a child resource of the subscribed-to resource * */ - testcase TC_CSE_SUB_DEL_009() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_DEL_003() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -14790,20 +16714,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_deleteRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Container resource deleted successfully"); + setverdict(pass, __SCOPE__ & ": Container resource deleted successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while deleting resource type int3 (Container)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type int3 (Container)"); } } @@ -14815,17 +16739,17 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_DEL_009 + } // end TC_CSE_SUB_DEL_003 - }//end group g_CSE_SUB_DEL_009 + }//end group g_CSE_SUB_DEL_003 - group g_CSE_SUB_CRE_010 { + group g_CSE_SUB_CRE_004 { /** * @desc Check that the IUT stores Originator ID in the notification creator attribute when a <SUBSCRIPTION> creation request which needs verification is received and the notificationURI is not the Originator. * */ - testcase TC_CSE_SUB_CRE_010() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_CRE_004() runs on CseTester system CseSystem { //Local variables var MsgIn v_response; var template RequestPrimitive v_request := m_createSubscriptionBase; @@ -14858,17 +16782,17 @@ module OneM2M_Testcases { // Tear down f_cf01Down(); - } // end TC_CSE_SUB_CRE_010 + } // end TC_CSE_SUB_CRE_004 - }//end group g_CSE_SUB_CRE_010 + }//end group g_CSE_SUB_CRE_004 - group g_CSE_SUB_UPD_011 { + group g_CSE_SUB_UPD_002 { /** * @desc Check that the IUT sends a Notify request to the subscriber resource when the notificationContentType attribute is set to “modified attributes†and an update operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_UPD_011() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_002() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -14914,21 +16838,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); + setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); } - - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae)"); } } @@ -14940,16 +16863,16 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_UPD_011 - }//end group g_CSE_SUB_UPD_011 + } // end TC_CSE_SUB_UPD_002 + }//end group g_CSE_SUB_UPD_002 - group g_CSE_SUB_UPD_012 { + group g_CSE_SUB_UPD_003 { /** * @desc Check that the IUT sends a Notify request to the subscriber resource when the notificationContentType attribute is set to “ResourceID†and an update operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_UPD_012() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_003() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -14992,20 +16915,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); + setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type int2 (Ae) or None notification received"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae) or None notification received"); } } @@ -15015,16 +16938,16 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_UPD_012 - }//end group g_CSE_SUB_UPD_012 + } // end TC_CSE_SUB_UPD_003 + }//end group g_CSE_SUB_UPD_003 - group g_CSE_SUB_UPD_013 { + group g_CSE_SUB_UPD_004 { /** * @desc Check that the IUT decreases the expirationCounter attribute of a subscription resource when the Hosting CSE of the subscribed-to resource successfully sends the notification request to subscriber resource(s) * */ - testcase TC_CSE_SUB_UPD_013() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_004() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -15078,22 +17001,22 @@ module OneM2M_Testcases { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_retrieveContentResponse))) -> value v_response { tc_ac.stop; if(v_response.primitive.responsePrimitive.primitiveContent.subscription.expirationCounter == 2 ){ - setverdict(pass, testcasename() & ": expirationCounter has been successfully decreased by one"); + setverdict(pass, __SCOPE__ & ": expirationCounter has been successfully decreased by one"); } else{ - setverdict(fail, testcasename() & ": Error expirationCounter hasn't been decreased by one"); + setverdict(fail, __SCOPE__ & ": Error expirationCounter hasn't been decreased by one"); } } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while retrieving resource"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving resource"); } } @@ -15105,17 +17028,17 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_UPD_013 + } // end TC_CSE_SUB_UPD_004 - }//end group g_CSE_SUB_UPD_013 + }//end group g_CSE_SUB_UPD_004 - group g_CSE_SUB_UPD_014 { + group g_CSE_SUB_UPD_005 { /** * @desc Check that the IUT deletes the subscription resource when the the expirationCounter meets zero * */ - testcase TC_CSE_SUB_UPD_014() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_005() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -15165,18 +17088,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Subscription Resource have been successfully deleted"); + setverdict(pass, __SCOPE__ & ": Subscription Resource have been successfully deleted"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving Subscription Resource"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; - setverdict(fail, testcasename() & ": Error Subscription Resource has not been deleted"); + setverdict(fail, __SCOPE__ & ": Error Subscription Resource has not been deleted"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving Subscription Resource"); + setverdict(fail, __SCOPE__ & ": No answer while retrieving Subscription Resource"); } } @@ -15188,17 +17111,17 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_UPD_014 + } // end TC_CSE_SUB_UPD_005 - }//end of group g_CSE_SUB_UPD_014 + }//end of group g_CSE_SUB_UPD_005 - group g_CSE_SUB_UPD_015 { + group g_CSE_SUB_UPD_009 { /** * @desc Check that the IUT sends a Notify request to the subscriber resource when the “attribute†condition tag of eventNotificationCriteria attribute is set to ATTRIBUTE_NAME and an update operation has been performed on the subscribed-to resource * */ - testcase TC_CSE_SUB_UPD_015() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_009() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; var Labels v_labels_1:= {"VALUE_1"}; @@ -15243,20 +17166,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); + setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type int2 (Ae) or None notification received"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae) or None notification received"); } } @@ -15268,17 +17191,17 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_UPD_015 + } // end TC_CSE_SUB_UPD_009 - }//end group g_CSE_SUB_UPD_015 + }//end group g_CSE_SUB_UPD_009 - group g_CSE_SUB_UPD_016 { + group g_CSE_SUB_UPD_006 { /** * @desc Check that the IUT doesn’t send a Notify request to the subscriber resource when the “attribute†condition tag of eventNotificationCriteria attribute is set to LIST_OF_ATTRIBUTE and doesn’t contain the ATTRIBUTE_NAME attribute updated. * */ - testcase TC_CSE_SUB_UPD_016() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_006() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; var Labels v_labels_1:= {"VALUE_1"}; @@ -15316,21 +17239,25 @@ module OneM2M_Testcases { }; // Test Body - v_notifyHandler.start(f_CSE_SUB_UPD_016()); // check that no notification is received + v_notifyHandler.start(f_CSE_SUB_UPD_006()); // check that no notification is received mcaPort.send(m_request(v_request)); tc_ac.start; alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Attribute of resource type int2 (Ae) updated successfully"); + } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Attribute of resource type int2 (Ae) updated successfully"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while updating resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Error while updating resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while updating resource type int2 (Ae) or None notification received"); + setverdict(fail, __SCOPE__ & ": No answer while updating resource type int2 (Ae) or None notification received"); } } @@ -15342,9 +17269,9 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_UPD_016 + } // end TC_CSE_SUB_UPD_006 - function f_CSE_SUB_UPD_016() runs on CseTester { + function f_CSE_SUB_UPD_006() runs on CseTester { // Local variables var MsgIn v_response; @@ -15355,19 +17282,19 @@ module OneM2M_Testcases { alt { [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, Notification isn't expected "); + setverdict(fail, __SCOPE__ & ": Error, Notification isn't expected "); } [] tc_ac.timeout { - setverdict(pass, testcasename() & ": No notification received"); + setverdict(pass, __SCOPE__ & ": No notification received"); } } unmap(self:mcaPort, system:mcaPort); unmap(self:acPort, system:acPort); - } //end f_CSE_SUB_UPD_016 + } //end f_CSE_SUB_UPD_006 - }//end group g_CSE_SUB_UPD_016 + }//end group g_CSE_SUB_UPD_006 group g_CSE_SUB_DEL_001{ @@ -15412,20 +17339,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_request)); alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Subscription resource deleted successfully"); + setverdict(pass, __SCOPE__ & ": Subscription resource deleted successfully"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while deleting resource type int23 (Subscription)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while deleting resource type int23 (Subscription)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while deleting resource type int23 (Subscription)"); + setverdict(fail, __SCOPE__ & ": No answer while deleting resource type int23 (Subscription)"); } } @@ -15455,14 +17382,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Notification received"); + setverdict(pass, __SCOPE__ & ": Notification received"); } [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error, unexpected message received"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No notification received"); + setverdict(fail, __SCOPE__ & ": No notification received"); } } @@ -15474,13 +17401,13 @@ module OneM2M_Testcases { }//end group g_CSE_SUB_DEL_001 - group g_CSE_SUB_UPD_018 { + group g_CSE_SUB_UPD_007 { /** * @desc Check that the IUT sends aggregated notification to the subscriber resource when the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached * */ - testcase TC_CSE_SUB_UPD_018() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_007() runs on CseTester system CseSystem { // Local variables const integer numberOfAggregatedNotification := 3; var MsgIn v_response; @@ -15519,7 +17446,7 @@ module OneM2M_Testcases { }; // Test Body - v_notifyHandler.start(f_CSE_SUB_UPD_018(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received + v_notifyHandler.start(f_CSE_SUB_UPD_007(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1 @@ -15541,9 +17468,9 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_UPD_018 + } // end TC_CSE_SUB_UPD_007 - function f_CSE_SUB_UPD_018(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on CseTester { + function f_CSE_SUB_UPD_007(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on CseTester { // Local variables var MsgIn v_response; @@ -15556,31 +17483,31 @@ module OneM2M_Testcases { tc_ac.stop; if(p_numberOfAggregatedNotification == lengthof(v_response.primitive.requestPrimitive.primitiveContent.aggregatedNotification.notification_list)){ if(f_check_notificationContent(v_response.primitive.requestPrimitive, p_primitiveContent)){ - setverdict(pass, testcasename() & ": Notification received"); + setverdict(pass, __SCOPE__ & ": Notification received"); } else{ - setverdict(fail, testcasename() & ": Notification received but the content doesn't match"); + setverdict(fail, __SCOPE__ & ": Notification received but the content doesn't match"); } } else { - setverdict(fail, testcasename() & ": Number of Notification in Aggregatednotification isn't right"); + setverdict(fail, __SCOPE__ & ": Number of Notification in Aggregatednotification isn't right"); } } [] mcaPort.receive{ tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error, unexpected message received"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No notification received"); + setverdict(fail, __SCOPE__ & ": No notification received"); } } unmap(self:mcaPort, system:mcaPort); unmap(self:acPort, system:acPort); - } //end f_CSE_SUB_UPD_018 + } //end f_CSE_SUB_UPD_007 - }//end group g_CSE_SUB_UPD_018 + }//end group g_CSE_SUB_UPD_007 group g_CSE_SUB_NTF_003 { @@ -15626,7 +17553,7 @@ module OneM2M_Testcases { }; // Test Body - v_notifyHandler.start(f_CSE_SUB_UPD_018(v_contentResponse, 2)); // check that no notification is received + v_notifyHandler.start(f_CSE_SUB_UPD_007(v_contentResponse, 2)); // check that no notification is received v_updateRequest.primitiveContent.aE.labels := v_labels_1; v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1 @@ -15648,13 +17575,13 @@ module OneM2M_Testcases { }//end group g_CSE_SUB_NTF_003 - group g_CSE_SUB_UPD_020 { + group g_CSE_SUB_UPD_008 { /** * @desc Check that the IUT sends the latest notification to the subscriber resource when latestNotify is set to TRUE, the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached * */ - testcase TC_CSE_SUB_UPD_020() runs on CseTester system CseSystem { + testcase TC_CSE_SUB_UPD_008() runs on CseTester system CseSystem { // Local variables const integer numberOfAggregatedNotification := 3; var MsgIn v_response; @@ -15719,9 +17646,9 @@ module OneM2M_Testcases { //Tear down f_cf01Down(); - } // end TC_CSE_SUB_UPD_020 + } // end TC_CSE_SUB_UPD_008 - }//end group g_CSE_SUB_UPD_020 + }//end group g_CSE_SUB_UPD_008 }//end group Subscription_And_Notification @@ -15744,6 +17671,8 @@ module OneM2M_Testcases { var RequestPrimitive v_createRequest := valueof(m_createAcpBase); var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_USER}, int63)); var AccessControlRule v_accessControlRule_2 := valueof(m_createAcr({"wait"}, int55)); + const ResourceType c_accessControlPolicyType := int1; + // Test control // Test component configuration @@ -15762,29 +17691,34 @@ module OneM2M_Testcases { v_contentResponse.accessControlPolicy.privileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)}; // Test Body - v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource + v_createRequest := f_getCreateRequestPrimitive(c_accessControlPolicyType, v_createRequest, -1); - mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_acpIndex), f_getOriginator(v_acpIndex)))); - + mcaPort.send(m_request(v_createRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { - tc_ac.stop; - setverdict(pass, testcasename() & ": Response OK for retrieving"); - } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_accessControlPolicyType)) & " created successfully"); + v_acpIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int1); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(c_accessControlPolicyType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(c_accessControlPolicyType))); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourcePresent(v_acpIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + //Postamble f_cse_postamble_deleteResources(); @@ -15809,6 +17743,8 @@ module OneM2M_Testcases { var RequestPrimitive v_createRequest := valueof(m_createAcpBase); var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_USER}, int63)); var AccessControlRule v_accessControlRule_2 := valueof(m_createAcr({"wait"}, int55)); + const ResourceType c_accessControlPolicyType := int1; + // Test control // Test component configuration @@ -15827,29 +17763,34 @@ module OneM2M_Testcases { v_contentResponse.accessControlPolicy.selfPrivileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)}; // Test Body - v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource + v_createRequest := f_getCreateRequestPrimitive(c_accessControlPolicyType, v_createRequest, -1);// CSE child resource - mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_acpIndex), f_getOriginator(v_acpIndex)))); - + mcaPort.send(m_request(v_createRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response { - tc_ac.stop; - setverdict(pass, testcasename() & ": Response OK for retrieving"); - } [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements"); + setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_accessControlPolicyType)) & " created successfully"); + v_acpIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, c_accessControlPolicyType); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while retrieving resource"); + setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(c_accessControlPolicyType))); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(c_accessControlPolicyType))); } } + f_checkCseTesterStatus(); + + //Check to see if the resource is present or not + if(f_isResourcePresent(v_acpIndex)) { + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); + } + //Postamble f_cse_postamble_deleteResources(); @@ -15867,25 +17808,25 @@ module OneM2M_Testcases { * */ testcase TC_CSE_SEC_ACP_003_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_003(m_createContainerBase); + f_CSE_SEC_ACP_003(m_createContainerBase, int2001); }//end TC_CSE_SEC_ACP_003_CRE testcase TC_CSE_SEC_ACP_003_UPD() runs on CseTester system CseSystem { //Update var template RequestPrimitive v_updateRequest := m_updateAeBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - f_CSE_SEC_ACP_003(v_updateRequest); + f_CSE_SEC_ACP_003(v_updateRequest, int2004); }//end TC_CSE_SEC_ACP_003_02 testcase TC_CSE_SEC_ACP_003_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_003(m_retrieveResource("Temporary", "Temporary")); + f_CSE_SEC_ACP_003(m_retrieveResource("Temporary", "Temporary"), int2000); }//end TC_CSE_SEC_ACP_003_03 testcase TC_CSE_SEC_ACP_003_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_003(m_deleteRequest("Temporary")); + f_CSE_SEC_ACP_003(m_deleteRequest("Temporary"), int2002); }//end TC_CSE_SEC_ACP_003_04 - function f_CSE_SEC_ACP_003(template RequestPrimitive p_requestPrimitive) runs on CseTester{ + function f_CSE_SEC_ACP_003(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester{ // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -15915,20 +17856,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Successful operation on resource type int2 (Ae)"); + setverdict(pass, __SCOPE__ & ": Successful operation on resource type int2 (Ae)"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation on resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while operation on resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation on resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation on resource type int2 (Ae)"); } } @@ -15943,14 +17884,14 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - log(testcasename() & ": Attribute of resource type ACP updated successfully"); + log(__SCOPE__ & ":INFO: Attribute of resource type ACP updated successfully"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - log(testcasename() & ": Error while updating resource type ACP"); + log(__SCOPE__ & ":INFO: Error while updating resource type ACP"); } [] tc_ac.timeout { - log(testcasename() & ": No answer while updating resource type ACP"); + log(__SCOPE__ & ":INFO: No answer while updating resource type ACP"); } } @@ -15970,25 +17911,25 @@ module OneM2M_Testcases { * */ testcase TC_CSE_SEC_ACP_004_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_004(m_createContainerBase); + f_CSE_SEC_ACP_004(m_createContainerBase, int2001); }//end TC_CSE_SEC_ACP_004_CRE testcase TC_CSE_SEC_ACP_004_UPD() runs on CseTester system CseSystem { //Update var template RequestPrimitive v_updateRequest := m_updateAeBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - f_CSE_SEC_ACP_004(v_updateRequest); + f_CSE_SEC_ACP_004(v_updateRequest, int2004); }//end TC_CSE_SEC_ACP_004_UPD testcase TC_CSE_SEC_ACP_004_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_004(m_retrieveResource("Temporary", "Temporary")); + f_CSE_SEC_ACP_004(m_retrieveResource("Temporary", "Temporary"), int2000); }//end TC_CSE_SEC_ACP_004_RET testcase TC_CSE_SEC_ACP_004_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_004(m_deleteRequest("Temporary")); + f_CSE_SEC_ACP_004(m_deleteRequest("Temporary"), int2002); }//end TC_CSE_SEC_ACP_004_DEL - function f_CSE_SEC_ACP_004(template RequestPrimitive p_requestPrimitive) runs on CseTester{ + function f_CSE_SEC_ACP_004(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester{ // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16015,23 +17956,24 @@ module OneM2M_Testcases { mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Successful operation on resource type int2 (Ae)"); + setverdict(pass, __SCOPE__ & ": Successful operation on resource type int2 (Ae)"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation on resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while operation on resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation on resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation on resource type int2 (Ae)"); } } + //Postamble f_cse_postamble_deleteResources(); @@ -16049,25 +17991,25 @@ module OneM2M_Testcases { * */ testcase TC_CSE_SEC_ACP_011_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_011(m_createContainerBase); + f_CSE_SEC_ACP_011(m_createContainerBase, int2001); }//end TC_CSE_SEC_ACP_011_CRE testcase TC_CSE_SEC_ACP_011_UPD() runs on CseTester system CseSystem { //Update var template RequestPrimitive v_updateRequest := m_updateContainerBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.container.labels := v_labels_1; - f_CSE_SEC_ACP_011(v_updateRequest); + f_CSE_SEC_ACP_011(v_updateRequest, int2004); }//end TC_CSE_SEC_ACP_011_UPD testcase TC_CSE_SEC_ACP_011_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_011(m_retrieveResource("Temporary", "Temporary")); + f_CSE_SEC_ACP_011(m_retrieveResource("Temporary", "Temporary"), int2000); }//end TC_CSE_SEC_ACP_011_RET testcase TC_CSE_SEC_ACP_011_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_011(m_deleteRequest("Temporary")); + f_CSE_SEC_ACP_011(m_deleteRequest("Temporary"), int2002); }//end TC_CSE_SEC_ACP_011_DEL - function f_CSE_SEC_ACP_011(template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_SEC_ACP_011(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16091,20 +18033,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Successful operation on resource type int3 (Container)"); + setverdict(pass, __SCOPE__ & ": Successful operation on resource type int3 (Container)"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation on resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while operation on resource type int3 (Container)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation on resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation on resource type int3 (Container)"); } } @@ -16183,22 +18125,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Operation denied because of lack of right on Container"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, testcasename() & ": Error operation have been accpeted without having privileges"); + setverdict(pass, __SCOPE__ & ": Operation denied because of lack of right on Container"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation on resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error operation have been accpeted without having privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation on resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation on resource type int3 (Container)"); } } @@ -16273,22 +18211,18 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Operation denied because of lack of right on Container"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, testcasename() & ": Error operation have been accpeted without having privileges"); + setverdict(pass, __SCOPE__ & ": Operation denied because of lack of right on Container"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation on resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error operation have been accpeted without having privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation on resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation on resource type int3 (Container)"); } } @@ -16309,25 +18243,25 @@ module OneM2M_Testcases { * */ testcase TC_CSE_SEC_ACP_002_CRE() runs on CseTester system CseSystem { //Create - f_CSE_SEC_ACP_002(m_createContainerBase); + f_CSE_SEC_ACP_002(m_createContainerBase, int2001); }//end TC_CSE_SEC_ACP_002_CRE testcase TC_CSE_SEC_ACP_002_UPD() runs on CseTester system CseSystem { //Update var template RequestPrimitive v_updateRequest := m_updateAeBase; var Labels v_labels_1:= {"VALUE_1"}; v_updateRequest.primitiveContent.aE.labels := v_labels_1; - f_CSE_SEC_ACP_002(v_updateRequest); + f_CSE_SEC_ACP_002(v_updateRequest, int2004); }//end TC_CSE_SEC_ACP_002_UPD testcase TC_CSE_SEC_ACP_002_RET() runs on CseTester system CseSystem { //Retrieve - f_CSE_SEC_ACP_002(m_retrieveResource("Temporary", "Temporary")); + f_CSE_SEC_ACP_002(m_retrieveResource("Temporary", "Temporary"), int2000); }//end TC_CSE_SEC_ACP_002_RET testcase TC_CSE_SEC_ACP_002_DEL() runs on CseTester system CseSystem { //Delete - f_CSE_SEC_ACP_002(m_deleteRequest("Temporary")); + f_CSE_SEC_ACP_002(m_deleteRequest("Temporary"), int2002); }//end TC_CSE_SEC_ACP_002_DEL - function f_CSE_SEC_ACP_002(template RequestPrimitive p_requestPrimitive) runs on CseTester { + function f_CSE_SEC_ACP_002(template RequestPrimitive p_requestPrimitive, in ResponseStatusCode p_responseStatusCode) runs on CseTester { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -16370,20 +18304,20 @@ module OneM2M_Testcases { mcaPort.send(m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Successful operation on resource type int2 (Ae)"); + setverdict(pass, __SCOPE__ & ": Successful operation on resource type int2 (Ae)"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation on resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while operation on resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation on resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation on resource type int2 (Ae)"); } } @@ -16415,6 +18349,7 @@ module OneM2M_Testcases { var AccessControlRule v_accessControlRule_2; var SetOfAcrs v_setOfArcs_1; var SetOfAcrs v_setOfArcs_2; + var PrimitiveContent v_primitiveContentRetrievedResource; // Test control @@ -16445,21 +18380,30 @@ module OneM2M_Testcases { mcaPort.send(m_request(v_updateRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Successful Update operation on resource type int2 (Ae)"); + setverdict(pass, __SCOPE__ & ": Successful Update operation on resource type int2 (Ae)"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while Update operation on resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error while Update operation on resource type int2 (Ae)"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing update operation on resource type int2 (Ae)"); + setverdict(fail, __SCOPE__ & ": No answer while executing update operation on resource type int2 (Ae)"); + } + } + + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_aeIndex); + if(getverdict == pass){ + if(ischosen(v_primitiveContentRetrievedResource.aE)) { + if(not match (v_primitiveContentRetrievedResource.aE.accessControlPolicyIDs, valueof(v_updateRequest.primitiveContent.aE.accessControlPolicyIDs))){ + setverdict(fail, __SCOPE__ & ": Error: Access Control policy ID attribute not updated correctly") } + } } //Postamble @@ -16490,6 +18434,7 @@ module OneM2M_Testcases { var AccessControlRule v_accessControlRule_2; var SetOfAcrs v_setOfArcs_1; var SetOfAcrs v_setOfArcs_2; + var PrimitiveContent v_primitiveContentRetrievedResource; // Test control @@ -16522,23 +18467,28 @@ module OneM2M_Testcases { alt { [] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Operation denied because of lack of right on Container"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, testcasename() & ": Error operation have been accpeted without having privileges"); + setverdict(pass, __SCOPE__ & ": Operation denied because of lack of right on Container"); } [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error while operation on resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive{ + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Error, unexpected message received"); + setverdict(fail, __SCOPE__ & ": Error operation have been accpeted without having privileges"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while executing operation on resource type int3 (Container)"); + setverdict(fail, __SCOPE__ & ": No answer while executing operation on resource type int3 (Container)"); + } + } + + v_primitiveContentRetrievedResource := f_cse_retrieveResource(v_aeIndex); + if(getverdict == pass){ + if(ischosen(v_primitiveContentRetrievedResource.aE)) { + if(match(v_primitiveContentRetrievedResource.aE.accessControlPolicyIDs, valueof(v_updateRequest.primitiveContent.aE.accessControlPolicyIDs))){ + setverdict(fail, __SCOPE__ & ": Error: Access Control policy ID attribute updated") } + } } //Postamble