Commit e6025b44 authored by pintar's avatar pintar
Browse files

Test cases TC_IMS_SHARE_0005-TC_IMS_SHARE_0010 are done

parent c8cfb061
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
@@ -3638,6 +3638,56 @@ group checksTC_IMS_SHARE_0001 {
        
	}//end group checksTC_IMS_SHARE_0001

group checksTC_IMS_SHARE_0009 {

         /**
          * @desc Starts monitor component behavior 
          * @param p_monitorCompRef Reference to monitor component
          */
         function f_mtc_check_TP_IMS_CONTENT_SHARE_03_gm(
             ImsInterfaceMonitor p_monitorCompRef,
             boolean p_checkMessage
         ) runs on ImsTestCoordinator {
        		   	    		
            p_monitorCompRef.start(
             f_imsIot_receive(
                 {mw_SipResponse(mw_603Decline_Base)},
                 {},
                 {0, omit},
                 "TP_IMS_CONTENT_SHARE_03",
                 false,
                 p_checkMessage
             )
            );
            p_monitorCompRef.done;
         }
        
        
         /**
          * @desc Starts monitor component behavior
          * @param p_monitorCompRef Reference to monitor component
          */
         function f_mtc_check_TP_IMS_CONTENT_SHARE_03_ic(
             ImsInterfaceMonitor p_monitorCompRef,
             boolean p_checkMessage
         ) runs on ImsTestCoordinator  {	
         var charstring v_EUT_A_Addr := f_GetEUTScscfAddress(PX_EUT_A);
        	    
         p_monitorCompRef.start(
          f_imsIot_receive(
             {mw_SipResponse(mw_603Decline_Base)},
             {},
             {0, omit},
             "TP_IMS_CONTENT_SHARE_03",
             false,
             p_checkMessage
          )
         );
         p_monitorCompRef.done;
        } //function*/
        
	}//end group checksTC_IMS_SHARE_0009

	group messagingChecks {
		/**
		 * @desc Starts monitor component behavior for TP_IMS_5097_05
+59 −0
Original line number Diff line number Diff line
@@ -1486,6 +1486,65 @@ module AtsImsIot_Functions {
            return v_status;
        }

        /**
           * @desc Trigger UE given by p_ueRef to verify that user is informed 
           * 		that connected user cannot share content
           * @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_userInformedAboutPartnerCannotShareContent(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 verify that user is informed 
           * 		that connected user cannot share content
           * @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_userInformedAboutPartnerCanShareContent(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 verify that user rejects sharing
           * @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_userRejectsSharing(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 verify that user is informed 
           * 		that request has been rejected
           * @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_userCheckSharingRequestRejected(EquipmentUser p_userCompRef) 
            runs on TestCoordinator return boolean {
            var boolean v_status := true; 
            // TODO
            return v_status;
        }


		/**
			* @desc Trigger IMS Network to deregister UE given by p_ueRef
+8 −0
Original line number Diff line number Diff line
@@ -1794,6 +1794,14 @@ module AtsImsIot_Templates {
		msgHeader := ?,
		messageBody := *,
		payload	:= *
	}
	
    template Response mw_603Decline_Base  modifies m_Response_Dummy :=
          {
          statusLine := c_statusLine603,
          msgHeader := ?,
          messageBody := *,
          payload	:= *
          }

		template REGISTER_Request mdw_TP_IMS_5088_01_gm  modifies mw_REGISTER_Request_Base := {
+370 −0
Original line number Diff line number Diff line
@@ -2157,5 +2157,375 @@ module AtsImsIot_TestCases_RCS {
        f_cf_adapter_down();
    } //end testcase TC_IMS_SHARE_0004
	
    /**
    * @desc User A sets up a voice call to user B and user B shares content with user A.
    * @see TS 102 901-2 V0.0.1 clause 4.5.5.3.1
    */
    testcase TC_IMS_SHARE_0005() 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_getShareUser(PX_EUT_A);
        var ImsUserInfo v_userInfoB := f_getShareUser(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_userSetupVoiceCall(v_ueA, v_ueB, v_userInfoB); //Test Sequence Step 1
		
        // check 1 (OPTIONS)
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_gm(v_gmA, false); // Check1
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_ic(v_ic, false); // Check1

				
        f_mtc_userCheckPartnerSharingCapabilities(v_ueA); //Test Sequence Step 2
        f_mtc_userCheckPartnerSharingCapabilities(v_ueB); //Test Sequence Step 3
        f_mtc_userInitiateShare (v_ueB, v_userInfoA); //Test Sequence Step 4
        
        f_mtc_userRequestedToAcceptSharing(v_ueA); //Test Sequence Step 5
        f_mtc_userAcceptsSharing(v_ueA); //Test Sequence Step 6
        f_mtc_userCheckSharingRequestAnswered(v_ueB); //Test Sequence Step 7

        f_mtc_EndSharing(v_ueB); //Test Sequence Step 8
        
        f_mtc_userCheckSharingEnded(v_ueB); //Test Sequence Step 9
        f_mtc_userCheckSharingEnded(v_ueA); //Test Sequence Step 10

        f_mtc_EndCall(v_ueB); //Test Sequence Step 11
        f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 11
        f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 11  
        
        // 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_SHARE_0005
	
    /**
    * @desc User A sets up a voice call to user B and user B shares content with user A.
    * @see TS 102 901-2 V0.0.1 clause 4.5.5.3.2
    */
    testcase TC_IMS_SHARE_0006() 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_getShareUser(PX_EUT_A);
        var ImsUserInfo v_userInfoB := f_getShareUser(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_userSetupVoiceCall(v_ueA, v_ueB, v_userInfoB); //Test Sequence Step 1
		
        // check 1 (OPTIONS)
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_gm(v_gmA, false); // Check1
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_ic(v_ic, false); // Check1

				
        f_mtc_userCheckPartnerSharingCapabilities(v_ueA); //Test Sequence Step 2
        f_mtc_userCheckPartnerSharingCapabilities(v_ueB); //Test Sequence Step 3
        f_mtc_userInitiateShare (v_ueB, v_userInfoA); //Test Sequence Step 4

        f_mtc_userRequestedToAcceptSharing(v_ueA); //Test Sequence Step 5
        f_mtc_userAcceptsSharing(v_ueA); //Test Sequence Step 6
        f_mtc_userCheckSharingRequestAnswered(v_ueB); //Test Sequence Step 7

        f_mtc_EndSharing(v_ueB); //Test Sequence Step 8
        
        f_mtc_userCheckSharingEnded(v_ueB); //Test Sequence Step 9
        f_mtc_userCheckSharingEnded(v_ueA); //Test Sequence Step 10

        f_mtc_EndCall(v_ueB); //Test Sequence Step 11
        f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 11
        f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 11 
          

        // 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_SHARE_0006
	
    /**
    * @desc User A receive information that content sharing is not possible with user B.
    * @see TS 102 901-2 V0.0.1 clause 4.5.5.4.1
    */
    testcase TC_IMS_SHARE_0007() 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_getShareUser(PX_EUT_A);
        var ImsUserInfo v_userInfoB := f_getShareUser(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_userSetupVoiceCall(v_ueA, v_ueB, v_userInfoB); //Test Sequence Step 1
		
        // check 1 (OPTIONS)
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_gm(v_gmA, false); // Check1
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_ic(v_ic, false); // Check1

        f_mtc_userInformedAboutPartnerCannotShareContent(v_ueA); //Test Sequence Step 2
        f_mtc_userInformedAboutPartnerCanShareContent(v_ueB); //Test Sequence Step 3
        
        f_mtc_EndCall(v_ueA); //Test Sequence Step 4
        f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 4
        f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 4  
        
        // 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_SHARE_0007
	
    /**
    * @desc User A receive information that content sharing is not possible with user B.
    * @see TS 102 901-2 V0.0.1 clause 4.5.5.4.2
    */
    testcase TC_IMS_SHARE_0008() 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_getShareUser(PX_EUT_A);
        var ImsUserInfo v_userInfoB := f_getShareUser(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_userSetupVoiceCall(v_ueA, v_ueB, v_userInfoB); //Test Sequence Step 1
		
        // check 1 (OPTIONS)
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_gm(v_gmA, false); // Check1
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_ic(v_ic, false); // Check1

        f_mtc_userInformedAboutPartnerCannotShareContent(v_ueA); //Test Sequence Step 2
        f_mtc_userInformedAboutPartnerCanShareContent(v_ueB); //Test Sequence Step 3
        
        f_mtc_EndCall(v_ueA); //Test Sequence Step 4
        f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 4
        f_mtc_userCheckCallEnded(v_ueA); //Test Sequence Step 4            

        // 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_SHARE_0008
	
    /**
    * @desc User B rejects to share content with user A
    * @see TS 102 901-2 V0.0.1 clause 4.5.5.5.1
    */
    testcase TC_IMS_SHARE_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_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_getShareUser(PX_EUT_A);
        var ImsUserInfo v_userInfoB := f_getShareUser(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_userSetupVoiceCall(v_ueA, v_ueB, v_userInfoB); //Test Sequence Step 1
		
        // check 1 (OPTIONS)
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_gm(v_gmA, false); // Check1
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_ic(v_ic, false); // Check1

				
        f_mtc_userCheckPartnerSharingCapabilities(v_ueA); //Test Sequence Step 2
        f_mtc_userCheckPartnerSharingCapabilities(v_ueB); //Test Sequence Step 3
        f_mtc_userInitiateShare (v_ueA, v_userInfoB); //Test Sequence Step 4

        f_mtc_userRequestedToAcceptSharing(v_ueB); //Test Sequence Step 5
        f_mtc_userRejectsSharing(v_ueB); //Test Sequence Step 6
        
        // check 2 (603)
        f_mtc_check_TP_IMS_CONTENT_SHARE_03_gm(v_gmA, false); // Check2
        f_mtc_check_TP_IMS_CONTENT_SHARE_03_ic(v_ic, false); // Check2
        
        f_mtc_userCheckSharingRequestRejected(v_ueA); //Test Sequence Step 7

        f_mtc_EndCall(v_ueA); //Test Sequence Step 8

        f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 8
        f_mtc_userCheckCallEnded(v_ueA); //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_int_as_down(v_config);
        f_cf_adapter_down();
    } //end testcase TC_IMS_SHARE_0009
	
    /**
    * @desc Content sharing rejection
    * @see TS 102 901-2 V0.0.1 clause 4.5.5.5.2
    */
    testcase TC_IMS_SHARE_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_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_getShareUser(PX_EUT_A);
        var ImsUserInfo v_userInfoB := f_getShareUser(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_userSetupVoiceCall(v_ueA, v_ueB, v_userInfoB); //Test Sequence Step 1
		
        // check 1 (OPTIONS)
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_gm(v_gmA, false); // Check1
        f_mtc_check_TP_IMS_CONTENT_SHARE_01_ic(v_ic, false); // Check1

				
        f_mtc_userCheckPartnerSharingCapabilities(v_ueA); //Test Sequence Step 2
        f_mtc_userCheckPartnerSharingCapabilities(v_ueB); //Test Sequence Step 3
        f_mtc_userInitiateShare (v_ueA, v_userInfoB); //Test Sequence Step 4
        f_mtc_userRequestedToAcceptSharing(v_ueB); //Test Sequence Step 5
        f_mtc_userRejectsSharing(v_ueB); //Test Sequence Step 6
        
        // check 2 (603)
        f_mtc_check_TP_IMS_CONTENT_SHARE_03_gm(v_gmA, false); // Check2
        f_mtc_check_TP_IMS_CONTENT_SHARE_03_ic(v_ic, false); // Check2
                
        f_mtc_userCheckSharingRequestRejected(v_ueA); //Test Sequence Step 7

        f_mtc_EndCall(v_ueA); //Test Sequence Step 8

        f_mtc_userCheckCallEnded(v_ueB); //Test Sequence Step 8
        f_mtc_userCheckCallEnded(v_ueA); //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);
        f_cf_adapter_down();
    } //end testcase TC_IMS_SHARE_0010

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