diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 61344610e15c3be17236676f0efac3620d9a4427..b61d428e893fe798df25af06fb468ea42ae1fde9 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -1441,7 +1441,11 @@ module OneM2M_Functions { var template AcpType v_defaultAcpIDs := {"NotInitialized"}; if(p_resourceType != int2) { - p_request.from_ := f_getOriginator(p_parentIndex); + if(p_resourceType == int16) { + p_request.from_ := f_getOriginator(p_parentIndex, false); + } else { + p_request.from_ := f_getOriginator(p_parentIndex); + } } p_request.to_ := f_getResourceAddress(p_parentIndex); diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index c65b712fdd1f82fd9b6093713ead7f6de1815eed..011fb75d10225fe9cc7c498614e80b9fc5448d6c 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -535,7 +535,7 @@ module OneM2M_Templates { * @desc Base CREATE request primitive for CSEBase resource */ template (value) RequestPrimitive m_createCSEBaseBase modifies m_create := { - requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000), + requestIdentifier := testcasename() & "-m_createCSEBase" & f_rnd(1, 1000000), resourceType := int5, primitiveContent := {cSEBase := m_contentCreateCSEBase} }; @@ -553,7 +553,7 @@ module OneM2M_Templates { /** * @desc Base CREATE request primitive for remoteCSE resource */ - template (value) RequestPrimitive m_createRemoteCSEBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName := c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE_ID) modifies m_create := { + template (value) RequestPrimitive m_createRemoteCSEBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName := c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE1_ID) modifies m_create := { requestIdentifier := testcasename() & "-m_createRemoteCSE" & f_rnd(1, 1000000), resourceType := int16, primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)} @@ -833,8 +833,9 @@ module OneM2M_Templates { in template (omit) BatchNotify p_batchNotify := omit, in template (omit) XSD.Boolean p_latestNotify := omit, in template (omit) XSD.AnyURI p_subscriberURI := omit, - in template (omit) NotificationContentType p_notificationContentType := int1) modifies m_createSubscription := { - primitiveContent := {subscription := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType)} + in template (omit) NotificationContentType p_notificationContentType := int1, + in template (omit) PendingNotification p_pendingNotification) modifies m_createSubscription := { + primitiveContent := {subscription := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType, p_pendingNotification)} }; /** @@ -1496,10 +1497,12 @@ module OneM2M_Templates { in template (omit) BatchNotify p_batchNotify, in template (omit) XSD.Boolean p_latestNotify, in template (omit) XSD.AnyURI p_subscriberURI, - in template (omit) NotificationContentType p_notificationContentType) modifies m_contentCreateSubscription := { + in template (omit) NotificationContentType p_notificationContentType, + in template (omit) PendingNotification p_pendingNotification) modifies m_contentCreateSubscription := { eventNotificationCriteria := p_eventNotificationCriteria,//O expirationCounter := p_expirationCounter,//O batchNotify := p_batchNotify,//O + pendingNotification := p_pendingNotification,//O latestNotify := p_latestNotify,//O notificationContentType := p_notificationContentType, //TODO Set to omit once xsd is fixed,//O subscriberURI := p_subscriberURI//O @@ -1521,9 +1524,9 @@ module OneM2M_Templates { notificationEventType_list := p_notificationEventType_list// TODO this list should be able to be omited see 9.6.8 (TS0001) }; - template (value) BatchNotify m_batchNotifyNumber3Duration1 (in XSD.NonNegativeInteger p_number) := { + template (value) BatchNotify m_batchNotify (in XSD.NonNegativeInteger p_number) := { number := p_number, - duration := "PT1S" //TODO duration has to be set to 1s and match to the Duration regex + duration := "PT5S" //TODO duration has to be set to 1s and match to the Duration regex }; //normaly duration can be omited @@ -1606,7 +1609,7 @@ module OneM2M_Templates { * @desc Base primitiveContent for CREATE operation for Container resource * @param p_name Resource name */ - template (value) RemoteCSE_optional m_contentCreateRemoteCSE (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE_ID):= { + template (value) RemoteCSE_optional m_contentCreateRemoteCSE (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE1_ID):= { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP @@ -3013,8 +3016,7 @@ module OneM2M_Templates { template Notification mw_contentNotificationVerification modifies mw_contentNotificationBase := { verificationRequest := true, - //creator := ? //Temporal change, do not commit! - creator := * + creator := ? } diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn index c1d781c0ae9d5ff1ae901a3127d222a27d239c4d..6177b6181df7ceaafaaf60456bf7f68ee6c4848c 100644 --- a/LibOneM2M/OneM2M_Types.ttcn +++ b/LibOneM2M/OneM2M_Types.ttcn @@ -3594,7 +3594,7 @@ module OneM2M_Types { type ListOfURIs URIList with { - variant "element"; + variant "list"; }; diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index fe4a10fe0a128da11e175bf083e60f11ab147ce0..fabce119dec94b4acb89bb6e72d47c44d310f852 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -1367,7 +1367,7 @@ module OneM2M_Testcases { * @desc Check that the IUT rejects the create request of <CSEBase> resource. * */ - testcase TC_CSE_REG_CRE_024() runs on CseTester system CseSystem { + testcase TC_CSE_REG_CRE_025() runs on CseTester system CseSystem { // Local variables var MsgIn v_response; @@ -1386,7 +1386,7 @@ module OneM2M_Testcases { v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); // Test Body - v_request := f_getCreateRequestPrimitive(v_resourceType, m_createCSEBaseBase, v_aeIndex); + v_request := f_getCreateRequestPrimitive(v_resourceType, m_createCSEBaseBase, -1); mcaPort.send(m_request(v_request)); tc_ac.start; @@ -2218,13 +2218,14 @@ module OneM2M_Testcases { p_parentRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; p_notifyHandler.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_parentIndex)); } - v_parentIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_parentIndex); - if(ischosen(p_parentRequestPrimitive.primitiveContent.group_)){ f_cse_preamble_registerAe(); } + v_parentIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_parentIndex); + + } else {//Resource under CSEBase @@ -3306,6 +3307,8 @@ module OneM2M_Testcases { var MsgIn v_response; var RequestPrimitive v_request; var integer v_aeIndex := -1; + var integer v_ae2Index := -1; + var CseTester v_notifyHandler; // Test control @@ -3317,6 +3320,8 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType); + // Test Body v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex); v_request.resultContent := int0;//Attributes @@ -16370,8 +16375,8 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int3}, -)); - + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int3}), -, omit, omit, omit, -, omit); + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription @@ -16582,7 +16587,7 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotifyNumber3Duration1(numberOfAggregatedNotification));// TODO fix the duration + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), omit, omit, -, int2); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription @@ -16598,7 +16603,8 @@ module OneM2M_Testcases { f_cse_updateResource(v_request); v_updateRequest := m_updateAeBase; - v_updateRequest.primitiveContent.aE.labels := v_labels_2; + v_updateRequest.requestIdentifier := "m_updateAe" & f_rnd(1, 1000000); + v_updateRequest.primitiveContent.aE.appName := "MyAppName2"; v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 2 f_cse_updateResource(v_request); @@ -16716,7 +16722,7 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int2); //notificationContentType ="modified attributes" + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int2, omit); //notificationContentType ="modified attributes" f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); @@ -16799,7 +16805,7 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int3); // notificationContentType ="ResourceID" + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int3, omit); // notificationContentType ="ResourceID" v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription @@ -16872,7 +16878,7 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 3); //expirationCounter set to 3 + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 3, omit, omit, omit, -, omit); //expirationCounter set to 3 v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); // Subscription @@ -16957,7 +16963,7 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 1); //expirationCounter set to 1 + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 1, omit, omit, omit, -, omit); //expirationCounter set to 1 v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);// Subscription @@ -17035,7 +17041,7 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList)); + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList), omit, omit, omit, omit, -, omit); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription @@ -17111,8 +17117,8 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotifyNumber3Duration1(numberOfAggregatedNotification));// TODO fix the duration - + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), omit, omit, -, omit ); + v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription if(v_notifyHandler.running) { @@ -17177,7 +17183,7 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotifyNumber3Duration1(numberOfAggregatedNotification), true);// TODO fix the duration + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), true, omit, -, omit); //TODO We Need to check if the IUT send a notification only for the latest update operation // like we match a Notification we have to verify if it is the first (unvalid behavior) or the last (valid behavior) @@ -17247,7 +17253,7 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList)); + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList), omit, omit, omit, omit, -, omit); v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription @@ -17322,7 +17328,7 @@ module OneM2M_Testcases { f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit,f_getResourceAddress(v_ae2Index)); // SubscriberURI ="ResourceID" + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit,f_getResourceAddress(v_ae2Index), -, omit); // SubscriberURI ="ResourceID" v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); // Subscription @@ -17423,7 +17429,7 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int2}, -)); + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int2}, -), omit, omit, omit, omit, -, omit); f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23); @@ -17496,7 +17502,7 @@ module OneM2M_Testcases { v_containerResourceIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);//Container - v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int4}, -)); + v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int4}, -), omit, omit, omit, omit, -, omit); f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, v_createRequest, int23);