Commit 742cd86f authored by poglitsch's avatar poglitsch
Browse files

trigger functions updated

parent f863599b
Loading
Loading
Loading
Loading
+88 −51
Original line number Diff line number Diff line
@@ -15,29 +15,84 @@ module AtsImsIot_Functions {
 	group ue {
 		
 		/**
    	  * @desc Triggers an action at the UE.
    	  * @param p_trigger UE trigger component
    	  * @param p_cmd Trigger command
		  * @desc Triggers the UE to switch on the terminal
		  * @param p_trigger trigger component
		  * @return
    	  *     true in case of successfull execction of the command otherwise
    	  *     false.
		  *     true in case of successfull execution of the trigger command
		  *     otherwise false
		  */
     	function f_ue_trigger_action(EutTrigger p_trigger, TriggerCommand p_cmd) runs on TestCoordinator return boolean {
 		function f_ue_trigger_switchOn(EutTrigger p_trigger) runs on TestCoordinator return boolean {
 			var boolean v_success := false;
 			
     		if(p_cmd == c_SWITCH_ON_UE) {
 			p_trigger.start(f_triggerUeSwitchOn());
 			
 			p_trigger.done;
     		
     		if(getverdict() == pass) {
     			v_success := true;
     		}
     		
     		return v_success;
 		}
     		else if(p_cmd == c_SWITCH_OFF_UE) {

 		/**
		  * @desc Triggers the UE to switch off the terminal
		  * @param p_trigger trigger component
		  * @return
		  *     true in case of successfull execution of the trigger command
		  *     otherwise false
		  */
 		function f_ue_trigger_switchOff(EutTrigger p_trigger) runs on TestCoordinator return boolean {
 			var boolean v_success := false;
 			
 			p_trigger.start(f_triggerUeSwitchOff());
 			
 			p_trigger.done;
     		
     		if(getverdict() == pass) {
     			v_success := true;
     		}
     		else if(p_cmd == c_REGISTER_UE) {
     			p_trigger.start(f_triggerUeRegistration("dummy", "dummy", "dummy")); // TODO use correct parameter here!
     		
     		return v_success;
 		}
 		
 		/**
		  * @desc Triggers the UE to register a given user
		  * @param p_trigger trigger component
		  * @param p_publicId public user identity
		  * @param p_privateId private user identity
		  * @param p_pw user password
		  * @return
		  *     true in case of successfull execution of the trigger command
		  *     otherwise false
		  */
 		function f_ue_trigger_register(EutTrigger p_trigger, charstring p_publicId, charstring p_privateId, charstring p_pw) runs on TestCoordinator return boolean {
 			var boolean v_success := false;
 			
 			p_trigger.start(f_triggerUeRegistration(p_publicId, p_privateId, p_pw));
 			
 			p_trigger.done;
     		
     		if(getverdict() == pass) {
     			v_success := true;
     		}
     		else if(p_cmd == c_DEREGISTER_UE) {
     			p_trigger.start(f_triggerUeDeregistration());
     		
     		return v_success;
 		}
 		
 		/**
		  * @desc Triggers the UE to de-register a given user
		  * @param p_trigger trigger component
		  * @param publicId public user identity
		  * @return
		  *     true in case of successfull execution of the trigger command
		  *     otherwise false
		  */
 		function f_ue_trigger_deregister(EutTrigger p_trigger, charstring p_publicId) runs on TestCoordinator return boolean {
 			var boolean v_success := false;
 			
 			p_trigger.start(f_triggerUeDeregistration(p_publicId));
 			
 			p_trigger.done;
     		
     		if(getverdict() == pass) {
@@ -51,27 +106,18 @@ module AtsImsIot_Functions {
    	 * @desc
    	 *     UE preamble force the UE to switch on the terminal and triggers the
    	 *     registration
    	 * @param p_ueA UE A component
    	 * @param p_ueB UE B component
    	 * @param p_trigger UE component
    	 * @return true in case of successfull execution otherwise false
    	 */
     	function f_ue_preamble(EutTrigger p_ueA, EutTrigger p_ueB) runs on TestCoordinator return boolean {
     	function f_ue_preamble(EutTrigger p_trigger) runs on TestCoordinator return boolean {
     		var boolean v_status := true; 
     		
     		if(v_status) {
     			v_status := f_ue_trigger_action(p_ueA, c_SWITCH_ON_UE);
     			v_status := f_ue_trigger_switchOn(p_trigger);
     		}
     		
     		if(v_status) {
     			v_status := f_ue_trigger_action(p_ueA, c_REGISTER_UE);
     		}
     		
     		if(v_status) {
     			v_status := f_ue_trigger_action(p_ueB, c_SWITCH_ON_UE);
     		}
     		
     		if(v_status) {
     			v_status := f_ue_trigger_action(p_ueB, c_REGISTER_UE);
     			v_status := f_ue_trigger_register(p_trigger, "dummy", "dummy", "dummy"); // TODO add user parameter here
     		}
     		
     		return v_status;
@@ -81,29 +127,20 @@ module AtsImsIot_Functions {
     	
    	/**
    	 * @desc
    	 *     UE postamble force the UE to switch on the terminal and triggers the
    	 *     registration
    	 * @param p_ueA UE A component
    	 * @param p_ueB UE B component
    	 *     UE postamble force the UE to switch off the terminal and triggers the
    	 *     de-registration
    	 * @param p_trigger UE  component
    	 * @return true in case of successfull execution otherwise false
    	 */
     	function f_ue_postamble(EutTrigger p_ueA, EutTrigger p_ueB) runs on TestCoordinator return boolean {
     	function f_ue_postamble(EutTrigger p_trigger) runs on TestCoordinator return boolean {
     		var boolean v_status := true; 
     		
     		if(v_status) {
     			v_status := f_ue_trigger_action(p_ueA, c_DEREGISTER_UE);
     		}
     		
     		if(v_status) {
     			v_status := f_ue_trigger_action(p_ueA, c_SWITCH_OFF_UE);
     		}
     		
     		if(v_status) {
     			v_status := f_ue_trigger_action(p_ueB, c_DEREGISTER_UE);
     			v_status := f_ue_trigger_deregister(p_trigger, "*"); // deregister all previous users
     		}
     		
     		if(v_status) {
     			v_status := f_ue_trigger_action(p_ueB, c_SWITCH_OFF_UE);
     			v_status := f_ue_trigger_switchOff(p_trigger);
     		}
     		
     		return v_status;
+9 −6
Original line number Diff line number Diff line
@@ -16,25 +16,28 @@ module AtsImsIot_TestCases {
	}
	
	/**
	 * @desc IMS network shall support SIP messages greater than 1500 bytes.
	 * @see TD_IMS_0001 in ETSI TS 186 011-2 V2.3.1 cause 4.5.1.1
	 * @desc
	 *     IMS network shall support SIP messages greater than 1500 bytes.
	 *     (TD_IMS_0001 in ETSI TS 186 011-2 V2.3.1 cause 4.5.1.1)
	 */
	testcase TC_IMS_0001() runs on TestCoordinator system SystemInterface {
		// create components
		var EutTrigger v_ueA := f_cf_create_trigger("UE_A");
		var EutTrigger v_ueB := f_cf_create_trigger("UE_B");
		var EutTrigger v_ueA := f_cf_create_trigger("User A");
		var EutTrigger v_ueB := f_cf_create_trigger("User B");
		
		// map/connect component ports
		f_cf_trigger_up(v_ueA);
		f_cf_trigger_up(v_ueB);
		
		// preamble
		f_ue_preamble(v_ueA, v_ueB);
		f_ue_preamble(v_ueA);
		f_ue_preamble(v_ueB);
		
		// test body
		
		// postabmle
		f_ue_postamble(v_ueA, v_ueB);
		f_ue_postamble(v_ueA);
		f_ue_postamble(v_ueB);
		
		//unmap/disconnet component ports
		f_cf_trigger_down(v_ueA);