Commit dc1c19c3 authored by pintar's avatar pintar
Browse files

testcases TC_IMS_FILE_0002-TC_IMS_FILE_0004

parent 2dad5e3d
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -1173,6 +1173,20 @@ module AtsImsIot_Functions {
            return v_status;
        }

        /**
           * @desc Trigger UE given by p_ueRef to verify that users perform file transfer  
           * @param p_userCompRef Reference to IMS UE user component
           * @return
           *     true in case of successfull execution of the trigger command
           *     otherwise false
           */
        function f_mtc_userCheckFt(EquipmentUser p_userCompRef1, EquipmentUser p_userCompRef2) 
            runs on TestCoordinator return boolean {
            var boolean v_status := true; 
            // TODO
            return v_status;
        }

        /**
           * @desc Trigger UE given by p_ueRef to accept the file transfer invitation  
           * @param p_userCompRef Reference to IMS UE user component
@@ -1201,6 +1215,21 @@ module AtsImsIot_Functions {
            return v_status;
        }

        /**
           * @desc Trigger UE given by p_ueRef to automatically accepts 
           * 		file transfer invitation  
           * @param p_userCompRef Reference to IMS UE user component
           * @return
           *     true in case of successfull execution of the trigger command
           *     otherwise false
           */
        function f_mtc_userCheckAutomaticalyAcceptedFt(EquipmentUser p_userCompRef) 
            runs on TestCoordinator return boolean {
            var boolean v_status := true; 
            // TODO
            return v_status;
        }

        /**
           * @desc Trigger UE given by p_ueRef to ends the file transfer session  
           * @param p_userCompRef Reference to IMS UE user component
+191 −3
Original line number Diff line number Diff line
@@ -1430,10 +1430,10 @@ module AtsImsIot_TestCases_RCS {

		f_mtc_userCheckFileTransferring(v_ueA, v_ueB); //Test Sequence Step 5

		f_mtc_EndFt(v_ueA); //Test Sequence Step 7
		f_mtc_EndFt(v_ueA); //Test Sequence Step 6

		f_mtc_userCheckFtEnded(v_ueB); //Test Sequence Step 8
		f_mtc_userCheckFtEnded(v_ueA); //Test Sequence Step 9
		f_mtc_userCheckFtEnded(v_ueB); //Test Sequence Step 7
		f_mtc_userCheckFtEnded(v_ueA); //Test Sequence Step 8
		
		// postamble
		f_PO_user_home_deregistration(v_ueA);
@@ -1447,4 +1447,192 @@ module AtsImsIot_TestCases_RCS {
	} //end testcase TC_IMS_FILE_0001
	
	
	/**
		* @desc IMS network supports file transfer service and file transfer between 
		* 		two users, one user in its home network and one user roaming can be 
		* 		performed. User B must explicitly accept the file transfer.
		* @see TS 102 901-2 V0.0.1 clause 4.5.4.1.2
		*/
	testcase TC_IMS_FILE_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_ic := f_cf_create_monitor(c_ic);
        var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B);
        var ImsInterfaceMonitor v_iscA := f_cf_create_monitor(c_isc_A);
		var ImsUserInfo v_userInfoA := f_getFtUser(PX_EUT_A);
		var ImsUserInfo v_userInfoB := f_getFtUser(PX_EUT_B); 
        var CF_ROAM_AS v_config := {v_gmA, v_ic, v_gmB, v_iscA, v_iscB};
		
				
		// map/connect component ports
		f_cf_adapter_up();
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB);
        f_cf_roam_as_up(v_config);
		
		// preamble
		f_mtc_userRegistration(v_ueA, v_userInfoA); 
		f_mtc_userRegistration(v_ueB, v_userInfoB); 
		
		// test body
		f_mtc_userInitiateFt (v_ueB, v_userInfoA); //Test Sequence Step 1
		
        // check 1,2,3 (INVITE)
        f_mtc_check_TP_IMS_5046_01_gm(v_gmA, true); // Check1
        f_mtc_check_TP_IMS_5067_01_gm(v_gmA, false); // Check2
        f_mtc_check_TP_IMS_5046_01_ic(v_ic, true); // Check1
        f_mtc_check_TP_IMS_5067_01_ic(v_ic, true); // Check2
        f_mtc_check_TP_IMS_5097_09_ic(v_ic, false); // Check3
        f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false); // Check3
				
		f_mtc_userCheckFtInfo(v_ueA); //Test Sequence Step 2
		f_mtc_userCheckPeerFtInfo(v_ueB); //Test Sequence Step 3
		f_mtc_userAcceptsFt(v_ueA); //Test Sequence Step 4

		f_mtc_userCheckFileTransferring(v_ueB, v_ueA); //Test Sequence Step 5

		f_mtc_EndFt(v_ueA); //Test Sequence Step 6

		f_mtc_userCheckFtEnded(v_ueA); //Test Sequence Step 7
		f_mtc_userCheckFtEnded(v_ueB); //Test Sequence Step 8
		
		// 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_as_down(v_config);
	} //end testcase TC_IMS_FILE_0002
	
    /**
    * @desc IMS network supports file transfer service and file between two users in 
    * 		their home network can be performed. Immediate response applies.
    * @see TS 102 901-2 V0.0.1 clause 4.5.4.1.3
    */
    testcase TC_IMS_FILE_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_ic := f_cf_create_monitor(c_ic);
        var ImsInterfaceMonitor v_iscA := f_cf_create_monitor(c_isc_A);
        var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B);
        var ImsUserInfo v_userInfoA := f_getImUser(PX_EUT_A);
        var ImsUserInfo v_userInfoB := f_getImUser(PX_EUT_B); 
        var CF_INT_AS v_config := {v_gmA, v_ic, v_gmB, v_iscA, v_iscB};
				
        // map/connect component ports
        f_cf_adapter_up();
        f_cf_user_up(v_ueA);
        f_cf_user_up(v_ueB);
        f_cf_int_as_up(v_config);
		
        // preamble
        f_mtc_userRegistration(v_ueA, v_userInfoA); 
        f_mtc_userRegistration(v_ueB, v_userInfoB); 
				
        // test body
        f_mtc_StartAllTrafficCapture();	
        	
        f_mtc_userInitiateFt(v_ueA, v_userInfoB); //Test Sequence Step 1
		
        // check 1,2 (INVITE)
        f_mtc_check_TP_IMS_5097_01_gm(v_gmA, false); // Check1
        f_mtc_check_TP_IMS_5097_01_ic(v_ic, true); // Check1
        f_mtc_check_TP_IMS_5108_03_ic(v_ic, false, 0); // Check 2
        f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false, 0); // Check 2
				
        f_mtc_userCheckAutomaticalyAcceptedFt(v_ueB); //Test Sequence Step 2

        // checks 3 (2xx)
        f_mtc_check_TP_IMS_5115_08_isc(v_iscB, false); // Check 3
        f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0); // Check 3

        f_mtc_userCheckFt(v_ueA,v_ueB); //Test Sequence Step 3

        f_mtc_EndFt(v_ueA); //Test Sequence Step 4

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

        // 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_int_as_down(v_config);
        f_cf_adapter_down();
    } //end testcase TC_IMS_FILE_0003
	
    /**
    * @desc IMS network supports file transfer service and file transfer between two users, 
    * 		one user in its home network and one user roaming can be performed. Immediate 
    * 		response applies.
    * @see TS 102 901-2 V0.0.1 clause 4.5.4.1.4
    */
    testcase TC_IMS_FILE_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_ic := f_cf_create_monitor(c_ic);
        var ImsInterfaceMonitor v_iscA := f_cf_create_monitor(c_isc_A);
        var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B);
        var ImsUserInfo v_userInfoA := f_getImUser(PX_EUT_A);
        var ImsUserInfo v_userInfoB := f_getImUser(PX_EUT_B); 
        var CF_ROAM_AS v_config := {v_gmA, v_ic, v_gmB, v_iscA, v_iscB};
				
        // map/connect component ports
        f_cf_adapter_up();
        f_cf_user_up(v_ueA);
        f_cf_user_up(v_ueB);
        f_cf_roam_as_up(v_config);
		
        // preamble
        f_mtc_userRegistration(v_ueA, v_userInfoA); 
        f_mtc_userRegistration(v_ueB, v_userInfoB); 
				
        // test body
        f_mtc_StartAllTrafficCapture();	
        	
        f_mtc_userInitiateFt(v_ueB, v_userInfoA); //Test Sequence Step 1
		
        // check 1,2,3 (INVITE)
        f_mtc_check_TP_IMS_5046_01_gm(v_gmA, true); // Check1
        f_mtc_check_TP_IMS_5067_01_gm(v_gmA, false); // Check2
        f_mtc_check_TP_IMS_5046_01_ic(v_ic, true); // Check1
        f_mtc_check_TP_IMS_5067_01_ic(v_ic, true); // Check2
        f_mtc_check_TP_IMS_5097_09_ic(v_ic, false); // Check3
        f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false); // Check3
				
        f_mtc_userCheckAutomaticalyAcceptedFt(v_ueB); //Test Sequence Step 2
        
        f_mtc_userCheckFt(v_ueB,v_ueA); //Test Sequence Step 3

        f_mtc_EndFt(v_ueB); //Test Sequence Step 4

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

        // 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_as_down(v_config);
        f_cf_adapter_down();
    } //end testcase TC_IMS_FILE_0004

	
}//end module AtsImsIot_TestCases_RCS
 No newline at end of file