/** * @author STF 370 * @version $Id: $ * @desc This module provides ATS specific test case definitions. */ module AtsImsIot_TestCases_MESS { import from AtsImsIot_Behavior { function all; } import from AtsImsIot_Functions { function all; } import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} import from LibIms_UpperTester {type ImsUserInfo;} import from LibIot_TestConfiguration { function f_cf_create_IotEquipmentUser; } import from AtsImsIot_TestConfiguration { const all; function all; } import from LibIot_TestInterface {type IotEquipmentUser;} import from AtsImsIot_TestSystem { type ImsInterfaceMonitor, ImsTestCoordinator, IotSystemInterface; } /** * @desc * IMS network shall support SIP messages greater than 1500 bytes. * (in ETSI TS 186 011-2 V2.3.1 cause 4.5.1.1) */ testcase TC_IMS_MESS_0001() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "body>1300Bytes"); // TODO add body here f_mtc_check_TP_IMS_4002_01_gm(v_gmA); f_mtc_check_TP_IMS_4002_01_mw(v_mw); f_mtc_userCheckMessageReceipt(v_ueB); // postabmle f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); } /** * @desc * IMS network handles messaging with SIP identity correctly without * topology hiding. (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.1) */ testcase TC_IMS_MESS_0002() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_gmB); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getSipUserId(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "test"); f_mtc_check_TP_IMS_5097_05_gm(v_gmA, true); // message not removed from port queue f_mtc_check_TP_IMS_5097_07_gm(v_gmA, false); // message removed from port queue f_mtc_check_TP_IMS_5097_05_mw(v_mw, true);// message not removed from port queue f_mtc_check_TP_IMS_5097_07_mw(v_mw, false);// message removed from port queue f_mtc_userCheckMessageReceipt(v_ueB); f_mtc_check_TP_IMS_5117_02_gm(v_gmB, true);// message not removed from port queue f_mtc_check_TP_IMS_5118_01_gm(v_gmB, false);// message removed from port queue f_mtc_check_TP_IMS_5117_02_mw(v_mw, true);// message not removed from port queue f_mtc_check_TP_IMS_5118_01_mw(v_mw, false);// message removed from port queue // postabmle f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_gmB); f_cf_monitor_down(v_mw); } /** * @desc * IMS network handles messaging with TEL URI identities correctly * (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.2) */ testcase TC_IMS_MESS_0003() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_gmB); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getTelUserId(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "test"); f_mtc_check_TP_IMS_5097_07_gm(v_gmA, false); f_mtc_check_TP_IMS_5097_07_mw(v_mw, false); f_mtc_userCheckMessageReceipt(v_ueB); f_mtc_check_TP_IMS_5117_02_gm(v_gmB, true);// message not removed from port queue f_mtc_check_TP_IMS_5118_01_gm(v_gmB, true);// message not removed from port queue f_mtc_check_TP_IMS_5117_06_gm(v_gmB, false);// message removed from port queue f_mtc_check_TP_IMS_5117_02_mw(v_mw, true);// message not removed from port queue f_mtc_check_TP_IMS_5118_01_mw(v_mw, true);// message not removed from port queue f_mtc_check_TP_IMS_5117_06_mw(v_mw, false);// message removed from port queue // postabmle f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_gmB); f_cf_monitor_down(v_mw); } /** * @desc * IMS network handles messaging with DNS/ENUM lookup procedure correctly * (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.3) */ testcase TC_IMS_MESS_0004() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_gmB); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getTelUserId(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "test"); f_mtc_check_TP_IMS_5097_08_gm(v_gmA, false); f_mtc_check_TP_IMS_5097_08_mw(v_mw, false); // TODO add DNS checks f_mtc_userCheckMessageReceipt(v_ueB); f_mtc_check_TP_IMS_5117_06_gm(v_gmB, false); f_mtc_check_TP_IMS_5117_06_mw(v_mw, false); // postabmle f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_gmB); f_cf_monitor_down(v_mw); } /** * @desc * IMS network handles messaging while roaming correctly. * (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.4) */ testcase TC_IMS_MESS_0005() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_gmB); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_roaming_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "test"); f_mtc_check_TP_IMS_5050_01_gm(v_gmA, false); // TODO must be checked f_mtc_check_TP_IMS_5050_01_mw(v_mw, true); f_mtc_check_TP_IMS_5108_02_mw(v_mw); // TODO must be checked f_mtc_userCheckMessageReceipt(v_ueB); f_mtc_check_TP_IMS_5118_01_gm(v_gmB, false); f_mtc_check_TP_IMS_5118_01_mw(v_mw, false); // postabmle f_PO_user_home_deregistration(v_ueA); f_PO_user_roaming_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_gmB); f_cf_monitor_down(v_mw); } /** * @desc * IMS network handles messaging correctly when receiving user is nit registered. * (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.5) */ testcase TC_IMS_MESS_0006() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); // test body f_mtc_userSendMessage(v_ueA, "test"); f_mtc_check_TP_IMS_5114_02_gm(v_gmA); f_mtc_check_TP_IMS_5114_02_mw(v_mw); f_mtc_userCheckMessageNotDelivered(v_ueA); // postabmle f_PO_user_home_deregistration(v_ueA); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); } /** * @desc * IMS network handles messaging correctly when receiving user is nit registered. * (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.6) */ testcase TC_IMS_MESS_0007() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // preamble f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // test body f_mtc_userSendMessage(v_ueA, "test"); f_mtc_check_TP_IMS_5108_06_gm(v_gmA); f_mtc_check_TP_IMS_5108_06_mw(v_mw); f_mtc_userCheckMessageNotDelivered(v_ueA); // postabmle f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); } }