Commit 701416ab authored by wattelet's avatar wattelet
Browse files

EPc TCs third draft

parent f315c79b
Loading
Loading
Loading
Loading
+129 −0
Original line number Diff line number Diff line
@@ -5696,6 +5696,19 @@ group checksTC_IMS_SHARE_0009 {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6012_01

         /**
         * Starts monitor component behavior for TP_EPC_6012_02
         * @param p_monitorCompRef Reference to monitor component
         * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
         * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
         */
        function f_mtc_check_TP_EPC_6012_02(
            ImsInterfaceMonitor p_monitorCompRef,
            boolean p_checkMessage
        ) runs on ImsTestCoordinator {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6012_02
        
        /**
         * Starts monitor component behavior for TP_EPC_6013_01
         * @param p_monitorCompRef Reference to monitor component
@@ -5761,6 +5774,32 @@ group checksTC_IMS_SHARE_0009 {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6015_01

         /**
         * Starts monitor component behavior for TP_EPC_6016_01
         * @param p_monitorCompRef Reference to monitor component
         * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
         * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
         */
        function f_mtc_check_TP_EPC_6016_01 (
            ImsInterfaceMonitor p_monitorCompRef,
            boolean p_checkMessage
        ) runs on ImsTestCoordinator {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6016_01

         /**
         * Starts monitor component behavior for TP_EPC_6016_02
         * @param p_monitorCompRef Reference to monitor component
         * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
         * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
         */
        function f_mtc_check_TP_EPC_6016_02(
            ImsInterfaceMonitor p_monitorCompRef,
            boolean p_checkMessage
        ) runs on ImsTestCoordinator {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6016_02
        
        /**
         * Starts monitor component behavior for TP_EPC_6017_01
         * @param p_monitorCompRef Reference to monitor component
@@ -5837,6 +5876,96 @@ group checksTC_IMS_SHARE_0009 {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6019_01

         /**
         * Starts monitor component behavior for TP_EPC_6016_02
         * @param p_monitorCompRef Reference to monitor component
         * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
         * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
         */
        function f_mtc_check_TP_EPC_6020_01(
            ImsInterfaceMonitor p_monitorCompRef,
            boolean p_checkMessage
        ) runs on ImsTestCoordinator {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6020_01

         /**
         * Starts monitor component behavior for TP_EPC_6016_02
         * @param p_monitorCompRef Reference to monitor component
         * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
         * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
         */
        function f_mtc_check_TP_EPC_6021_01(
            ImsInterfaceMonitor p_monitorCompRef,
            boolean p_checkMessage
        ) runs on ImsTestCoordinator {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6021_01

        /**
        * Starts monitor component behavior for TP_EPC_6022_01
        * @param p_monitorCompRef Reference to monitor component
        * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
        * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
        */
       function f_mtc_check_TP_EPC_6022_01(
           ImsInterfaceMonitor p_monitorCompRef,
           boolean p_checkMessage
       ) runs on ImsTestCoordinator {
           // TODO 
       } // End of function f_mtc_check_TP_EPC_6022_01
 
       /**
       * Starts monitor component behavior for TP_EPC_6023_01
       * @param p_monitorCompRef Reference to monitor component
       * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
       * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
       */
      function f_mtc_check_TP_EPC_6023_01(
          ImsInterfaceMonitor p_monitorCompRef,
          boolean p_checkMessage
      ) runs on ImsTestCoordinator {
          // TODO 
      } // End of function f_mtc_check_TP_EPC_6023_01

         /**
         * Starts monitor component behavior for TP_EPC_6024_01
         * @param p_monitorCompRef Reference to monitor component
         * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
         * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
         */
        function f_mtc_check_TP_EPC_6024_01(
            ImsInterfaceMonitor p_monitorCompRef,
            boolean p_checkMessage
        ) runs on ImsTestCoordinator {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6024_01

         /**
         * Starts monitor component behavior for TP_EPC_6025_01
         * @param p_monitorCompRef Reference to monitor component
         * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
         * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
         */
        function f_mtc_check_TP_EPC_6025_01(
            ImsInterfaceMonitor p_monitorCompRef,
            boolean p_checkMessage
        ) runs on ImsTestCoordinator {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6025_01
         /**
         * Starts monitor component behavior for TP_EPC_6026_01
         * @param p_monitorCompRef Reference to monitor component
         * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). 
         * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue.
         */
        function f_mtc_check_TP_EPC_6026_01(
            ImsInterfaceMonitor p_monitorCompRef,
            boolean p_checkMessage
        ) runs on ImsTestCoordinator {
            // TODO 
        } // End of function f_mtc_check_TP_EPC_6026_01
        
        /**
         * Starts monitor component behavior for TP_EPC_6027_01
         * @param p_monitorCompRef Reference to monitor component
+197 −36
Original line number Diff line number Diff line
@@ -7,41 +7,20 @@
module AtsImsIot_TestCases_EPC {
    
    // LibCommon
    
    // LibSip
    
    // LibIms
    import from LibIms_UpperTester { 
        type ImsUserInfo 
    };
    
    import from LibIms_UpperTester { type ImsUserInfo };
    // LibIot
    import from LibIot_TestInterface { 
        type IotEquipmentUser 
    };
    import from LibIot_TestConfiguration { 
        function f_cf_create_IotEquipmentUser 
    };
    import from LibIot_PIXITS { 
        modulepar 
            PX_EUT_A, PX_EUT_B, PX_EUT_C 
    };
    
    import from LibIot_TestInterface { type IotEquipmentUser };
    import from LibIot_TestConfiguration { function f_cf_create_IotEquipmentUser };
    import from LibIot_PIXITS { modulepar PX_EUT_A, PX_EUT_B, PX_EUT_C };
    // LibImsIot
    import from AtsImsIot_Functions { 
        function f_getImUser
    };
    
    import from AtsImsIot_Functions { function f_getImUser };
    // ImsIot
    import from AtsImsIot_TestConfiguration all; 
    import from AtsImsIot_TestSystem all; 
    import from AtsImsIot_Functions all; 
    import from AtsImsIot_Behavior { 
        group epcChecks; 
        function 
            f_mtc_check_response_mx, 
            f_mtc_check_TP_IMS_5011_01_gm 
    }; 
    import from AtsImsIot_Behavior { group epcChecks; function f_mtc_check_response_mx, f_mtc_check_TP_IMS_5011_01_gm }; 
    
    group networkAttachmentAndDefaultBearer {
        /**
@@ -187,6 +166,47 @@ module AtsImsIot_TestCases_EPC {
            f_cf_adapter_down ( );
        } // End of TC TC_IMSEPC_Registration_Initial_Successful_0001

        /**
         * @desc	IMS Initial Registration - Failed.
         * On failed UE Registration to IMS, IMS will not trigger the creation of a bearer for the
		 * transport of the subsequent SIP signalling.
         */
        testcase TC_IMSEPC_Registration_Initial_Failed_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface {
            var CF_EPC_CALL v_config;
            var IotEquipmentUser v_ueA	:= f_cf_create_IotEquipmentUser ( c_userUE_A );
            var IotEquipmentUser v_ueB	:= f_cf_create_IotEquipmentUser ( c_userUE_B );
            var ImsUserInfo v_userInfoA	:= f_getImUser ( PX_EUT_A );
            var ImsUserInfo v_userInfoB	:= f_getImUser ( PX_EUT_B ); 
            v_config.gmA				:= f_cf_create_monitor ( c_gm_A );
            v_config.gmB				:= f_cf_create_monitor ( c_gm_B );
            v_config.rx					:= f_cf_create_monitor ( c_rx );
            
            // map/connect component ports
            f_cf_adapter_up ( );
            f_cf_user_up ( v_ueA );
            f_cf_user_up ( v_ueA );
            f_cf_epc_call_up ( v_config );
            
            // preamble
            f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
            f_mtc_userRegistration ( v_ueA, v_userInfoA );
            f_mtc_userRegistration ( v_ueB, v_userInfoB );
            
            // test body
			f_mtc_check_TP_EPC_6016_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6016_02 ( v_config.gmA, false );
            
			// postamble
			f_PO_user_home_deregistration ( v_ueB );
			f_mtc_userRadioEnabled ( v_ueA, false, true );

			//unmap/disconnet component ports
			f_cf_user_down ( v_ueB );
			f_cf_user_down ( v_ueA );
			f_cf_epc_call_down ( v_config );
			f_cf_adapter_down ( );
        } // End of TC TC_IMSEPC_Registration_Initial_Failed_0001
        
        /**
         * @desc	IMS De-registration.
         * On UE_A de-registration, P-CSCF signals to PCRF the termination of the IMS signalling session.
@@ -194,7 +214,7 @@ module AtsImsIot_TestCases_EPC {
         * Initial registration are still possible, but traffic will be categorized in the Default Bearer
         * @see TS 103 029 V3.1.1 clause 7.2.2
         */
        testcase TC_IMSEPC_DeRegistration_UE_0003 ( ) runs on ImsTestCoordinator system IotSystemInterface {
        testcase TC_IMSEPC_DeRegistration_UE_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface {
            var CF_EPC_CALL v_config;
            var IotEquipmentUser v_ueA	:= f_cf_create_IotEquipmentUser ( c_userUE_A );
            var IotEquipmentUser v_ueB	:= f_cf_create_IotEquipmentUser ( c_userUE_B );
@@ -230,7 +250,148 @@ module AtsImsIot_TestCases_EPC {
            f_cf_user_down ( v_ueA );
            f_cf_epc_call_down ( v_config );
            f_cf_adapter_down ( );
        } // End of TC TC_IMSEPC_DeRegistration_UE_0003
        } // End of TC TC_IMSEPC_DeRegistration_UE_0001

        /**
         * @desc	IMS De-registration.
         * On UE A de-registration, the S-CSCF performs S-CSCF-initiated termination of active
         * session. P-CSCF will act on this event and signals to PCRF termination of the SIP session bearers.
         * EPC removes the SIP Session bearer.
         * Media cannot be exchange any longer on previous SIP Session bearer.
         * The S-CSCF answers to the de-registration.
         * The P-CSCF signals to PCRF the termination of IMS signalling session.
         * EPC removes IMS signalling bearer.
         */ 
        testcase TC_IMSEPC_DeRegistration_UE_Active_Session_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface {
            var CF_EPC_CALL v_config;
            var IotEquipmentUser v_ueA	:= f_cf_create_IotEquipmentUser ( c_userUE_A );
            var IotEquipmentUser v_ueB	:= f_cf_create_IotEquipmentUser ( c_userUE_B );
            var ImsUserInfo v_userInfoA	:= f_getImUser ( PX_EUT_A );
            var ImsUserInfo v_userInfoB	:= f_getImUser ( PX_EUT_B ); 
            v_config.gmA				:= f_cf_create_monitor ( c_gm_A );
            v_config.gmB				:= f_cf_create_monitor ( c_gm_B );
            v_config.rx					:= f_cf_create_monitor ( c_rx );
            
            // map/connect component ports
            f_cf_adapter_up ( );
            f_cf_user_up ( v_ueA );
            f_cf_user_up ( v_ueA );
            f_cf_epc_call_up ( v_config );
            
            // preamble
            f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
            f_mtc_userRegistration ( v_ueA, v_userInfoA );
            f_mtc_userRegistration ( v_ueB, v_userInfoB );
            
            // test body
            f_mtc_check_TP_EPC_6020_01 ( v_config.gmA, false );
            f_mtc_check_TP_EPC_6021_01 ( v_config.gmA, false );
            f_mtc_check_TP_EPC_6022_01 ( v_config.gmA, false );
            f_mtc_check_TP_EPC_6009_01 ( v_config.gmA, false );
            f_mtc_check_TP_EPC_6023_01 ( v_config.gmA, false );
            f_mtc_check_TP_EPC_6012_02 ( v_config.gmA, false );
            f_mtc_check_TP_EPC_6009_02 ( v_config.gmA, false );
            f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false );

            // postamble
            f_PO_user_home_deregistration ( v_ueB );
            f_mtc_userRadioEnabled ( v_ueA, false, true );

            //unmap/disconnet component ports
            f_cf_user_down ( v_ueB );
            f_cf_user_down ( v_ueA );
            f_cf_epc_call_down ( v_config );
            f_cf_adapter_down ( );
        } // End of TC TC_IMSEPC_DeRegistration_UE_Active_Session_0001

        /**
         * @desc	IMS De-registration.
         * On administrative de-registration, S-CSCF notifies the UE A and P-CSCF about the event.
		 * P-CSCF signals to PCRF the termination of the IMS signalling session.
		 * EPC removes the IMS signalling bearer.
		 * Initial registration are still possible, but traffic will be categorized in the Default Bearer.
		 */ 
        testcase TC_IMSEPC_DeRegistration_Administrative_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface {
            var CF_EPC_CALL v_config;
            var IotEquipmentUser v_ueA	:= f_cf_create_IotEquipmentUser ( c_userUE_A );
            var IotEquipmentUser v_ueB	:= f_cf_create_IotEquipmentUser ( c_userUE_B );
            var ImsUserInfo v_userInfoA	:= f_getImUser ( PX_EUT_A );
            var ImsUserInfo v_userInfoB	:= f_getImUser ( PX_EUT_B ); 
            v_config.gmA				:= f_cf_create_monitor ( c_gm_A );
            v_config.gmB				:= f_cf_create_monitor ( c_gm_B );
            v_config.rx					:= f_cf_create_monitor ( c_rx );
            
            // map/connect component ports
            f_cf_adapter_up ( );
            f_cf_user_up ( v_ueA );
            f_cf_user_up ( v_ueA );
            f_cf_epc_call_up ( v_config );
            
            // preamble
            f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
            f_mtc_userRegistration ( v_ueA, v_userInfoA );
            f_mtc_userRegistration ( v_ueB, v_userInfoB );
            
            // test body
            f_mtc_check_TP_EPC_6024_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6025_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6009_02 ( v_config.gmA, false );
            f_mtc_check_TP_EPC_6018_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6019_01 ( v_config.gmA, false );

            // postamble
            f_PO_user_home_deregistration ( v_ueB );
            f_mtc_userRadioEnabled ( v_ueA, false, true );

            //unmap/disconnet component ports
            f_cf_user_down ( v_ueB );
            f_cf_user_down ( v_ueA );
            f_cf_epc_call_down ( v_config );
            f_cf_adapter_down ( );
        } // End of TC TC_IMSEPC_DeRegistration_Administrative_0001

        /**
         * @desc	IMS De-registration.
         * On registration expiration, P-CSCF signals to PCRF the termination of the IMS signalling session.
		 * EPC removes the IMS signalling bearer.
		 * Initial registration are still possible, but traffic will be categorized in the Default Bearer.
		 */ 
        testcase TC_IMSEPC_DeRegistration_Expiration_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface {
            var CF_EPC_CALL v_config;
            var IotEquipmentUser v_ueA	:= f_cf_create_IotEquipmentUser ( c_userUE_A );
            var IotEquipmentUser v_ueB	:= f_cf_create_IotEquipmentUser ( c_userUE_B );
            var ImsUserInfo v_userInfoA	:= f_getImUser ( PX_EUT_A );
            var ImsUserInfo v_userInfoB	:= f_getImUser ( PX_EUT_B ); 
            v_config.gmA				:= f_cf_create_monitor ( c_gm_A );
            v_config.gmB				:= f_cf_create_monitor ( c_gm_B );
            v_config.rx					:= f_cf_create_monitor ( c_rx );
            
            // map/connect component ports
            f_cf_adapter_up ( );
            f_cf_user_up ( v_ueA );
            f_cf_user_up ( v_ueA );
            f_cf_epc_call_up ( v_config );
            
            // preamble
            f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
            f_mtc_userRegistration ( v_ueA, v_userInfoA );
            f_mtc_userRegistration ( v_ueB, v_userInfoB );
            
            // test body
            f_mtc_check_TP_EPC_6026_01 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6009_02 ( v_config.gmA, false );
			f_mtc_check_TP_EPC_6019_01 ( v_config.gmA, false );

            // postamble
            f_PO_user_home_deregistration ( v_ueB );
            f_mtc_userRadioEnabled ( v_ueA, false, true );

            //unmap/disconnet component ports
            f_cf_user_down ( v_ueB );
            f_cf_user_down ( v_ueA );
            f_cf_epc_call_down ( v_config );
            f_cf_adapter_down ( );
        } // End of TC TC_IMSEPC_DeRegistration_Expiration_0001
    } // End of group imsRegistrationAndAFSignallingBearer

    group sipSessionAndSessionBearer {