Index: tst_cloud_sync - treatment_screen/test.py =================================================================== diff -u -re249ea37ebab6dfe87a5e8f83448bb38e00d36cd -r6d63d7b5300eff028710b831e233cd3692f42942 --- tst_cloud_sync - treatment_screen/test.py (.../test.py) (revision e249ea37ebab6dfe87a5e8f83448bb38e00d36cd) +++ tst_cloud_sync - treatment_screen/test.py (.../test.py) (revision 6d63d7b5300eff028710b831e233cd3692f42942) @@ -17,6 +17,7 @@ import csv import names +import shutil import os import time from dialin.ui import utils @@ -27,11 +28,11 @@ from dialin.common.hd_defs import HDOpModes, PreTreatmentSubModes, PostTreatmentStates from dialin.common.hd_defs import HDOpModes, HDOpSubModes from dialin.utils.conversions import float_to_bytearray, integer_to_bytearray,unsigned_integer_to_bytearray - dg_simulator = DGSimulator() hd_simulator = HDSimulator() ERROR_MESSAGE = { + "500" : "CS Unknown Error ", "501" : "CS Incorrect header ", "502" : "CS Incorrect timestamp ", "503" : "CS Incorrect sequence ", @@ -42,7 +43,17 @@ "508" : "CS Mismatch parameter count ", "509" : "CS Missing parameter ", "510" : "CS No history available ", - "520" : "CS The provided Treatment Code is empty. " + "511" : "CS Duplicate data ", + "512" : "CS The log folder cannot be created. ", + "513" : "CS Error writing to the input file. ", + "514" : "CS The credentials file does not exist. ", + "515" : "CS The credentials folder make failed. ", + "516" : "CS The credentials file copy failed. ", + "517" : "CS The credentials file remove failed. ", + "518" : "CS The credentials folder is empty. ", + "519" : "CS No Treatment Code provided. ", + "520" : "CS The provided Treatment Code is empty. ", + "521" : "CS Out buffer empty " } @@ -57,7 +68,9 @@ eError_ParamMismatch_508 = '1,1639391827,0,2999,0,508' eError_ParamMissing_509 = '1639391827,1,0,2999,3,509,[8,2]' eError_NoHistory_510 = '1639391827,1,0,2006,0' +eError_CredentialMake_514 = '1657706417,7,0,2003,3,,DG1234567890123,06300216' eError_TxCodeEmpty_520 = '1639391827,1,0,2008,1,' +eError_OutFileEmpty_521 = '' POST_TREATMENT_INSTRUCTION_COUNT = 2 @@ -75,7 +88,11 @@ DEVICE_HD_INFO_RESPONSE = '1639391827,1,0,1002,3,HD1234567890123,,sw_version' DEVICE_DG_INFO_RESPONSE = '1639391827,1,0,1002,3,,DG1234567890123,sw_version' - + +def settings_text_obj(text): + names.o_settings_home_text_obj["text"] = text + return names.o_settings_home_text_obj + def verify_code_from_treatment_response(): """ This function is used for verify the code text from treatment log. @@ -111,15 +128,29 @@ return read_line[0] -def verify_error_message(): +def verify_files_error_message(): """ This method is used to verify error message log printing inside denaliSquish.error file. """ - + + set_data_in_cloud_sync_output_file(eError_NoHistory_510) + utils.waitForGUI(2) + test.compare(verify_status(get_error_message_from_log("510")),ERROR_MESSAGE["510"], "message is not in unhandled.conf file. verified error message from .err file") + test.compare(str(verify_status(get_error_message_from_log("518"))),ERROR_MESSAGE["518"], "message is not in unhandled.conf file. verified error message from .err file") + test.compare(verify_status(get_error_message_from_log("516")),ERROR_MESSAGE["516"], "message is not in unhandled.conf file. verified error message from .err file") + set_data_in_cloud_sync_output_file(eError_HeaderCount_501) utils.waitForGUI(2) - test.compare(str(verify_status(get_error_message_from_log("501"))),ERROR_MESSAGE["501"], "message is not in unhandled.conf file. verified error message from .err file") + test.compare(verify_status(get_error_message_from_log("501")),ERROR_MESSAGE["501"], "message is not in unhandled.conf file. verified error message from .err file") + try: + test.compare(verify_status(get_error_message_from_log("521")),ERROR_MESSAGE["521"], "message is not in unhandled.conf file. verified error message from .err file") + except: + test.log("CS Out buffer error not logged ") +def verify_error_message(): + """ + This method is used to verify error message log printing inside denaliSquish.error file. + """ set_data_in_cloud_sync_output_file(eError_Timestamp_502) utils.waitForGUI(2) test.compare(verify_status(get_error_message_from_log("502")),ERROR_MESSAGE["502"], "message is not in unhandled.conf file. verified error message from .err file") @@ -209,12 +240,12 @@ if row[0].isalpha(): pass else: - if count == 30: + if count == 100: test.fail("handler unable to find message text from error file.") break row_length = sum(1 for values in row) try: - if ("["+error_num+":") in row[1]: + if ("["+error_num) in row[1]: if row[1] != None: return row[1] @@ -227,47 +258,130 @@ test.fail("err log file is not created or log file is not created based on standard log naming format.") +def rename_file(path,filename): + """ + This method Rename the original folder name to dummy name. + """ + folder_path = os.listdir(path) + for files in folder_path: + if files == filename+"_1": + if os.path.exists(path+filename+"_1"): + shutil.rmtree(path+filename+"_1") + test.log(str(filename+" name changed to "+files)) + if files == filename: + if os.path.exists(path+filename): + utils.waitForGUI(1) + os.rename(path+filename,path+filename+"_1") + test.log(str(files+" name changed to "+filename+"_1")) + +def rename_old_name(path,filename): + """ + This method Rename the dummy name to original folder name . + """ + folder_path = os.listdir(path) + for files in folder_path: + if files == filename: + if os.path.exists(path+filename): + shutil.rmtree(path+filename) + test.log(str(files+"_1 name changed to "+filename)) + utils.waitForGUI(5) + if files != filename: + if (files == filename+"_1"): + os.rename(path+files,path+filename) + test.log(str(files+" name changed to "+filename)) + +def click_scan_button_wifi(): + """ + Method to verify "Wi-Fi" screen + """ + test.startSection("Verifying Wi-Fi setting") + utils.waitForGUI(0.2) + mouseClick(waitForObjectExists(names.o_SettingsHome_mouseArea_MouseArea_2)) + utils.waitForGUI(5) + mouseClick(waitForObjectExists(names.o_SettingsBase_mouseArea_MouseArea_3)) + mouseClick(waitForObjectExists(names.o_SettingsBase_mouseArea_MouseArea)) + test.endSection() + +def navigate_to_settings_screen(): + """ + Method to navigate to "Settings" screen + """ + test.startSection("Navigating to 'Device Settings' screen") + hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_STAN.value, sub_mode=HDOpModes.MODE_FAUL.value) + utils.waitForGUI(1) + mouseClick(waitForObjectExists(names.o_settings_Text)) + device_settings_text = waitForObjectExists(settings_text_obj(config.DEVICE_SETTINGS_TEXT)) + test.compare(device_settings_text.text, config.DEVICE_SETTINGS_TEXT, "{} screen is displayed".format(config.DEVICE_SETTINGS_TEXT)) + test.endSection() + +def rename_folder_names(): + """ + This method is for renaming the folder name and wait application for verifying particular file. + """ + test.startSection("Renaming the cloudsync,sd-card, usb-disk, application folder name") + rename_file(config.SD_CARD_CLOUDSYNC_FOLDER_PATH,"cloudsync") + utils.waitForGUI(5) + rename_old_name(config.SD_CARD_CLOUDSYNC_FOLDER_PATH,"cloudsync") + + rename_file(config.SD_CARD_LOCATION,"sd-card") + utils.waitForGUI(5) + rename_old_name(config.SD_CARD_LOCATION,"sd-card") + + rename_file(config.USB_DISK_FOLDER_LOCATION,"usb-disk") + utils.waitForGUI(5) + rename_old_name(config.USB_DISK_FOLDER_LOCATION,"usb-disk") + + rename_file(config.APPLICATION_FOLDER_LOCATION,"application") + utils.waitForGUI(5) + navigate_to_settings_screen() + click_scan_button_wifi() + rename_old_name(config.APPLICATION_FOLDER_LOCATION,"application") + test.endSection() + def main(): - utility.append_cloudsync_credentials_file() - + rename_file(config.CLOUDSYNC_FOLDER_PATH,"cloudsync") + utils.waitForGUI(1) utils.tstStart(__file__) startApplication(config.AUT_NAME) utils.waitForGUI(1.5) - verify_error_message() - + verify_files_error_message() + rename_old_name(config.CLOUDSYNC_FOLDER_PATH,"cloudsync") + + utility.append_cloudsync_credentials_file() + utils.waitForGUI(5) + verify_error_message() main_item = waitForObjectExists(names.o_mainItem_Item) expected_software_version = str(object.children(main_item)[5]) - + set_data_in_cloud_sync_output_file(CODE_DISPLAY_REQUEST) verify_code_from_treatment_response() - + set_data_in_cloud_sync_output_file(DEVICE_CREDENTIALS_REQUEST) device_credentials_response = utility.retrive_log_data() verify_log_response(device_credentials_response[0], DEVICE_CREDENTIALS_RESPONSE) - + set_data_in_cloud_sync_output_file(DEVICE_FACTORY_RESET_REQUEST) factory_reset_response = utility.retrive_log_data() verify_log_response(factory_reset_response[0], DEVICE_FACTORY_RESET_CONFIRM) - + HD_VERSION = HD_VERSION_SERIAL_REQUEST.split(",") hd_simulator.cmd_send_serial_hd_data(HD_VERSION[5]) set_data_in_cloud_sync_output_file(DEVICE_INFO_REQUEST) device_credentials_response = utility.retrive_log_data() verify_log_response(device_credentials_response[0], DEVICE_HD_INFO_RESPONSE) - + DG_VERSION = DG_VERSION_SERIAL_REQUEST.split(",") dg_simulator.cmd_send_serial_dg_data(DG_VERSION[6]) set_data_in_cloud_sync_output_file(DEVICE_INFO_REQUEST) device_credentials_response = utility.retrive_log_data() verify_log_response(device_credentials_response[0], DEVICE_DG_INFO_RESPONSE) - + hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_STAN.value, sub_mode=HDOpSubModes.STANDBY_WAIT_FOR_TREATMENT_STATE .value) set_data_in_cloud_sync_output_file(DEVICE_STATE_REQUEST) device_credentials_response = utility.retrive_log_data() - verify_log_response(device_credentials_response[0], DEVICE_STATE_RESPONSE) + verify_log_response(device_credentials_response[0], DEVICE_STATE_RESPONSE) + rename_folder_names() utils.tstDone() - - \ No newline at end of file