Commit b89276d4 authored by garciay's avatar garciay
Browse files

Move Adapter & Start/Stop capture into f_cf_int_call_up()/f_cf_int_call_down()

Need to add f_cf_adapter_up()/f_cf_adapter_down() to map acPort
parent a7c9d804
Loading
Loading
Loading
Loading
+34 −108
Original line number Diff line number Diff line
@@ -5,18 +5,13 @@
 */
module AtsImsIot_TestCases_MESS {
	
	import from LibIot_TypesAndValues {
		type StartTrafficCaptureRsp, StopTrafficCaptureRsp;
	}

	import from AtsImsIot_Behavior {function all;}

	import from AtsImsIot_Functions {function all;}
	
	import from LibCommon_VerdictControl {type FncRetCode}

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

	import from LibIms_UpperTester {type ImsUserInfo;}

@@ -37,7 +32,6 @@ module AtsImsIot_TestCases_MESS {
		
	import from AtsImsIot_TestSystem {type CF_INT_CALL;}
	
	  
	import from AtsImsIot_Templates all;

		
@@ -47,108 +41,40 @@ module AtsImsIot_TestCases_MESS {
	 *     (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_int_call_up(v_config);
		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;
	     }
	   } 
		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);
		f_cf_int_call_down(v_config);
		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_int_call_down(v_config);
		f_cf_adapter_down();
	}
	
	
+433 −346
Original line number Diff line number Diff line
@@ -9,15 +9,29 @@

module AtsImsIot_TestConfiguration {
	
	import from LibIot_TypesAndValues {
		type StartTrafficCaptureRsp, StopTrafficCaptureRsp;
	}

	import from AtsImsIot_TestSystem {type CF_INT_CALL;}

	import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B, PX_PRODUCTS;}
	import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B, PX_PRODUCTS, PX_MAX_MSG_WAIT;}

	import from LibIot_Functions {
				function f_setConformanceVerdict, f_setE2EVerdict;
		}

	import from AtsImsIot_Templates {template m_SetFilterReq, mw_SetFilterRsp;}
	import from AtsImsIot_Templates {
		template 
			m_generalConfigurationReq_offline,
			m_generalConfigurationRsp_success,
			m_generalConfigurationRsp_error,
			m_generalConfigurationRsp_timeout,
			m_SetFilterReq, 
			mw_SetFilterRsp,
			m_startTrafficCaptureReq,
			m_stopTrafficCaptureReq,
			m_startTrafficCaptureRsp_any;}

	import from LibCommon_VerdictControl {type FncRetCode;}

@@ -27,6 +41,8 @@ module AtsImsIot_TestConfiguration {
						InterfaceInfoList,
						Product,
						ProtocolFilter,
						StartTrafficCaptureRsp,
						StopTrafficCaptureRsp,
						SetFilterReq,
						SetFilterRsp,
						Status;
@@ -257,13 +273,45 @@ module AtsImsIot_TestConfiguration {
			function f_cf_int_call_up(
				inout CF_INT_CALL p_config 
			) runs on ImsTestCoordinator {
    		if(isvalue(p_config.gmB)) {
    			f_cf_monitor_up(p_config.gmB);
				// Initialize the Adapter (including the TrafficCapture process).
				timer tc_configureGuard;
				var StartTrafficCaptureRsp startResult;
				var StopTrafficCaptureRsp stopResult;
				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_monitor_up(p_config.gmA);
				f_cf_monitor_up(p_config.mw);
    		
				if(isvalue(p_config.gmB)) {
					f_cf_monitor_up(p_config.gmB);
				}
				
				// TODO UE IP address and port is missing
				p_config.gmA.start(f_cf_setFilter(
@@ -291,6 +339,25 @@ module AtsImsIot_TestConfiguration {
						)));
						p_config.gmB.done;
				}
				// Start traffic capture processing.
				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("**** StartTrafficCaptureReq unsuccessfull! ****");
								setverdict(fail);
								stop;
							}
						}
						[] tc_configureGuard.timeout {
							log("**** StartTrafficCaptureReq not answered. ****");
							setverdict (inconc);
							stop;
						}
				} 
			}
			
			/**
@@ -306,6 +373,26 @@ module AtsImsIot_TestConfiguration {
			function f_cf_int_call_down(
				inout CF_INT_CALL p_config
			) runs on ImsTestCoordinator {
				// Start traffic capture processing.
				timer tc_configureGuard;
				var StartTrafficCaptureRsp startResult;
				var StopTrafficCaptureRsp stopResult;
				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_cf_monitor_down(p_config.gmA);
				f_cf_monitor_down(p_config.mw);
				if(isvalue(p_config.gmB)) {