Commit c7c49a8f authored by garciay's avatar garciay
Browse files

Add Adapter support in TC_IMS_MESS_0001 TC for Adapter first integration test

parent f7317497
Loading
Loading
Loading
Loading
+415 −337
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@
 */
module AtsImsIot_TestCases_MESS {
	
	import from LibIot_TypesAndValues { type StartTrafficCaptureRsp, StopTrafficCaptureRsp; }

	import from AtsImsIot_Behavior {
        function all;
    }
@@ -13,7 +15,8 @@ module AtsImsIot_TestCases_MESS {
        function all;
    }

	import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}
	//import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}
	  import from LibIot_PIXITS all;

	import from LibIms_UpperTester {type ImsUserInfo;}

@@ -34,43 +37,118 @@ module AtsImsIot_TestCases_MESS {
    
	import from AtsImsIot_TestSystem {type CF_INT_CALL;}
	
	  
	  import from AtsImsIot_Templates all;

		
	/**
	 * @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 {
      timer tc_configureGuard;
		// 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);
		var CF_INT_CALL v_config := {v_gmA, v_mw, omit};
    	var StartTrafficCaptureRsp startResult;
    	var StopTrafficCaptureRsp stopResult;
		
		// map/connect component ports
    	f_cf_adapter_up();
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB);
		f_cf_int_call_up(v_config);
		
		
		// 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;
	     }
	   } 
		f_cf_int_call_up(v_config);
		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("**** 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, f_getMessageBody(1301));
		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
    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);
        }
      }
      [] tc_configureGuard.timeout {
        log("**** TC_IMS_MESS_0001: StartTrafficCaptureReq not answered. ****");
        setverdict (inconc);
      }
    } 
		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_int_call_down(v_config);
   	f_cf_adapter_down();
	}