Index: tst_post/test.py =================================================================== diff -u -rc6274593f3f5a607595b95f0243313a6cf32d599 -reabfecc1d8d205f4b8888b99158c54f5ac92ae4e --- tst_post/test.py (.../test.py) (revision c6274593f3f5a607595b95f0243313a6cf32d599) +++ tst_post/test.py (.../test.py) (revision eabfecc1d8d205f4b8888b99158c54f5ac92ae4e) @@ -1,48 +1,113 @@ # -*- 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_post -# date 2020/12/27 -# author Behrouz NematiPour +# date 03/17/2022 +# author Papiya Mandal # +import names -# NOTE: -# This test is a demo and is intended to be used as an example on how to call the dialin API within SquishQt. +from builtins import int as pyInt +from configuration.config import AUT_NAME +from dialin.ui import utils +from dialin.ui.hd_simulator import HDSimulator +MSGS_AND_CONDITIONS = { 1: [True, False], 5: [True, False], 2: [True, False], + 4: [True, False], 8: [True, False], 9: [False, False], + 3: [True, False], 10: [True, False], 15: [True, False], + 11: [True, False], 17: [True, False], 12: [True, False], + 20: [True, False], 13: [True, False], 14: [True, False], + 6: [False, False], 19: [True, False], 18: [True, False], + 7: [True, True], 16: [False, True], + } + +hd = HDSimulator() -# import names -from time import sleep -from dialin.ui import utils -from dialin.ui import unittests +def get_progress(): + """ + Method to obtain progress + @return: Progress value + """ + progress_bar = object.parent(waitForObjectExists(names.o_progress_bar)) + progress_bar_children = object.children(progress_bar) + progress_bar_val_parent = progress_bar_children[3] + progress_bar_val_parents_children = object.children(progress_bar_val_parent) + progress_bar_val = progress_bar_val_parents_children[1] + return progress_bar_val.text.toUtf8().constData() + -from dialin.ui.hd_simulator import HDSimulator -# from dialin.ui.dg_simulator import DGSimulator -# from dialin.ui.hd_simulator_alarms import HDAlarmsSimulator +def verify_the_progress(value, final_msg_posted) -> None: + """ + Method to verify the progress + @param value: int single message + """ + progress = pyInt(get_progress())-1 + if final_msg_posted is True: + test.xcompare(value, progress, "Final value " + + "{value} should ".format(value=value) + + "not reflect on the progress bar") + elif final_msg_posted is False: + test.compare(value, progress, "{value}".format(value=value) + + " should reflect on progress bar") + -def main(): - utils.tstStart("demo") - startApplication("denaliSquish") +def post_a_message_and_verify_progress_and_completion(msgs_and_conditions): + """ + method to post a message and verify the progress bar and + if final message is posted + """ + for msg, conditions in msgs_and_conditions.items(): + final_msg = conditions[0] + final_msg_posted = conditions[1] + hd.cmd_send_hd_post(msg, final_msg, final_msg_posted) + utils.waitForGUI(2) + verify_the_progress(value=msg, final_msg_posted=final_msg_posted) + verify_final_message_posted(final_msg=final_msg, final_msg_posted=final_msg_posted) + + +def verify_final_message_posted(final_msg=None, final_msg_posted=None) -> None: + """ + method to verify the indication of final + message posted + @param final_msg: bool final message(True/False) + @param final_msg_posted: bool if this is the final post message(True/False) + @return: None + """ + test.startSection("Verifying the status") + if final_msg == True and final_msg_posted == True: - hd = HDSimulator() - #dg = DGSimulator() + if object.exists(names.o_done_indicator): + done_indicator = waitForObject(names.o_done_indicator) + test.compare(done_indicator.enabled, True, "Done, Final value passed") + + elif (final_msg == False and final_msg_posted == True) : + + if object.exists(names.o_fail_indicator): + fail_indicator = waitForObject(names.o_fail_indicator) + test.compare(fail_indicator.enabled, True, "Failed, Final value not passed") + + elif (final_msg == True and final_msg_posted == False)\ + or (final_msg == False and final_msg_posted == False): + + if object.exists(names.o_busy_indicator): + busy_indicator = waitForObject(names.o_busy_indicator) + test.compare(busy_indicator.enabled, True, "Waiting for a value") + test.endSection() +def main(): + + utils.tstStart(__file__) + startApplication(AUT_NAME) + hd.cmd_send_power_on_self_test_version_request() - for i in range(20): - hd.cmd_send_hd_post(i, True, False) - sleep(0.1) - hd.cmd_send_hd_post(0, True, True) - hd.cmd_send_hd_operation_mode(4, 0) + + post_a_message_and_verify_progress_and_completion(MSGS_AND_CONDITIONS) + utils.waitForGUI(2) - unittests.test_python_version() - unittests.test_crc8() - unittests.test_can0() - utils.tstDone()