module TestExecution { import from LibIot_TestInterface {type IotEquipmentUser;} import from LibIot_TypesAndValues {type SetFilterReq, SetFilterRsp;} import from LibIot_TestConfiguration { function f_cf_create_IotEquipmentUser; } import from AtsImsIot_TestConfiguration { function f_cf_create_monitor, f_cf_monitor_down, f_cf_monitor_up, f_cf_user_down, f_cf_user_up, f_cf_adapter_up, f_cf_adapter_down; } import from AtsImsIot_TestSystem { type ImsInterfaceMonitor, ImsTestCoordinator, IotSystemInterface; } import from LibIms_UpperTester {type ImsUserInfo;} import from AtsImsIot_Functions {function all;} import from LibIot_TypesAndValues {const all type StartTrafficCaptureRsp, StopTrafficCaptureRsp; } import from LibIot_PIXITS all; import from AtsImsIot_Templates all; import from LibSip_SIPTypesAndValues {type Request, Response;} template Request mw_request := ?; template Response mw_response := ?; group constantDefinitions { //* interface monitor name Gm A const charstring c_gm_A := "Gm A"; //* interface monitor name Gm B const charstring c_gm_B := "Gm B"; //* interface monitor name Mw const charstring c_mw := "Mw"; //* interface monitor name Isc A const charstring c_isc_A := "Isc A"; //* interface monitor name Isc B const charstring c_isc_B := "Isc B"; //* eut trigger name User A const charstring c_userUE_A := "User A"; //* eut trigger name User B const charstring c_userUE_B := "User B"; const charstring c_userUE_B2 := "User B2"; } function f_monitor(template SetFilterReq p_filter) runs on ImsInterfaceMonitor { var SetFilterRsp setFilterRsp; timer tc_configureGuard; acPort.send(p_filter); tc_configureGuard.start(PX_MAX_MSG_WAIT); alt { [] acPort.receive (m_setFilterRspAny) -> value setFilterRsp { if (setFilterRsp.status.code != e_success) { log("**** f_monitor: SetFilterReq unsuccessfull! ****"); setverdict(fail); stop; } } [] tc_configureGuard.timeout { log("**** f_monitor: SetFilterReq not answered. ****"); setverdict (inconc); stop; } } // Receive loop alt { [] dPort.receive (mw_request) { log(self, "Received request"); repeat; } [] dPort.receive (mw_response) { log(self, "Received response"); repeat; } [] dPort.receive { log(self, "Received default"); repeat; } } } testcase TC_GeneralConfigurationMessageOffLineMode() runs on ImsTestCoordinator system IotSystemInterface { timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_offline); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; setverdict(pass); } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body log("Test body done."); // postamble log("Postamble done."); f_cf_adapter_down(); } testcase TC_GeneralConfigurationMessageOnLineMode() runs on ImsTestCoordinator system IotSystemInterface { // create components timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_online); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; setverdict(pass); } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_adapter_down(); } testcase TC_GeneralConfigurationMessageMerge() runs on ImsTestCoordinator system IotSystemInterface { // create components timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_merge); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; setverdict(pass); } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_adapter_down(); } testcase TC_TriggerUERegisterOffLineMode() 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); timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_offline); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); //setverdict(pass); log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_user_down(v_ueA); //f_cf_user_down(v_ueB); f_cf_adapter_down(); } testcase TC_TriggerOneUERegisterOnLineMode() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_online); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); //setverdict(pass); log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_adapter_down(); } testcase TC_TriggerTwoUERegisterOnLineMode() 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); timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_online); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); //setverdict(pass); log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); } testcase TC_TriggerUERegister3UsersOnLineMode() 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 IotEquipmentUser v_ueB2 := f_cf_create_IotEquipmentUser(c_userUE_B2); timer tc_configureGuard; timer tc_ac; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_online); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); f_PR_user_home_registration(v_ueB2, f_getAnyValidUser(PX_EUT_B_B2)); // do-nothing loop tc_ac.start(10.0); tc_ac.timeout; //setverdict(pass); log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_user_down(v_ueB2); f_cf_adapter_down(); } testcase TC_TriggerUEDeRegister() 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); timer tc_configureGuard; timer tc_ac; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_online); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); setverdict(pass); log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); } testcase TC_TriggerUERegisterUEDeRegister() 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); timer tc_configureGuard; timer tc_ac; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_online); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); log("Preamble done."); // test body // do-nothing loop tc_ac.start(10.0); tc_ac.timeout; log("Test body done."); // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); setverdict(pass); log("Postamble done."); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); } testcase TC_TriggerUERegisterOnLineModeWithoutEUTsSettings() 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); timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_onlinewithoutEUTs); alt { [] acPort.receive (m_generalConfigurationRsp_success) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { tc_configureGuard.stop; setverdict(pass); } [] acPort.receive { log("Unknown response."); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("Timeout."); setverdict (inconc); stop; } } log("Preamble done."); // test body log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); } testcase TC_TriggerUERegisterOnLineModeBadEUTsInfo() 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); timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_onlinewithbadEUTs); alt { [] acPort.receive (m_generalConfigurationRsp_success) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(pass); tc_configureGuard.stop; } [] acPort.receive { tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { setverdict (inconc); stop; } } log("Preamble done."); // test body log("Test body done."); // postamble log("Postamble done."); //unmap/disconnet component ports f_cf_user_down(v_ueA); f_cf_user_down(v_ueB); f_cf_adapter_down(); } testcase TC_SetFilter() runs on ImsTestCoordinator system IotSystemInterface { timer tc_configureGuard, tc_ac; var StartTrafficCaptureRsp startResult; var StartTrafficCaptureRsp stopResult; 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_adapter_up(); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_offline); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; setverdict(pass); } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { setverdict (inconc); stop; } } log("Preamble done."); // test body // Filters are set by interface monitor components v_gmA.start(f_monitor(m_setFilterReqMonitor1)); v_mw.start(f_monitor(m_setFilterReqMonitor2)); // do-nothing loop tc_ac.start(10.0); tc_ac.timeout; log("Test body done."); // postamble v_gmA.stop; v_mw.stop; log("Postamble done."); //unmap/disconnet component ports f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); f_cf_adapter_down(); } testcase TC_StartStopCapture() runs on ImsTestCoordinator system IotSystemInterface { // create components var StartTrafficCaptureRsp startResult; var StopTrafficCaptureRsp stopResult; var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); timer tc_ac; timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_offline); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("General configuration succeed."); tc_configureGuard.stop; setverdict(pass); } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] tc_configureGuard.timeout { setverdict (inconc); stop; } } log("Preamble done."); // test body v_gmA.start(f_monitor(m_setFilterReqMonitor1)); v_mw.start(f_monitor(m_setFilterReqMonitor2)); tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_startTrafficCaptureReq); alt { [] acPort.receive (m_startTrafficCaptureRsp_any) -> value startResult { tc_configureGuard.stop; if (startResult.status.code != e_success) { log("**** TC_StartStopCapture: startTrafficCaptureReq unsuccessfull! ****"); setverdict(fail); stop; } } [] tc_configureGuard.timeout { log("**** TC_StartStopCapture: startTrafficCaptureReq not answered. ****"); setverdict (inconc); stop; } } // do-nothing loop tc_ac.start(20.0); tc_ac.timeout; log("Test body done."); // postamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_stopTrafficCaptureReq); alt { [] acPort.receive (m_startTrafficCaptureRsp_any) -> value stopResult { tc_configureGuard.stop; if (stopResult.status.code != e_success) { setverdict(fail); } else { setverdict(pass); } } [] tc_configureGuard.timeout { setverdict (inconc); stop; } } v_gmA.stop; v_mw.stop; log("Postamble done."); //unmap/disconnet component ports f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); f_cf_adapter_down(); } testcase TC_IMS_MESS_0001() runs on ImsTestCoordinator system IotSystemInterface { var StartTrafficCaptureRsp startResult; var StopTrafficCaptureRsp stopResult; // 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); timer tc_ac; timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); 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 tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_offline); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("**** TC_IMS_MESS_0001: General configuration succeed. ****"); tc_configureGuard.stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("**** TC_IMS_MESS_0001: General configuration unknown response. ****"); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("**** TC_IMS_MESS_0001: General configuration timeout. ****"); setverdict (inconc); stop; } } f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B)); v_gmA.start(f_monitor(m_setFilterReqMonitor1)); v_mw.start(f_monitor(m_setFilterReqMonitor2)); log("**** TC_IMS_MESS_0001: Preamble done. ****"); // test body tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_startTrafficCaptureReq); alt { [] acPort.receive (m_startTrafficCaptureRsp_any) -> value startResult { tc_configureGuard.stop; if (startResult.status.code != e_success) { log("**** TC_IMS_MESS_0001: StartTrafficCaptureReq unsuccessfull! ****"); setverdict(fail); stop; } } [] tc_configureGuard.timeout { log("**** TC_IMS_MESS_0001: StartTrafficCaptureReq not answered. ****"); setverdict (inconc); stop; } } 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); // *** Simulation part tc_ac.start(15.0); alt { [] tc_ac.timeout { setverdict(inconc); } } // *** Simulation part f_mtc_userCheckMessageReceipt(v_ueB); log("**** TC_IMS_MESS_0001: Test body done. ****"); // postamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_stopTrafficCaptureReq); alt { [] acPort.receive (m_startTrafficCaptureRsp_any) -> value stopResult { tc_configureGuard.stop; if (stopResult.status.code != e_success) { log("**** TC_IMS_MESS_0001: StartTrafficCaptureReq unsuccessfull! ****"); setverdict(fail); } else { setverdict(pass); } } [] tc_configureGuard.timeout { log("**** TC_IMS_MESS_0001: StartTrafficCaptureReq not answered. ****"); setverdict (inconc); } } v_gmA.stop; v_mw.stop; f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); log("**** TC_IMS_MESS_0001: Postamble done. ****"); //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); f_cf_adapter_down(); } testcase TC_IMS_MESS_0006() runs on ImsTestCoordinator system IotSystemInterface { var StartTrafficCaptureRsp startResult; var StopTrafficCaptureRsp stopResult; // 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); timer tc_ac; timer tc_configureGuard; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // preamble tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_generalConfigurationReq_offline); alt { [] acPort.receive (m_generalConfigurationRsp_success) { log("**** TC_IMS_MESS_0006: General configuration succeed. ****"); tc_configureGuard.stop; } [] acPort.receive (m_generalConfigurationRsp_timeout) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive (m_generalConfigurationRsp_error) { setverdict(fail); tc_configureGuard.stop; stop; } [] acPort.receive { log("**** TC_IMS_MESS_0006: General configuration unknown response. ****"); tc_configureGuard.stop; setverdict (inconc); stop; } [] tc_configureGuard.timeout { log("**** TC_IMS_MESS_0006: General configuration timeout. ****"); setverdict (inconc); stop; } } f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A)); v_gmA.start(f_monitor(m_setFilterReqMonitor1)); v_mw.start(f_monitor(m_setFilterReqMonitor2)); log("**** TC_IMS_MESS_0006: Preamble done. ****"); // test body tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_startTrafficCaptureReq); alt { [] acPort.receive (m_startTrafficCaptureRsp_any) -> value startResult { tc_configureGuard.stop; if (startResult.status.code != e_success) { log("**** TC_IMS_MESS_0006: StartTrafficCaptureReq unsuccessfull! ****"); setverdict(fail); stop; } } [] tc_configureGuard.timeout { log("**** TC_IMS_MESS_0006: StartTrafficCaptureReq not answered. ****"); setverdict (inconc); stop; } } 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); tc_ac.start(15.0); alt { [] tc_ac.timeout { setverdict(inconc); } } // *** Simulation part f_mtc_userCheckMessageNotDelivered(v_ueA); // postabmle tc_configureGuard.start(PX_MAX_MSG_WAIT); acPort.send(m_stopTrafficCaptureReq); alt { [] acPort.receive (m_startTrafficCaptureRsp_any) -> value stopResult { tc_configureGuard.stop; if (stopResult.status.code != e_success) { log("**** TC_IMS_MESS_0006: StartTrafficCaptureReq unsuccessfull! ****"); setverdict(fail); } else { setverdict(pass); } } [] tc_configureGuard.timeout { log("**** TC_IMS_MESS_0006: StartTrafficCaptureReq not answered. ****"); setverdict (inconc); } } v_gmA.stop; v_mw.stop; 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); f_cf_adapter_down(); } control { //execute(TC_GeneralConfigurationMessageOffLineMode()); //execute(TC_GeneralConfigurationMessageOnLineMode()); //execute(TC_GeneralConfigurationMessageMerge()); //execute(TC_TriggerUERegisterOffLineMode()); //execute(TC_TriggerOneUERegisterOnLineMode()); //execute(TC_TriggerTwoUERegisterOnLineMode()); //execute(TC_TriggerUEDeRegister()); //execute(TC_TriggerUERegister3UsersOnLineMode()); //execute(TC_TriggerUERegisterUEDeRegister()); //execute(TC_TriggerUERegisterOnLineModeWithoutEUTsSettings()); //execute(TC_TriggerUERegisterOnLineModeBadEUTsInfo()); //execute(TC_SetFilter()); //execute(TC_StartStopCapture()); execute(TC_IMS_MESS_0001()); //execute(TC_IMS_MESS_0006()); } }