Commit c44aceee authored by wattelet's avatar wattelet
Browse files

RCS-e PRES TCs updated - Start update of CHAT TCs

parent be5a2fda
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -4630,6 +4630,12 @@ group checksTC_IMS_SHARE_0009 {
           p_monitorCompRef.done;
        }
        
        function f_mtc_check_message ( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator {
           p_monitorCompRef.start (	f_imsIot_receive (	{ mw_SipRequest ( mw_MESSAGE_Request_Base ) },
														{ }, { 0, omit }, "f_mtc_check_message", false, false ) );
           p_monitorCompRef.done;
        }
 
        function f_mtc_check_message_mx(
            ImsInterfaceMonitor p_monitorCompRef
        ) runs on ImsTestCoordinator {
+10 −23
Original line number Diff line number Diff line
@@ -668,14 +668,15 @@ module AtsImsIot_Functions {
 		}

        /**
           * @desc Trigger UE given by p_ueRef to send SIP OPTIONS message
		* @desc Trigger UE given by p_ueRef to send the required message indicated by p_command
		* @param p_userCompRef Reference to IMS UE user component
		* @param p_command Required Message to be sent
		* @return
		*     true in case of successfull execution of the trigger command
		*     otherwise false
		*/
        function f_mtc_triggerUserOptions ( EquipmentUser p_userCompRef, EquipmentCommand p_command )
        runs on ImsTestCoordinator return boolean {
        function f_mtc_triggerUserCommand ( EquipmentUser p_userCompRef, EquipmentCommand p_command )
        runs on TestCoordinator return boolean {
 			var boolean v_success := false;
 			p_userCompRef.start ( f_sendEquipmentCmd ( valueof ( m_EQ_Request ( p_command, { } ) ) ) );
 			p_userCompRef.done;
@@ -683,20 +684,6 @@ module AtsImsIot_Functions {
			return v_success;
 		}

        /**
           * @desc Trigger UE given by p_ueRef to publishes presence information
           * @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_userPublishPresence(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 
           * 	   of its presence status update
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ module AtsImsIot_TestCases_ENUM {
	/**
	* @desc ENUM query should result in return of NAPTR with correct SIP URI
	*/
	testcase TD_IMS_ENUM_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface {
	testcase TC_IMS_ENUM_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface {
		var CF_INT_CALL			v_config;
		var ImsUserInfo			v_userInfoA		:= f_getSipUserId ( PX_EUT_A );
		var ImsUserInfo			v_userInfoB		:= f_getSipUserId ( PX_EUT_B );
+114 −71
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ module AtsImsIot_TestCases_RCS {
		f_mtc_userRegistration ( v_ueB, v_userInfoB ); 
		
		// test body
        f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
        f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
		
		// check (OPTIONS + 200 OK exchange)
		f_mtc_check_options ( v_config.mxB, PX_RCSE_A );
@@ -107,7 +107,7 @@ module AtsImsIot_TestCases_RCS {
		f_mtc_userRegistration ( v_ueB, v_userInfoB ); 
		
		// test body
        f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
        f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
		
		// check (OPTIONS + 200 OK exchange)
		f_mtc_check_options ( v_config.mxB, PX_RCSE_A );
@@ -155,7 +155,7 @@ module AtsImsIot_TestCases_RCS {
		f_mtc_userRegistration ( v_ueA, v_userInfoA ); 
		
		// test body
        f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
        f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
		
		// check (OPTIONS + 480 exchange)
		f_mtc_check_options ( v_config.mxB, PX_RCSE_A );
@@ -204,8 +204,8 @@ module AtsImsIot_TestCases_RCS {
		f_mtc_userRegistration ( v_ueB, v_userInfoB ); 
		
		// test body
        f_mtc_triggerUserOptions ( v_ueB, "Force user B to be not provisionned for RCS-e" ); // Trigger UE B
        f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
        f_mtc_triggerUserCommand ( v_ueB, "Force user B to be not provisionned for RCS-e" ); // Trigger UE B
        f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
		
		// check (OPTIONS + 404 exchange)
		f_mtc_check_options ( v_config.mxB, PX_RCSE_A );
@@ -229,18 +229,20 @@ module AtsImsIot_TestCases_RCS {
    * @see TS 102 901-2 V0.0.1 clause 4.5.1.1
    */
    testcase TC_IMS_PRES_0001() 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 CF_ROAM_AS			v_config;
		var ImsUserInfo			v_userInfoA		:= f_getPresUser ( PX_EUT_A );
		var ImsUserInfo			v_userInfoB		:= f_getPresUser ( PX_EUT_B );
        var ImsInterfaceMonitor v_mxA := f_cf_create_monitor(c_mx_A);
        var ImsInterfaceMonitor v_mxB := f_cf_create_monitor(c_mx_B);
        var CF_ROAM_AS v_config := {v_gmA, v_mxA, v_ic, v_mxB, v_gmB, omit, v_iscB};
		var IotEquipmentUser	v_ueA			:= f_cf_create_IotEquipmentUser ( c_userUE_A );
		var IotEquipmentUser	v_ueB			:= f_cf_create_IotEquipmentUser ( c_userUE_B );

		// create components
		v_config.gmA	:= f_cf_create_monitor ( c_gm_A );
		v_config.gmB	:= f_cf_create_monitor ( c_gm_B );
		v_config.ici	:= f_cf_create_monitor ( c_ic );
		v_config.mxA	:= f_cf_create_monitor ( c_mx_A );
		v_config.mxB	:= f_cf_create_monitor ( c_mx_B );
		v_config.iscA	:= omit;
		v_config.iscB	:= f_cf_create_monitor ( c_isc_B );
				
		// map/connect component ports
		f_cf_adapter_up ( );
@@ -253,35 +255,30 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_userRegistration ( v_ueB, v_userInfoB ); 
				
        // test body
        f_mtc_StartAllTrafficCapture();	
	
        f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1
        // check - PUBLISH + 200 OK (from User B to IMS A that forwards it to AS B)
		f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information");
        f_mtc_check_publish_mx ( v_config.mxB );
        f_mtc_check_response_mx ( v_config.mxB, c_statusLine200 );

        //check 1 - PUBLISH
        f_mtc_check_publish_mx(v_mxA);
        f_mtc_check_TP_IMS_5097_13_ic(v_ic, false); // Check1  
        f_mtc_check_publish_mx(v_mxB);
        f_mtc_check_TP_IMS_5097_13_isc(v_iscB, false); // Check1 
		// check (OPTIONS + 200 OK exchange)
        f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
		f_mtc_check_options ( v_config.mxB, PX_RCSE_A );
		f_mtc_check_response ( v_config.mxA, c_statusLine200, PX_RCSE_B );
        
        f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2
        f_mtc_userSubscribeToPresenceInformation ( v_ueA );
        // check - SUBSCRIBE (from User A to AS B)
        f_mtc_check_TP_IMS_5108_07_gm ( v_config.gmA, false );
        f_mtc_check_subscribe_mx ( v_config.mxB );
        f_mtc_check_TP_IMS_5108_07_isc ( v_config.iscB, false );
         
        f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 3
        // check - 200 OK
        f_mtc_check_response_mx ( v_config.mxB, c_statusLine200 ); 
        f_mtc_check_response_mx ( v_config.mxA, c_statusLine200 );
        
        //check 2 - SUBSCRIBE
        f_mtc_check_TP_IMS_5108_07_gm(v_gmA, false); // Check2
        f_mtc_check_subscribe_mx(v_mxA);
        f_mtc_check_subscribe_mx(v_mxB);
        f_mtc_check_TP_IMS_5108_07_isc(v_iscB,false); // Check2 
        
        //check 3 - 200 OK
        f_mtc_check_TP_IMS_5115_08_isc(v_iscB, false); // Check3
        f_mtc_check_response_mx(v_mxB, c_statusLine200); 
        f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0); // Check3
        f_mtc_check_response_mx(v_mxA, c_statusLine200);
        
        f_mtc_userCheckPresenceAuthorizationRequest(v_ueB);//Test Sequence Step 4
        f_mtc_userAuthorizationToPeer(v_ueB);//Test Sequence Step 5
        f_mtc_userCheckPresenceInformation(v_ueA);//Test Sequence Step 6  
        f_mtc_triggerUserCommand ( v_ueB, "verify reception of an authorization request from user A");
        f_mtc_userAuthorizationToPeer ( v_ueB );
        f_mtc_userCheckPresenceInformation ( v_ueA ); 

        // postamble
        f_PO_user_home_deregistration ( v_ueA );
@@ -292,6 +289,7 @@ module AtsImsIot_TestCases_RCS {
        f_cf_user_down ( v_ueB );
        f_cf_roam_as_down ( v_config );
        f_cf_adapter_down ( );

    } //end testcase TC_IMS_PRES_0001
	
    /**
@@ -326,14 +324,16 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_userRegistration(v_ueB, v_userInfoB); 
				
        // test body
        f_mtc_StartAllTrafficCapture();	
        	
        f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1
        f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information");

        f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2
        
        f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 3
 
 		// check (OPTIONS + 200 OK exchange)
        f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
		f_mtc_check_options ( v_mxB, PX_RCSE_A );
		f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B );
        
        //check 1 - SUBSCRIBE
        f_mtc_check_TP_IMS_5108_07_gm(v_gmA, false); // Check1
        f_mtc_check_subscribe_mx(v_mxA);
@@ -346,7 +346,7 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0); // Check2
        f_mtc_check_response_mx(v_mxA, c_statusLine200); 
        
        f_mtc_userCheckPresenceAuthorizationRequest(v_ueB);//Test Sequence Step 4
        f_mtc_triggerUserCommand ( v_ueB, "verify reception of an authorization request from user A");
        f_mtc_userAuthorizationToPeer(v_ueB);//Test Sequence Step 5
        f_mtc_userCheckPresenceInformation(v_ueA);//Test Sequence Step 6  

@@ -395,6 +395,11 @@ module AtsImsIot_TestCases_RCS {
        // test body
        f_mtc_StartAllTrafficCapture();	
 
  		// check (OPTIONS + 200 OK exchange)
        f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
		f_mtc_check_options ( v_mxB, PX_RCSE_A );
		f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B );
        	
        f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 1
        
        //check 1 - SUBSCRIBE
@@ -447,9 +452,7 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_userRegistration(v_ueB, v_userInfoB); 
				
        // test body
        f_mtc_StartAllTrafficCapture();	
        	
        f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1
        f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information");
	
        //check 1 - PUBLISH
        f_mtc_check_publish_mx(v_mxA);
@@ -459,6 +462,11 @@ module AtsImsIot_TestCases_RCS {

        f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2

 		// check (OPTIONS + 200 OK exchange)
        f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B
		f_mtc_check_options ( v_mxB, PX_RCSE_A );
		f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B );
        
        f_mtc_userSubscribeToPresenceResourceList(v_ueA);//Test Sequence Step 3
        
        //check 2 - SUBSCRIBE
@@ -518,9 +526,7 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_userRegistration(v_ueB, v_userInfoB); 
				
        // test body
        f_mtc_StartAllTrafficCapture();	
        	
        f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1
        f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information");

        f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2
        
@@ -595,6 +601,16 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_check_invite_mx(v_mxB);
        f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false, 0); // Check 2

		// check MESSAGE + 200 OK exchange
        f_mtc_check_message ( v_gmB );
        f_mtc_check_message ( v_iscB );
        f_mtc_check_message ( v_iscA );
        f_mtc_check_message ( v_gmA );
        f_mtc_check_response_mx ( v_gmA, c_statusLine200 );
        f_mtc_check_response_mx ( v_iscA, c_statusLine200 );
        f_mtc_check_response_mx ( v_iscB, c_statusLine200 );
        f_mtc_check_response_mx ( v_gmB, c_statusLine200 );
				
        f_mtc_userCheckChatInfo(v_ueB); //Test Sequence Step 2
        f_mtc_userCheckPeerChatInfo(v_ueA); //Test Sequence Step 3
        f_mtc_userAnswerChat(v_ueB); //Test Sequence Step 4
@@ -670,6 +686,16 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_check_invite_mx(v_mxB);
        f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false); // Check3
				
		// check MESSAGE + 200 OK exchange
        f_mtc_check_message ( v_gmB );
        f_mtc_check_message ( v_iscB );
        f_mtc_check_message ( v_iscA );
        f_mtc_check_message ( v_gmA );
        f_mtc_check_response_mx ( v_gmA, c_statusLine200 );
        f_mtc_check_response_mx ( v_iscA, c_statusLine200 );
        f_mtc_check_response_mx ( v_iscB, c_statusLine200 );
        f_mtc_check_response_mx ( v_gmB, c_statusLine200 );
				
        f_mtc_userCheckChatInfo(v_ueA); //Test Sequence Step 2
        f_mtc_userCheckPeerChatInfo(v_ueB); //Test Sequence Step 3
        f_mtc_userAnswerChat(v_ueA); //Test Sequence Step 4
@@ -736,6 +762,16 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_check_invite_mx(v_mxB);
        f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false, 0); // Check 2
				
		// check MESSAGE + 200 OK exchange
        f_mtc_check_message ( v_gmB );
        f_mtc_check_message ( v_iscB );
        f_mtc_check_message ( v_iscA );
        f_mtc_check_message ( v_gmA );
        f_mtc_check_response_mx ( v_gmA, c_statusLine200 );
        f_mtc_check_response_mx ( v_iscA, c_statusLine200 );
        f_mtc_check_response_mx ( v_iscB, c_statusLine200 );
        f_mtc_check_response_mx ( v_gmB, c_statusLine200 );
				
        f_mtc_userCheckAutomaticalyAcceptedChat(v_ueB); //Test Sequence Step 2

        // checks 3 (2xx)
@@ -808,6 +844,16 @@ module AtsImsIot_TestCases_RCS {
        f_mtc_check_invite_mx(v_mxB);
        f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false); // Check3
				
		// check MESSAGE + 200 OK exchange
        f_mtc_check_message ( v_gmB );
        f_mtc_check_message ( v_iscB );
        f_mtc_check_message ( v_iscA );
        f_mtc_check_message ( v_gmA );
        f_mtc_check_response_mx ( v_gmA, c_statusLine200 );
        f_mtc_check_response_mx ( v_iscA, c_statusLine200 );
        f_mtc_check_response_mx ( v_iscB, c_statusLine200 );
        f_mtc_check_response_mx ( v_gmB, c_statusLine200 );
				
        f_mtc_userCheckAutomaticalyAcceptedChat(v_ueB); //Test Sequence Step 2
        
        f_mtc_userCheckChating(v_ueB,v_ueA); //Test Sequence Step 3
@@ -834,7 +880,7 @@ module AtsImsIot_TestCases_RCS {
    * 		User B rejects the chat invitation.
    * @see TS 102 901-2 V0.0.1 clause 4.5.2.1.5
    */
    testcase TC_IMS_CHAT_0005() runs on ImsTestCoordinator system IotSystemInterface {
    testcase TC_IMS_CHAT_0005_RemovedInRel_e ( ) 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);
@@ -900,7 +946,7 @@ module AtsImsIot_TestCases_RCS {
    * 		be performed. User B rejects the chat invitation.
    * @see TS 102 901-2 V0.0.1 clause 4.5.2.1.6
    */
    testcase TC_IMS_CHAT_0006() runs on ImsTestCoordinator system IotSystemInterface {
    testcase TC_IMS_CHAT_0006_RemovedInRel_e ( ) 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);
@@ -1674,7 +1720,6 @@ module AtsImsIot_TestCases_RCS {
        f_cf_adapter_down();
    } //end testcase TC_IMS_CHAT_0016
	
	
	/**
		* @desc IMS network supports file transfer service and file between two users 
		* 		in their home network can be performed. User B must explicitly accept 
@@ -1695,7 +1740,6 @@ module AtsImsIot_TestCases_RCS {
        var ImsInterfaceMonitor v_mxB := f_cf_create_monitor(c_mx_B);
        var CF_INT_AS v_config := {v_gmA, v_mxA, v_ic, v_mxB, v_gmB, omit, v_iscB};
				
				
		// map/connect component ports
		f_cf_adapter_up();
		f_cf_user_up(v_ueA);
@@ -1745,7 +1789,6 @@ module AtsImsIot_TestCases_RCS {
		f_cf_adapter_down();
	} //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