Loading ttcn/AtsECRF/AtsECRF_Pics.ttcn +15 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,21 @@ module AtsECRF_Pics { */ modulepar boolean PICS_ECRF_LIST_SERVICES_BY_LOCATION := true; /** * @desc Does the IUT support SIP Element State ? */ modulepar boolean PICS_ECRF_SIP_ELEMENT_STATE := true /** * @desc Does the IUT support SIP Security Posture ? */ modulepar boolean PICS_ECRF_SIP_SECURITY_POSTURE := true /** * @desc Does the IUT support SIP Service State ? */ modulepar boolean PICS_ECRF_SIP_SERVICE_STATE := true /** * @desc Does the IUT support Redirect? */ Loading ttcn/AtsECRF/AtsECRF_TestCases.ttcn +346 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,19 @@ module AtsECRF_TestCases { import from LibItsHttp_XmlTemplates all; import from LibItsHttp_TestSystem all; // LibSip import from LibSip_SIPTypesAndValues all; import from LibSip_SDPTypes all; import from LibSip_Steps all; import from LibSip_Templates all; import from LibSip_Interface all; // LibIms import from LibIms_SIPTypesAndValues all; import from LibIms_Steps all; import from LibIms_Templates all; import from LibIms_Interface all; // LibNg112 import from LibNg112_TypesAndValues all; import from LibNg112_Templates all; Loading @@ -90,6 +103,7 @@ module AtsECRF_TestCases { import from LibNg112_Steps all; import from LibNg112_Pics all; import from LibNg112_Pixits all; import from LibNg112_SubscriptionPayloads all; // AtsECRF import from AtsECRF_Pics all; Loading Loading @@ -1122,4 +1136,336 @@ module AtsECRF_TestCases { } group Subscriptions { /** * @desc "IUT responds to SIP Subscribe for Element State with an 200 OK" */ testcase TC_ECRF_SIP_BV_01() 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); f_check_statements({ { name := "PICS_ECRF_SIP_ELEMENT_STATE", val := PICS_ECRF_SIP_ELEMENT_STATE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // 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_ElementState_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_ECRF_SIP_BV_01 /** * @desc "IUT responds to a SIP "Unsubscribe" for elementState event package with an 200 OK and NOTIFY" */ testcase TC_ECRF_SIP_BV_02() 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); f_check_statements({ { name := "PICS_ECRF_SIP_ELEMENT_STATE", val := PICS_ECRF_SIP_ELEMENT_STATE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // 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_ElementState_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_ECRF_SIP_BV_05 /** * @desc "IUT responds to SIP Subscribe for Security Posture" */ testcase TC_ECRF_SIP_BV_03() 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_statements({ { name := "PICS_ECRF_SIP_SECURITY_POSTURE", val := PICS_ECRF_SIP_SECURITY_POSTURE } }) // 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_SecurityPosture_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_SecurityPosture_Base(vc_callId), v_msg_recv); var SecurityPosturePayload v_securityPosturePayload; f_decodeSecurityPosture(v_msg_recv, v_securityPosturePayload); if (match(v_securityPosturePayload, mw_security_posture_payload())) { f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success); } else { log(match(v_securityPosturePayload, mw_security_posture_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_SecurityPosture_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_ECRF_SIP_BV_03 /** * @desc "IUT responds to SIP Unsubscribe for Security Posture" */ testcase TC_ECRF_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_statements({ { name := "PICS_ECRF_SIP_SECURITY_POSTURE", val := PICS_ECRF_SIP_SECURITY_POSTURE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_SecurityPosture_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_SecurityPosture_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_SecurityPosture_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_ECRF_SIP_BV_04 /** * @desc "IUT responds to SIP Subscribe for ServiceState" */ testcase TC_ECRF_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_statements({ { name := "PICS_ECRF_SIP_SERVICE_STATE", val := PICS_ECRF_SIP_SERVICE_STATE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_ServiceState_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_ServiceState_Base(vc_callId), v_msg_recv); var ServiceStatePayload v_serviceStatePayload; f_decodeServiceState(v_msg_recv, v_serviceStatePayload); if (match(v_serviceStatePayload, mw_service_state_payload)) { f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success); } else { log(match(v_serviceStatePayload, mw_service_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_ECRF_SIP_BV_05 /** * @desc "IUT responds to SIP Unsubscribe for ServiceState" */ testcase TC_ECRF_SIP_BV_06() 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_statements({ { name := "PICS_ECRF_SIP_SERVICE_STATE", val := PICS_ECRF_SIP_SERVICE_STATE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_ServiceState_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_ServiceState_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_ServiceState_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_ECRF_SIP_BV_09 } } // End of module AtsECRF_TestCases ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pixits.ttcn +15 −0 Original line number Diff line number Diff line Loading @@ -515,6 +515,21 @@ module LibNg112_Pixits { modulepar charstring PX_SUT_LIS_SIP_HOME_DOMAIN := "esinet.io"; } group SUT_ECRF { /** @desc charstring for SUT - LIS IP address to exchange SIP messages */ modulepar charstring PX_SUT_ECRF_SIP_IPADDR := "172.31.10.8"; /** @desc integer for SUT - LIS port number to exchange SIP messages */ modulepar integer PX_SUT_ECRF_SIP_PORT := 5060; /** @desc charstring for SUT/LIS domain */ modulepar charstring PX_SUT_ECRF_SIP_HOME_DOMAIN := "esinet.io"; } } // End og grup sut group ts_ue1 { Loading ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Steps.ttcn +7 −10 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ module LibNg112_Steps { const integer c_interfaceProfile_IMS_SUT_ECSCF := 117; // Mw interface at E-CSCF located in SUT const integer c_interfaceProfile_IMS_SUT_BCF := 118; // SIP interface at BCF located in SUT const integer c_interfaceProfile_SUT_LIS := 119; const integer c_interfaceProfile_SUT_ECRF := 120; // number of conference profile const integer c_conferenceProfile_factoryURI := 800; // conference factory URI Loading Loading @@ -121,15 +122,6 @@ module LibNg112_Steps { } // End of function f_init_userprofile function f_initSipUrlFromCharstring(charstring p_uri) return SipUrl { // var charstring v_scheme := regexp(p_uri, charstring:"([a-zA-Z]+):?+", 0); // var charstring v_user := regexp(p_uri, charstring:"([a-zA-Z]+):([a-zA-Z0-9]+)@([a-zA-Z0-9.]+)(:([0-9]+))?", 1); // var charstring v_host := regexp(p_uri, charstring:"([a-zA-Z]+):([a-zA-Z0-9]+)@([a-zA-Z0-9.]+)(:([0-9]+))?", 2); // var charstring v_scheme := regexp(p_uri, charstring:"([a-zA-Z]+):?+", 0); // var charstring v_user := regexp(p_uri, pattern "(sips?):([^@]+)@([^:]+):?(.+)", 1); // var template charstring v_uri_pattern := "(http[s]#(0,1))://([^/\\s]+)/(?+)"; var charstring v_scheme := regexp(p_uri, charstring:"(sip[s]#(0,1)):([^@\\s]+)@?+", 0); var charstring v_user := regexp(p_uri, charstring:"(sip[s]#(0,1)):([^@\\s]+)@?+", 1); var charstring v_host_port := regexp(p_uri, charstring:"(sip[s]#(0,1)):([^@\\s]+)@(?+)", 2); Loading Loading @@ -302,6 +294,11 @@ module LibNg112_Steps { vc_interfaceprofile.SUTPort := PX_SUT_LIS_SIP_PORT; vc_interfaceprofile.SUTIpaddr := PX_SUT_LIS_SIP_IPADDR; vc_interfaceprofile.SUTHomeDomain := PX_SUT_LIS_SIP_HOME_DOMAIN; } case (c_interfaceProfile_SUT_ECRF) { //variant c_interfaceProfile_SUT_ECRF vc_interfaceprofile.SUTPort := PX_SUT_ECRF_SIP_PORT; vc_interfaceprofile.SUTIpaddr := PX_SUT_ECRF_SIP_IPADDR; vc_interfaceprofile.SUTHomeDomain := PX_SUT_ECRF_SIP_HOME_DOMAIN; } } } // End of function f_init_interfaceprofile Loading Loading
ttcn/AtsECRF/AtsECRF_Pics.ttcn +15 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,21 @@ module AtsECRF_Pics { */ modulepar boolean PICS_ECRF_LIST_SERVICES_BY_LOCATION := true; /** * @desc Does the IUT support SIP Element State ? */ modulepar boolean PICS_ECRF_SIP_ELEMENT_STATE := true /** * @desc Does the IUT support SIP Security Posture ? */ modulepar boolean PICS_ECRF_SIP_SECURITY_POSTURE := true /** * @desc Does the IUT support SIP Service State ? */ modulepar boolean PICS_ECRF_SIP_SERVICE_STATE := true /** * @desc Does the IUT support Redirect? */ Loading
ttcn/AtsECRF/AtsECRF_TestCases.ttcn +346 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,19 @@ module AtsECRF_TestCases { import from LibItsHttp_XmlTemplates all; import from LibItsHttp_TestSystem all; // LibSip import from LibSip_SIPTypesAndValues all; import from LibSip_SDPTypes all; import from LibSip_Steps all; import from LibSip_Templates all; import from LibSip_Interface all; // LibIms import from LibIms_SIPTypesAndValues all; import from LibIms_Steps all; import from LibIms_Templates all; import from LibIms_Interface all; // LibNg112 import from LibNg112_TypesAndValues all; import from LibNg112_Templates all; Loading @@ -90,6 +103,7 @@ module AtsECRF_TestCases { import from LibNg112_Steps all; import from LibNg112_Pics all; import from LibNg112_Pixits all; import from LibNg112_SubscriptionPayloads all; // AtsECRF import from AtsECRF_Pics all; Loading Loading @@ -1122,4 +1136,336 @@ module AtsECRF_TestCases { } group Subscriptions { /** * @desc "IUT responds to SIP Subscribe for Element State with an 200 OK" */ testcase TC_ECRF_SIP_BV_01() 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); f_check_statements({ { name := "PICS_ECRF_SIP_ELEMENT_STATE", val := PICS_ECRF_SIP_ELEMENT_STATE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // 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_ElementState_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_ECRF_SIP_BV_01 /** * @desc "IUT responds to a SIP "Unsubscribe" for elementState event package with an 200 OK and NOTIFY" */ testcase TC_ECRF_SIP_BV_02() 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); f_check_statements({ { name := "PICS_ECRF_SIP_ELEMENT_STATE", val := PICS_ECRF_SIP_ELEMENT_STATE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // 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_ElementState_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_ECRF_SIP_BV_05 /** * @desc "IUT responds to SIP Subscribe for Security Posture" */ testcase TC_ECRF_SIP_BV_03() 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_statements({ { name := "PICS_ECRF_SIP_SECURITY_POSTURE", val := PICS_ECRF_SIP_SECURITY_POSTURE } }) // 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_SecurityPosture_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_SecurityPosture_Base(vc_callId), v_msg_recv); var SecurityPosturePayload v_securityPosturePayload; f_decodeSecurityPosture(v_msg_recv, v_securityPosturePayload); if (match(v_securityPosturePayload, mw_security_posture_payload())) { f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success); } else { log(match(v_securityPosturePayload, mw_security_posture_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_SecurityPosture_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_ECRF_SIP_BV_03 /** * @desc "IUT responds to SIP Unsubscribe for Security Posture" */ testcase TC_ECRF_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_statements({ { name := "PICS_ECRF_SIP_SECURITY_POSTURE", val := PICS_ECRF_SIP_SECURITY_POSTURE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_SecurityPosture_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_SecurityPosture_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_SecurityPosture_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_ECRF_SIP_BV_04 /** * @desc "IUT responds to SIP Subscribe for ServiceState" */ testcase TC_ECRF_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_statements({ { name := "PICS_ECRF_SIP_SERVICE_STATE", val := PICS_ECRF_SIP_SERVICE_STATE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_ServiceState_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_ServiceState_Base(vc_callId), v_msg_recv); var ServiceStatePayload v_serviceStatePayload; f_decodeServiceState(v_msg_recv, v_serviceStatePayload); if (match(v_serviceStatePayload, mw_service_state_payload)) { f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success); } else { log(match(v_serviceStatePayload, mw_service_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_ECRF_SIP_BV_05 /** * @desc "IUT responds to SIP Unsubscribe for ServiceState" */ testcase TC_ECRF_SIP_BV_06() 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_statements({ { name := "PICS_ECRF_SIP_SERVICE_STATE", val := PICS_ECRF_SIP_SERVICE_STATE } }) // Test component configuration f_cf_01_up(); f_init_userprofile(c_userProfile_ESINetSubscriber); f_init_interfaceprofile(c_interfaceProfile_SUT_ECRF); // Preamble LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER)); template SUBSCRIBE_Request request := m_SUBSCRIBE_ServiceState_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_ServiceState_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_ServiceState_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_ECRF_SIP_BV_09 } } // End of module AtsECRF_TestCases
ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Pixits.ttcn +15 −0 Original line number Diff line number Diff line Loading @@ -515,6 +515,21 @@ module LibNg112_Pixits { modulepar charstring PX_SUT_LIS_SIP_HOME_DOMAIN := "esinet.io"; } group SUT_ECRF { /** @desc charstring for SUT - LIS IP address to exchange SIP messages */ modulepar charstring PX_SUT_ECRF_SIP_IPADDR := "172.31.10.8"; /** @desc integer for SUT - LIS port number to exchange SIP messages */ modulepar integer PX_SUT_ECRF_SIP_PORT := 5060; /** @desc charstring for SUT/LIS domain */ modulepar charstring PX_SUT_ECRF_SIP_HOME_DOMAIN := "esinet.io"; } } // End og grup sut group ts_ue1 { Loading
ttcn/LibEmcom/LibNg112/ttcn/LibNg112_Steps.ttcn +7 −10 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ module LibNg112_Steps { const integer c_interfaceProfile_IMS_SUT_ECSCF := 117; // Mw interface at E-CSCF located in SUT const integer c_interfaceProfile_IMS_SUT_BCF := 118; // SIP interface at BCF located in SUT const integer c_interfaceProfile_SUT_LIS := 119; const integer c_interfaceProfile_SUT_ECRF := 120; // number of conference profile const integer c_conferenceProfile_factoryURI := 800; // conference factory URI Loading Loading @@ -121,15 +122,6 @@ module LibNg112_Steps { } // End of function f_init_userprofile function f_initSipUrlFromCharstring(charstring p_uri) return SipUrl { // var charstring v_scheme := regexp(p_uri, charstring:"([a-zA-Z]+):?+", 0); // var charstring v_user := regexp(p_uri, charstring:"([a-zA-Z]+):([a-zA-Z0-9]+)@([a-zA-Z0-9.]+)(:([0-9]+))?", 1); // var charstring v_host := regexp(p_uri, charstring:"([a-zA-Z]+):([a-zA-Z0-9]+)@([a-zA-Z0-9.]+)(:([0-9]+))?", 2); // var charstring v_scheme := regexp(p_uri, charstring:"([a-zA-Z]+):?+", 0); // var charstring v_user := regexp(p_uri, pattern "(sips?):([^@]+)@([^:]+):?(.+)", 1); // var template charstring v_uri_pattern := "(http[s]#(0,1))://([^/\\s]+)/(?+)"; var charstring v_scheme := regexp(p_uri, charstring:"(sip[s]#(0,1)):([^@\\s]+)@?+", 0); var charstring v_user := regexp(p_uri, charstring:"(sip[s]#(0,1)):([^@\\s]+)@?+", 1); var charstring v_host_port := regexp(p_uri, charstring:"(sip[s]#(0,1)):([^@\\s]+)@(?+)", 2); Loading Loading @@ -302,6 +294,11 @@ module LibNg112_Steps { vc_interfaceprofile.SUTPort := PX_SUT_LIS_SIP_PORT; vc_interfaceprofile.SUTIpaddr := PX_SUT_LIS_SIP_IPADDR; vc_interfaceprofile.SUTHomeDomain := PX_SUT_LIS_SIP_HOME_DOMAIN; } case (c_interfaceProfile_SUT_ECRF) { //variant c_interfaceProfile_SUT_ECRF vc_interfaceprofile.SUTPort := PX_SUT_ECRF_SIP_PORT; vc_interfaceprofile.SUTIpaddr := PX_SUT_ECRF_SIP_IPADDR; vc_interfaceprofile.SUTHomeDomain := PX_SUT_ECRF_SIP_HOME_DOMAIN; } } } // End of function f_init_interfaceprofile Loading