# -*- coding: utf-8 -*- ## # Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. # copyright # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, # IN PART OR IN WHOLE, # WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # file tst_standbymode # date 2022/04/01 # author Joseph varghese # author Amol Shinde # author Bhavana Savanth # NOTE: # This test contradicts verification of standbymode. import names import datetime from time import sleep from dialin.ui import utils from configuration import config,utility from dialin.ui.hd_simulator import HDSimulator from configuration import config from builtins import int as pyInt from dialin.common.hd_defs import HDOpModes hd_simulator = HDSimulator() MORNING_MIN = "00" MORNING_MAX = "12" GOODMORNING_START_TIME_SEC = 0 GOODEVENING_START_TIME_SEC = 43200 def get_current_time(): """ Tests to get current time. @return: current time in seconds """ current_time = utility.get_current_date_and_time("%H") return current_time def verify_create_treatment_text(): """ Tests for verification of create treatment text. @return: N/A """ standby_text = waitForObject(names.o_standby_page) create_treatment = object.children(standby_text)[1] child = object.children(create_treatment)[1] test.compare(child.text, "CREATE TREATMENT") def verify_welcome_text_on_standby_mode(current_time): """ Tests to verify welcome text based on current time. @return: current time in seconds """ standby_text = waitForObject(names.o_standby_page) child = object.children(standby_text)[0] print(str(current_time)) if current_time >= MORNING_MIN and current_time < MORNING_MAX: test.xcompare(child.text, "Good Morning") else: test.xcompare(child.text, "Good Evening") def event_analysis_for_create_treatment_button(): """ Tests to verify binaries for create treatment button upon click """ mouseClick(waitForObject(names.o_MainHome_Create_Treatment_Button)) #message = utility.cmd_set_create_treatment_click_event(response = True) #event_binary = utility.ui_all_publication_handler(message) #test.compare(config.CREATE_TREATMENT_BUTTON_ACTIVE, str(event_binary), "binaries obtained during event-> create treatment button click should be expected") def ui_all_publication_handler(message: dict) -> None: """ This function is the default handler of the ui received messages which only prints out the received message - This function can be used as an example. - Be careful that there is only one ui publication method and it will be overwritten on each call to the function set_ui_all_publication of the HDSimulator. Look into the _init_loader of the Simulator class for example on how to register. self.interface.hd.set_ui_all_publication(ui_all_publication_handler) - This function is filtering the two message ID: MsgIds.MSG_ID_UI_CHECK_IN.value, MsgIds.MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK.value for the simplicity of the printed message and as example of how to filter. That filter can obviously be removed. @param message: the ui received message @return: None """ exception_msg_id = { MsgIds.MSG_ID_UI_CHECK_IN.value, MsgIds.MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK.value } msg_id = DenaliMessage.get_message_id(message) if msg_id in exception_msg_id: return test.log(">", DenaliCanMessenger.convert_message_to_string(message)) def main(): utils.tstStart(__file__) startApplication(config.AUT_NAME) hd_simulator.cmd_send_power_on_self_test_version_request() hd_simulator.cmd_send_hd_operation_mode(HDOpModes.MODE_STAN.value) hd_simulator.set_ui_all_publication(ui_all_publication_handler) event_analysis_for_create_treatment_button() current_time = get_current_time() verify_welcome_text_on_standby_mode(current_time) verify_create_treatment_text() utils.tstDone()