Loading AtsImsIot/AtsImsIot_Functions.ttcn3 +88 −51 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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; Loading @@ -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; Loading AtsImsIot/AtsImsIot_TestCases.ttcn3 +9 −6 Original line number Diff line number Diff line Loading @@ -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); Loading Loading
AtsImsIot/AtsImsIot_Functions.ttcn3 +88 −51 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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; Loading @@ -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; Loading
AtsImsIot/AtsImsIot_TestCases.ttcn3 +9 −6 Original line number Diff line number Diff line Loading @@ -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); Loading