Loading etsi_ng112.tpd +21 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,8 @@ <FileResource projectRelativePath="bin/LibNg112_EncdecDeclarations.hh" relativeURI="../TTF009_Test/bin/LibNg112_EncdecDeclarations.hh"/> <FileResource projectRelativePath="bin/LibNg112_Functions.cc" relativeURI="../TTF009_Test/bin/LibNg112_Functions.cc"/> <FileResource projectRelativePath="bin/LibNg112_Functions.hh" relativeURI="../TTF009_Test/bin/LibNg112_Functions.hh"/> <FileResource projectRelativePath="bin/LibNg112_SubscriptionPayloads.cc" relativeURI="../TTF009_Test/bin/LibNg112_SubscriptionPayloads.cc"/> <FileResource projectRelativePath="bin/LibNg112_SubscriptionPayloads.hh" relativeURI="../TTF009_Test/bin/LibNg112_SubscriptionPayloads.hh"/> <FileResource projectRelativePath="bin/LibNg112_Pics.cc" relativeURI="../TTF009_Test/bin/LibNg112_Pics.cc"/> <FileResource projectRelativePath="bin/LibNg112_Pics.hh" relativeURI="../TTF009_Test/bin/LibNg112_Pics.hh"/> <FileResource projectRelativePath="bin/LibNg112_Pixits.cc" relativeURI="../TTF009_Test/bin/LibNg112_Pixits.cc"/> Loading Loading @@ -521,6 +523,7 @@ <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/module.mk" relativeURI="ttcn/LibEmcom/LibNg112/module.mk"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_EncdecDeclarations.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_EncdecDeclarations.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Functions.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Functions.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/json/LibNg112_SubscriptionPayloads.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/json/LibNg112_SubscriptionPayloads.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pics.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pics.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pixits.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pixits.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Steps.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Steps.ttcn"/> Loading Loading @@ -5497,6 +5500,12 @@ <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>bin/LibNg112_SubscriptionPayloads.cc</FilePath> <FileProperties> <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>ccsrc/Protocols/Http/http_codec.hh</FilePath> <FileProperties> Loading Loading @@ -5995,6 +6004,12 @@ <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>ttcn/LibEmcom/LibNg112/json/LibNg112_SubscriptionPayloads.ttcn</FilePath> <FileProperties> <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>ttcn/LibCommon/ttcn/LibCommon_VerdictControl.ttcn</FilePath> <FileProperties> Loading Loading @@ -6775,6 +6790,12 @@ <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>bin/LibNg112_SubscriptionPayloads.hh</FilePath> <FileProperties> <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>docs/o2.cfg</FilePath> <FileProperties> Loading ttcn/AtsLIS/AtsLIS_Pics.ttcn +4 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,10 @@ module AtsLIS_Pics { */ modulepar boolean PICS_LIS_SIP_SUBSCRIPTION := true; /** * @desc Does the IUT support SIP Element State? */ modulepar boolean PICS_LIS_SIP_ELEMENT_STATE := true; /** * @desc Does the IUT support AML via HTTP? Loading ttcn/AtsLIS/AtsLIS_TestCases.ttcn +105 −1 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ module AtsLIS_TestCases { import from LibNg112_Steps all; import from LibNg112_Pics all; import from LibNg112_Pixits all; import from LibNg112_SubscriptionPayloads all; // AtsLIS import from AtsLIS_Pics all; Loading Loading @@ -818,7 +819,7 @@ module AtsLIS_TestCases { f_checkUserInfo("Update Location Information for " & PX_DEVICE_NUMBER[PX_DEVICE_NUMBER_POINT], 1.0); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success); // Postamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); Loading @@ -832,6 +833,109 @@ module AtsLIS_TestCases { f_cf_01_down(); } // End of testcase TC_LIS_SIP_BV_03 /** * @desc "IUT sends a SIP NOTIFY when the location changes" */ testcase TC_LIS_SIP_BV_04() runs on HttpSipComponent system TestAdapter { // Local variables var NOTIFY_Request v_msg_recv; var CSeq v_cSeq_s := { fieldName := CSEQ_E, seqNumber := 0, method := "SUBSCRIBE" }; var SipUrl v_subscription_target := f_initSipUrl(c_serviceProfile_SUBSCRIPTION_SERVICE); // Test control f_check_pics({ values := {PICS_LIS_SIP_ELEMENT_STATE}, names := {"PICS_LIS_SIP_ELEMENT_STATE"}}); // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_LIS); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_ElementState_Request_Event( v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit ); f_SendSUBSCRIBE(request); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); var ElementStatePayload v_elementStatePayload; f_decodeElementState(v_msg_recv, v_elementStatePayload); if (match(v_elementStatePayload, mw_element_state_payload)) { f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success); } else { log(match(v_elementStatePayload, mw_element_state_payload)); f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error); } // Postamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); f_SendSUBSCRIBE(m_UNSUBSCRIBE_ElementState_Request_Event( v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit ) ); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); f_cf_01_down(); } // End of testcase TC_LIS_SIP_BV_04 /** * @desc "IUT responds to a SIP "Unsubscribe" for elementState event package with an 200 OK and NOTIFY" */ testcase TC_LIS_SIP_BV_05() runs on HttpSipComponent system TestAdapter { // Local variables var NOTIFY_Request v_msg_recv; var CSeq v_cSeq_s := { fieldName := CSEQ_E, seqNumber := 0, method := "SUBSCRIBE" }; var SipUrl v_subscription_target := f_initSipUrl(c_serviceProfile_SUBSCRIPTION_SERVICE); // Test control f_check_pics({ values := {PICS_LIS_SIP_ELEMENT_STATE}, names := {"PICS_LIS_SIP_ELEMENT_STATE"}}); // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_LIS); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_ElementState_Request_Event( v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit ); f_SendSUBSCRIBE(request); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); f_SendSUBSCRIBE(m_UNSUBSCRIBE_ElementState_Request_Event( v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit ) ); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); // Postamble f_cf_01_down(); } // End of testcase TC_LIS_SIP_BV_05 } Loading ttcn/LibEmcom/LibNg112/json/LibNg112_SubscriptionPayloads.ttcn 0 → 100644 +16 −0 Original line number Diff line number Diff line module LibNg112_SubscriptionPayloads { type record ElementStatePayload { ElementState elementState } type record ElementState { charstring elementId, charstring state, charstring reason optional } with { variant(reason) "JSON:omit as null" } } with { encode "JSON"; } No newline at end of file ttcn/LibEmcom/LibNg112/module.mk +3 −1 Original line number Diff line number Diff line Loading @@ -20,4 +20,6 @@ sources := \ xsd/urn_ietf_params_xml_ns_pidf_geopriv10.ttcn \ xsd/NoTargetNamespace.ttcn \ xsd/urn_ietf_params_xml_ns_lost1.ttcn \ xsd/urn_ietf_params_xml_ns_pidf.ttcn xsd/urn_ietf_params_xml_ns_pidf.ttcn \ json/LibNg112_SubscriptionPayloads.ttcn Loading
etsi_ng112.tpd +21 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,8 @@ <FileResource projectRelativePath="bin/LibNg112_EncdecDeclarations.hh" relativeURI="../TTF009_Test/bin/LibNg112_EncdecDeclarations.hh"/> <FileResource projectRelativePath="bin/LibNg112_Functions.cc" relativeURI="../TTF009_Test/bin/LibNg112_Functions.cc"/> <FileResource projectRelativePath="bin/LibNg112_Functions.hh" relativeURI="../TTF009_Test/bin/LibNg112_Functions.hh"/> <FileResource projectRelativePath="bin/LibNg112_SubscriptionPayloads.cc" relativeURI="../TTF009_Test/bin/LibNg112_SubscriptionPayloads.cc"/> <FileResource projectRelativePath="bin/LibNg112_SubscriptionPayloads.hh" relativeURI="../TTF009_Test/bin/LibNg112_SubscriptionPayloads.hh"/> <FileResource projectRelativePath="bin/LibNg112_Pics.cc" relativeURI="../TTF009_Test/bin/LibNg112_Pics.cc"/> <FileResource projectRelativePath="bin/LibNg112_Pics.hh" relativeURI="../TTF009_Test/bin/LibNg112_Pics.hh"/> <FileResource projectRelativePath="bin/LibNg112_Pixits.cc" relativeURI="../TTF009_Test/bin/LibNg112_Pixits.cc"/> Loading Loading @@ -521,6 +523,7 @@ <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/module.mk" relativeURI="ttcn/LibEmcom/LibNg112/module.mk"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_EncdecDeclarations.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_EncdecDeclarations.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Functions.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Functions.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/json/LibNg112_SubscriptionPayloads.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/json/LibNg112_SubscriptionPayloads.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pics.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pics.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pixits.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pixits.ttcn"/> <FileResource projectRelativePath="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Steps.ttcn" relativeURI="ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Steps.ttcn"/> Loading Loading @@ -5497,6 +5500,12 @@ <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>bin/LibNg112_SubscriptionPayloads.cc</FilePath> <FileProperties> <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>ccsrc/Protocols/Http/http_codec.hh</FilePath> <FileProperties> Loading Loading @@ -5995,6 +6004,12 @@ <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>ttcn/LibEmcom/LibNg112/json/LibNg112_SubscriptionPayloads.ttcn</FilePath> <FileProperties> <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>ttcn/LibCommon/ttcn/LibCommon_VerdictControl.ttcn</FilePath> <FileProperties> Loading Loading @@ -6775,6 +6790,12 @@ <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>bin/LibNg112_SubscriptionPayloads.hh</FilePath> <FileProperties> <ExcludeFromBuild>false</ExcludeFromBuild> </FileProperties> </FileResource> <FileResource> <FilePath>docs/o2.cfg</FilePath> <FileProperties> Loading
ttcn/AtsLIS/AtsLIS_Pics.ttcn +4 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,10 @@ module AtsLIS_Pics { */ modulepar boolean PICS_LIS_SIP_SUBSCRIPTION := true; /** * @desc Does the IUT support SIP Element State? */ modulepar boolean PICS_LIS_SIP_ELEMENT_STATE := true; /** * @desc Does the IUT support AML via HTTP? Loading
ttcn/AtsLIS/AtsLIS_TestCases.ttcn +105 −1 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ module AtsLIS_TestCases { import from LibNg112_Steps all; import from LibNg112_Pics all; import from LibNg112_Pixits all; import from LibNg112_SubscriptionPayloads all; // AtsLIS import from AtsLIS_Pics all; Loading Loading @@ -818,7 +819,7 @@ module AtsLIS_TestCases { f_checkUserInfo("Update Location Information for " & PX_DEVICE_NUMBER[PX_DEVICE_NUMBER_POINT], 1.0); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success); // Postamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); Loading @@ -832,6 +833,109 @@ module AtsLIS_TestCases { f_cf_01_down(); } // End of testcase TC_LIS_SIP_BV_03 /** * @desc "IUT sends a SIP NOTIFY when the location changes" */ testcase TC_LIS_SIP_BV_04() runs on HttpSipComponent system TestAdapter { // Local variables var NOTIFY_Request v_msg_recv; var CSeq v_cSeq_s := { fieldName := CSEQ_E, seqNumber := 0, method := "SUBSCRIBE" }; var SipUrl v_subscription_target := f_initSipUrl(c_serviceProfile_SUBSCRIPTION_SERVICE); // Test control f_check_pics({ values := {PICS_LIS_SIP_ELEMENT_STATE}, names := {"PICS_LIS_SIP_ELEMENT_STATE"}}); // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_LIS); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_ElementState_Request_Event( v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit ); f_SendSUBSCRIBE(request); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); var ElementStatePayload v_elementStatePayload; f_decodeElementState(v_msg_recv, v_elementStatePayload); if (match(v_elementStatePayload, mw_element_state_payload)) { f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success); } else { log(match(v_elementStatePayload, mw_element_state_payload)); f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error); } // Postamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); f_SendSUBSCRIBE(m_UNSUBSCRIBE_ElementState_Request_Event( v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit ) ); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); f_cf_01_down(); } // End of testcase TC_LIS_SIP_BV_04 /** * @desc "IUT responds to a SIP "Unsubscribe" for elementState event package with an 200 OK and NOTIFY" */ testcase TC_LIS_SIP_BV_05() runs on HttpSipComponent system TestAdapter { // Local variables var NOTIFY_Request v_msg_recv; var CSeq v_cSeq_s := { fieldName := CSEQ_E, seqNumber := 0, method := "SUBSCRIBE" }; var SipUrl v_subscription_target := f_initSipUrl(c_serviceProfile_SUBSCRIPTION_SERVICE); // Test control f_check_pics({ values := {PICS_LIS_SIP_ELEMENT_STATE}, names := {"PICS_LIS_SIP_ELEMENT_STATE"}}); // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_LIS); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_ElementState_Request_Event( v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit ); f_SendSUBSCRIBE(request); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); f_SendSUBSCRIBE(m_UNSUBSCRIBE_ElementState_Request_Event( v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit ) ); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); // Postamble f_cf_01_down(); } // End of testcase TC_LIS_SIP_BV_05 } Loading
ttcn/LibEmcom/LibNg112/json/LibNg112_SubscriptionPayloads.ttcn 0 → 100644 +16 −0 Original line number Diff line number Diff line module LibNg112_SubscriptionPayloads { type record ElementStatePayload { ElementState elementState } type record ElementState { charstring elementId, charstring state, charstring reason optional } with { variant(reason) "JSON:omit as null" } } with { encode "JSON"; } No newline at end of file
ttcn/LibEmcom/LibNg112/module.mk +3 −1 Original line number Diff line number Diff line Loading @@ -20,4 +20,6 @@ sources := \ xsd/urn_ietf_params_xml_ns_pidf_geopriv10.ttcn \ xsd/NoTargetNamespace.ttcn \ xsd/urn_ietf_params_xml_ns_lost1.ttcn \ xsd/urn_ietf_params_xml_ns_pidf.ttcn xsd/urn_ietf_params_xml_ns_pidf.ttcn \ json/LibNg112_SubscriptionPayloads.ttcn