Loading AtsImsIot/AtsImsIot_Behavior.ttcn +107 −5 Original line number Diff line number Diff line Loading @@ -439,6 +439,7 @@ group checksTC_IMS_0002 { } } // group group checksTC_IMS_0003{ /** * @desc Starts monitor component behavior Loading Loading @@ -470,15 +471,14 @@ group checksTC_IMS_0003{ ) runs on TestCoordinator return Request { var SipMessage v_sip; //TODO Currently we don't check anything except that there // where 2 messages on the cable, and the last being a Register //Get first Register var charstring v_EUT_A_Addr := f_GetEUTAddress(PX_EUT_A); var Request v_RegisterStep4; var Request v_RegisterStep4, v_RegisterStep2; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01", "TP_IMS_5203_01 first register", "REGISTER request", 0, true Loading @@ -486,13 +486,115 @@ group checksTC_IMS_0003{ ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_RegisterStep2 := v_sip.request; //Get second Register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01 second register", "REGISTER request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); // TODO: Currently we don't check anything, just that IMS-A sent 2 consecutive Registers v_RegisterStep4 := v_sip.request; return v_RegisterStep4; } } // group group checksTC_IMS_0003H{ /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5402_01_gm( InterfaceMonitor p_monitorCompRef ) runs on TestCoordinator { // Check that the UE sends any register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01", "REGISTER request", 0, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5402_01_mw( InterfaceMonitor p_monitorCompRef ) runs on TestCoordinator return Request { var SipMessage v_sip; //Get first Register var charstring v_EUT_A_Addr := f_GetEUTAddress(PX_EUT_A); var Request v_RegisterStep4, v_RegisterStep2; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01 first register", "REGISTER request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_RegisterStep2 := v_sip.request; //Get second Register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01 second register", "REGISTER request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); // Check that IMS_A sends the original Register to // another entrypoint of IMS-B if (match (v_RegisterStep4.msgHeader, v_RegisterStep2.msgHeader)){ // Identical set of headers setverdict(pass); } else { // Some headers differ setverdict(fail); } if (match (v_RegisterStep4.requestLine, v_RegisterStep4.requestLine)){ // IMS-A used same entrypoint setverdict(fail); } else { // IMS-A used a different entrypoint setverdict(pass); } v_RegisterStep4 := v_sip.request; return v_RegisterStep4; } } // group group checksTC_IMS_0005 { /** Loading AtsImsIot/AtsImsIot_TestCases.ttcn +38 −2 Original line number Diff line number Diff line Loading @@ -132,8 +132,7 @@ module AtsImsIot_TestCases { } /** * @desc * IMS network chooses a second entry point to the home network of a user that requested registration, * if the first entry point does not answer, without topology hiding. * No response from first entry point on REGISTER with topology hiding * (TD_IMS_0003 in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.2) */ testcase TC_IMS_0003() runs on TestCoordinator system SystemInterface { Loading Loading @@ -169,6 +168,43 @@ module AtsImsIot_TestCases { f_cf_monitor_down(v_mw); } /** * @desc * No response from first entry point on REGISTER with topology hiding * (TD_IMS_0003 in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.2) */ testcase TC_IMS_0003H() runs on TestCoordinator system SystemInterface { // create components var EutTrigger v_ueB := f_cf_create_trigger(c_trigger_B); var InterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var InterfaceMonitor v_mw := f_cf_create_monitor(c_mw); var Request v_Register_Step4; // map/connect component ports f_cf_trigger_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // test body f_mtc_userTriggerRegistration(v_ueB, PX_EUT_A); f_mtc_check_TP_IMS_5402_01_gm(v_gmA); // TODO implement check functions v_Register_Step4 := f_mtc_check_TP_IMS_5402_01_mw(v_mw); // TP1 f_mtc_userCheckRegistration(v_ueB, PX_EUT_B); // postamble f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_trigger_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); } /** Loading Loading
AtsImsIot/AtsImsIot_Behavior.ttcn +107 −5 Original line number Diff line number Diff line Loading @@ -439,6 +439,7 @@ group checksTC_IMS_0002 { } } // group group checksTC_IMS_0003{ /** * @desc Starts monitor component behavior Loading Loading @@ -470,15 +471,14 @@ group checksTC_IMS_0003{ ) runs on TestCoordinator return Request { var SipMessage v_sip; //TODO Currently we don't check anything except that there // where 2 messages on the cable, and the last being a Register //Get first Register var charstring v_EUT_A_Addr := f_GetEUTAddress(PX_EUT_A); var Request v_RegisterStep4; var Request v_RegisterStep4, v_RegisterStep2; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01", "TP_IMS_5203_01 first register", "REGISTER request", 0, true Loading @@ -486,13 +486,115 @@ group checksTC_IMS_0003{ ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_RegisterStep2 := v_sip.request; //Get second Register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01 second register", "REGISTER request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); // TODO: Currently we don't check anything, just that IMS-A sent 2 consecutive Registers v_RegisterStep4 := v_sip.request; return v_RegisterStep4; } } // group group checksTC_IMS_0003H{ /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5402_01_gm( InterfaceMonitor p_monitorCompRef ) runs on TestCoordinator { // Check that the UE sends any register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01", "REGISTER request", 0, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5402_01_mw( InterfaceMonitor p_monitorCompRef ) runs on TestCoordinator return Request { var SipMessage v_sip; //Get first Register var charstring v_EUT_A_Addr := f_GetEUTAddress(PX_EUT_A); var Request v_RegisterStep4, v_RegisterStep2; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01 first register", "REGISTER request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_RegisterStep2 := v_sip.request; //Get second Register p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_REGISTER_Request_Base)}, {}, "TP_IMS_5203_01 second register", "REGISTER request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); // Check that IMS_A sends the original Register to // another entrypoint of IMS-B if (match (v_RegisterStep4.msgHeader, v_RegisterStep2.msgHeader)){ // Identical set of headers setverdict(pass); } else { // Some headers differ setverdict(fail); } if (match (v_RegisterStep4.requestLine, v_RegisterStep4.requestLine)){ // IMS-A used same entrypoint setverdict(fail); } else { // IMS-A used a different entrypoint setverdict(pass); } v_RegisterStep4 := v_sip.request; return v_RegisterStep4; } } // group group checksTC_IMS_0005 { /** Loading
AtsImsIot/AtsImsIot_TestCases.ttcn +38 −2 Original line number Diff line number Diff line Loading @@ -132,8 +132,7 @@ module AtsImsIot_TestCases { } /** * @desc * IMS network chooses a second entry point to the home network of a user that requested registration, * if the first entry point does not answer, without topology hiding. * No response from first entry point on REGISTER with topology hiding * (TD_IMS_0003 in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.2) */ testcase TC_IMS_0003() runs on TestCoordinator system SystemInterface { Loading Loading @@ -169,6 +168,43 @@ module AtsImsIot_TestCases { f_cf_monitor_down(v_mw); } /** * @desc * No response from first entry point on REGISTER with topology hiding * (TD_IMS_0003 in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.2) */ testcase TC_IMS_0003H() runs on TestCoordinator system SystemInterface { // create components var EutTrigger v_ueB := f_cf_create_trigger(c_trigger_B); var InterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var InterfaceMonitor v_mw := f_cf_create_monitor(c_mw); var Request v_Register_Step4; // map/connect component ports f_cf_trigger_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // test body f_mtc_userTriggerRegistration(v_ueB, PX_EUT_A); f_mtc_check_TP_IMS_5402_01_gm(v_gmA); // TODO implement check functions v_Register_Step4 := f_mtc_check_TP_IMS_5402_01_mw(v_mw); // TP1 f_mtc_userCheckRegistration(v_ueB, PX_EUT_B); // postamble f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_trigger_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); } /** Loading