Commit 644206da authored by pintar's avatar pintar
Browse files

TC_IMS_CALL_0009, TC_IMS_CALL_0010 and TC_IMS_CALL_0013

parent 5cfb74ae
Loading
Loading
Loading
Loading
+162 −4
Original line number Diff line number Diff line
@@ -596,12 +596,170 @@ module AtsImsIot_TestCases_CALL {
		f_cf_roam_call_down(v_gmA, v_mw, v_gmB);
	} //end testcase TC_IMS_CALL_0008
	
group Limit {
	
// group exist only in developement state to avoid conflicts when developer want to commit part of the code
//TODO delete  group Limit when testcases CALL_0007 to CALL_0017 will be done
}//end group Limit
	/**
		* @desc Subsequent request(other than target refresh)
		* @see TS 186 011-2 V2.3.1 cause 4.5.3.1.2.3
		*/
	testcase TC_IMS_CALL_0009() 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);
		var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A);
		var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B);
		
				
		// map/connect component ports
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB);
  		f_cf_roam_call_up(v_gmA, v_mw, v_gmB);
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
		
		// test body
		f_mtc_userTriggerInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1
						
		f_mtc_userCheckRinging(v_ueA); //Test Sequence Step 2
		f_mtc_userCheckPeerIsRinging(v_ueB); //Test Sequence Step 3
		f_mtc_userTriggerAnswerCall(v_ueA); //Test Sequence Step 4

		f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 5
		f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 6

		f_mtc_triggerEndCall(v_ueB); //Test Sequence Step 7

		// check 1 (BYE)
		f_mtc_check_TP_IMS_5052_01_gm(v_gmB, false); // Check1 
		f_mtc_check_TP_IMS_5052_01_mw(v_mw, false); // Check1 

		f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 8
		f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 9
		
		// postamble
		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_roam_call_down(v_gmA, v_mw, v_gmB);
	} //end testcase TC_IMS_CALL_0009
	
	
	/**
	  * @desc Subsequent target refresh request(INVITE)
	  * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.2.4
	  */
	testcase TC_IMS_CALL_0010() 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);
		var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A);
		var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B);
				
		// map/connect component ports
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB);
		f_cf_roam_call_up(v_gmA, v_mw, v_gmB);
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
		
		// test body
		f_mtc_userTriggerInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1
		f_mtc_userCheckRinging(v_ueA); //Test Sequence Step 2
		f_mtc_userCheckPeerIsRinging(v_ueB); //Test Sequence Step 3
		f_mtc_userTriggerAnswerCall(v_ueA); //Test Sequence Step 4
		f_mtc_userCheckCallEstablished(v_ueB); //Test Sequence Step 5
		f_mtc_userCheckCallEstablished(v_ueA); //Test Sequence Step 6

		f_mtc_userTriggerHold(v_ueB); //Test Sequence Step 7

		// checks 1 and 2 (INVITE)
		f_mtc_check_TP_IMS_5048_01_gm(v_gmB, false, 1); // Check1
		f_mtc_check_TP_IMS_5048_01_mw(v_mw, true, 2); // Check1	
		f_mtc_check_TP_IMS_5080_01_mw(v_mw, false); // Check2
			
		f_mtc_userCheckUserOnHold(v_ueA); //Test Sequence Step 8
		f_mtc_userCheckUserOnHold(v_ueB); //Test Sequence Step 9
		
		f_mtc_userTriggerResume(v_ueB);  //Test Sequence Step 10
		
		// checks 1 and 2 (INVITE)
		f_mtc_check_TP_IMS_5048_01_gm(v_gmB, false, 0); // Check1
		f_mtc_check_TP_IMS_5048_01_mw(v_mw, true, 1); // Check1	
		f_mtc_check_TP_IMS_5080_01_mw(v_mw, false); // Check2
		
		f_mtc_userCheckCallResumed(v_ueA);  //Test Sequence Step 11
		f_mtc_userCheckCallResumed(v_ueB);  //Test Sequence Step 12

		f_mtc_triggerEndCall(v_ueA); //Test Sequence Step 13

		f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 14
		f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 15
		
		// postamble
		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_roam_call_down(v_gmA, v_mw, v_gmB);
	} //end testcase TC_IMS_CALL_0010
	
	
	/**
	  * @desc Call CANCEL due to loss of connectivity of calling user during call establishment
	  * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.2.7
	  */
	testcase TC_IMS_CALL_0013() 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);
		var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A);
		var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B);
				
		// map/connect component ports
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB);
		f_cf_roam_call_up(v_gmA, v_mw, v_gmB);
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
		
		// test body
		f_mtc_userTriggerInitiateCall (v_ueB, v_userInfoA); //Test Sequence Step 1
		f_mtc_userCheckRinging(v_ueA); //Test Sequence Step 2
		f_mtc_userCheckPeerIsRinging(v_ueB); //Test Sequence Step 3
		
		f_cf_user_down(v_ueB);// //Test Sequence Step 4 --- UEB loses conectivity

		f_mtc_check_TP_IMS_5072_02_gm(v_gmA, false); // Check1
		
		f_mtc_userCheckCallCancelled(v_ueA); //Test Sequence Step 5
				
		// postamble
		f_PO_user_home_deregistration(v_ueA);
		
		
		//unmap/disconnet component ports
		f_cf_user_down(v_ueA);
		f_cf_roam_call_down(v_gmA, v_mw, v_gmB);
	} //end testcase TC_IMS_CALL_0013
	
	/**
	  * @desc Call CANCEL by calling user