diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 3b342bef2faf51de5272e466753abb71d7b63591..7deedc6da31fffb0d1938905e86fcf410c02b0fd 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $ - * $Id: OneM2M_Functions.ttcn 248 2017-03-29 13:59:41Z reinaortega $ + * $Id: OneM2M_Functions.ttcn 263 2017-05-16 10:09:27Z reinaortega $ * @desc Module containing functions for oneM2M * */ @@ -670,7 +670,7 @@ module OneM2M_Functions { } //end f_cse_resourceAnnouncementHandler - function f_subscriptionVerificationHandler(in XSD.ID p_creator, in ResponseStatusCode p_responseStatusCode := int2001) runs on CseTester { + function f_subscriptionVerificationHandler(in XSD.ID p_creator, in ResponseStatusCode p_responseStatusCode := int2000) runs on CseTester { // Local variables var MsgIn v_response; var ResponsePrimitive v_responsePrimitive; @@ -697,7 +697,8 @@ module OneM2M_Functions { [] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_response { tc_ac.stop; setverdict(pass, testcasename() & ": Notification received"); - mcaPort.send(m_response(v_responsePrimitive)); + v_responsePrimitive.requestIdentifier := v_response.primitive.requestPrimitive.requestIdentifier; + mcaPort.send(m_httpResponse(v_responsePrimitive)); } [] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_response { tc_ac.stop; diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index ef524fa11b3208522d15943e26466d1915516578..410e9e606c060ebb0ee1784a73244809d7abea87 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $ - * $Id: OneM2M_Templates.ttcn 254 2017-05-02 15:55:08Z reinaortega $ + * $Id: OneM2M_Templates.ttcn 264 2017-05-17 01:25:42Z berge $ * @desc Module containing templates for oneM2M * */ @@ -63,6 +63,20 @@ module OneM2M_Templates { serialization := PX_SERIALIZATION, forcedFields := p_forcedFields }; + + /** + * @desc Base template for response sending operations + * @param p_responsePrimitive + */ + template (value) MsgOut m_httpResponse(in template (value) ResponsePrimitive p_responsePrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := { + primitive := { responsePrimitive := p_responsePrimitive}, + host := PX_SUT_ADDRESS, + xmlNamespace := PX_XML_NAMESPACE, + protocolBinding := "HTTP", + serialization := PX_SERIALIZATION, + forcedFields := p_forcedFields + }; + //Added by @Naum template MsgIn mw_request(in template (present) RequestPrimitive p_requestPrimitive) := { primitive := { requestPrimitive := p_requestPrimitive} @@ -772,7 +786,7 @@ module OneM2M_Templates { requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000), resourceType := int18, primitiveContent := { - any_1 := {{Schedule_optional := m_contentCreateSchedule ({{"0,0,0 1 2,1,1,*"}})}} + any_1 := {{Schedule_optional := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}} } }; diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index b79b685fc0ab99182f07ab11aefd193326e5e671..6a2d4ae9dc7e7d412c88edb5f60b28118f9208eb 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -7,7 +7,7 @@ * * @author oneM2M * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $ - * $Id: OneM2M_Testcases.ttcn 261 2017-05-16 09:02:53Z reinaortega $ + * $Id: OneM2M_Testcases.ttcn 266 2017-05-17 02:20:11Z reinaortega $ * @desc Module containing test cases for oneM2M * */ @@ -640,8 +640,9 @@ module OneM2M_Testcases { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - + var CseTester v_notifyHandler; var integer v_aeIndex := -1; + var integer v_ae2Index := -1; var integer v_resourceIndex := -1; var integer v_childResourceIndex := -1; @@ -655,6 +656,14 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + if(isvalue(p_childResourceType)) { + if(valueof(p_childResourceType) == int23) { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + } else { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + } + } + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); if(p_resourceType != int15) { @@ -756,8 +765,9 @@ module OneM2M_Testcases { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - + var CseTester v_notifyHandler; var integer v_aeIndex := -1; + var integer v_ae2Index := -1; var integer v_resourceIndex := -1; var integer v_childResourceIndex := -1; @@ -770,7 +780,15 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - + + if(isvalue(p_childResourceType)) { + if(valueof(p_childResourceType) == int23) { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + } else { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + } + } + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); if(p_resourceType != int15) { @@ -871,8 +889,9 @@ module OneM2M_Testcases { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - + var CseTester v_notifyHandler; var integer v_aeIndex := -1; + var integer v_ae2Index := -1; var integer v_resourceIndex := -1; var integer v_childResourceIndex := -1; @@ -885,7 +904,15 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - + + if(isvalue(p_childResourceType)) { + if(valueof(p_childResourceType) == int23) { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + } else { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + } + } + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); if(p_resourceType != int15) { @@ -986,8 +1013,9 @@ module OneM2M_Testcases { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - + var CseTester v_notifyHandler; var integer v_aeIndex := -1; + var integer v_ae2Index := -1; var integer v_resourceIndex := -1; var integer v_childResourceIndex := -1; @@ -1000,7 +1028,15 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - + + if(isvalue(p_childResourceType)) { + if(valueof(p_childResourceType) == int23) { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + } else { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + } + } + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); if(p_resourceType != int15) { @@ -1101,8 +1137,9 @@ module OneM2M_Testcases { // Local variables var MsgIn v_response; var RequestPrimitive v_request; - + var CseTester v_notifyHandler; var integer v_aeIndex := -1; + var integer v_ae2Index := -1; var integer v_resourceIndex := -1; var integer v_childResourceIndex := -1; @@ -1115,7 +1152,15 @@ module OneM2M_Testcases { // Preamble v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - + + if(isvalue(p_childResourceType)) { + if(valueof(p_childResourceType) == int23) { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType)); + } else { + f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType)); + } + } + v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); if(p_resourceType != int15) {