# -*- 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_cloud_sync_hd_opmodes # date 2022/07/08 # author Shweta Policepatil # # NOTE: # This test verifies the cloud sync - tst_cloud_sync_hd_opmode. import names import time from dialin.ui.hd_simulator import HDSimulator from dialin.ui import utils from configuration import utility from configuration import config from dialin.common.hd_defs import HDOpModes, HDOpSubModes hd_simulator = HDSimulator() MESSAGE_SERVICE_MODE = '1639391827,1,0,1006,2,1,0' MESSAGE_INIT_MODE = '1639391827,1,0,1006,2,2,0' MESSAGE_STAND_BY_MODE = '1639391827,1,0,1006,2,3,0' MESSAGE_TPAR_MODE = '1639391827,1,0,1006,2,4,0' MESSAGE_PRETREATMENT_MODE = '1639391827,1,0,1006,2,5,0' MESSAGE_TREATMENT_MODE = '1639391827,1,0,1006,2,6,0' MESSAGE_POST_TREATMENT_MODE = '1639391827,1,0,1006,2,7,0' MESSAGE_ILLEGAL_TRANSITION_MODE = '1639391827,1,0,1006,2,8,0' DEVICE_CREDENTIALS_RESPONSE = '1639391827,1,0,1004,1,/tmp/credentials/' def verify_hd_opmodes(): """ Method is used to navigate to different hd opmodes and verify message id's @message_id 1006 - to send device state from UI2CS @message_id 1004 - to send device credentials from UI2CS """ test.startSection("Verifying message id, opmode, submode for intialisation screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_INIT.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) utils.waitForGUI(1) test.log("Initial mode") retrive_log_data_lines = 2 actual_inp_buf_data = utility.retrive_log_data(retrive_log_data_lines) test.log(str(actual_inp_buf_data[0])) verify_log_response(actual_inp_buf_data[0],MESSAGE_INIT_MODE) verify_log_response(actual_inp_buf_data[1],DEVICE_CREDENTIALS_RESPONSE) test.endSection() test.startSection("Verifying message id, opmode, submode for Standby mode screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_STAN.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) utils.waitForGUI(1) test.log("Stand By mode") retrive_log_data_lines = 4 actual_inp_buf_data = utility.retrive_log_data(retrive_log_data_lines) test.log(str(actual_inp_buf_data[0])) verify_log_response(actual_inp_buf_data[0],MESSAGE_STAND_BY_MODE) verify_log_response(actual_inp_buf_data[1],DEVICE_CREDENTIALS_RESPONSE) test.endSection() test.startSection("Verifying message id, opmode, submode for Treatment parameter mode screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_TPAR.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) utils.waitForGUI(1) test.log("Treatment parameter mode") retrive_log_data_lines = 6 actual_inp_buf_data = utility.retrive_log_data(retrive_log_data_lines) test.log(str(actual_inp_buf_data[0])) verify_log_response(actual_inp_buf_data[0],MESSAGE_TPAR_MODE) verify_log_response(actual_inp_buf_data[1],DEVICE_CREDENTIALS_RESPONSE) test.endSection() test.startSection("Verifying message id, opmode, submode for Pre -treatment mode screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_PRET.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) utils.waitForGUI(1) test.log("Pre - Treatment mode") retrive_log_data_lines = 8 actual_inp_buf_data = utility.retrive_log_data(retrive_log_data_lines) test.log(str(actual_inp_buf_data[0])) verify_log_response(actual_inp_buf_data[0],MESSAGE_PRETREATMENT_MODE) verify_log_response(actual_inp_buf_data[1],DEVICE_CREDENTIALS_RESPONSE) test.endSection() test.startSection("Verifying message id, opmode, submode for Treatment mode screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_TREA.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) utils.waitForGUI(1) test.log("Treatment mode") retrive_log_data_lines = 10 actual_inp_buf_data = utility.retrive_log_data(retrive_log_data_lines) test.log(str(actual_inp_buf_data[0])) verify_log_response(actual_inp_buf_data[0],MESSAGE_TREATMENT_MODE) verify_log_response(actual_inp_buf_data[1],DEVICE_CREDENTIALS_RESPONSE) test.endSection() test.startSection("Verifying message id, opmode, submode for Post treatment mode screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_POST.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) utils.waitForGUI(1) test.log("Post - treatment mode") retrive_log_data_lines = 12 actual_inp_buf_data = utility.retrive_log_data(retrive_log_data_lines) test.log(str(actual_inp_buf_data[0])) verify_log_response(actual_inp_buf_data[0],MESSAGE_POST_TREATMENT_MODE) verify_log_response(actual_inp_buf_data[1],DEVICE_CREDENTIALS_RESPONSE) test.endSection() test.startSection("Verifying message id, opmode, submode for Service mode screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_SERV.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) utils.waitForGUI(1) test.log("Service mode") retrive_log_data_lines = 14 actual_inp_buf_data = utility.retrive_log_data(retrive_log_data_lines) test.log(str(actual_inp_buf_data[0])) verify_log_response(actual_inp_buf_data[0],MESSAGE_SERVICE_MODE) verify_log_response(actual_inp_buf_data[1],DEVICE_CREDENTIALS_RESPONSE) test.endSection() test.startSection("Verifying message id, opmode, submode for Illegal transition screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_NLEG.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) mouseClick(waitForObjectExists(names.device_settings_screen)) utils.waitForGUI(1) test.log ("Illegal Transition") retrive_log_data_lines = 16 actual_inp_buf_data = utility.retrive_log_data(retrive_log_data_lines) test.log(str(actual_inp_buf_data[0])) verify_log_response(actual_inp_buf_data[0],MESSAGE_ILLEGAL_TRANSITION_MODE) verify_log_response(actual_inp_buf_data[1],DEVICE_CREDENTIALS_RESPONSE) test.endSection() def verify_log_response(actual_cloudsync_data, expected_cloudsync_data): """ This function is used for verifying the expected and actual cloud-sync log data. """ test.startSection("Verification of cloud response for code %s" %actual_cloudsync_data[config.CODE_INDEX]) expected_cloudsync_data = expected_cloudsync_data.split(',') current_epoch_value = time.time() epoch_value_status = utility.get_epoch_value_consistancy(current_epoch_value, actual_cloudsync_data[config.EPOCH_INDEX]) test.verify(epoch_value_status, "epoch value should be in range and it is verified") if len(expected_cloudsync_data) == config.HD_OPMODES_MSG_PARAMETER_LEN : for index in (config.CRC_INDEX, config.CODE_INDEX, config.PARAMETER_COUNT, config.OPMODE_INDEX, config.SUBMODE): test.compare(expected_cloudsync_data[index], actual_cloudsync_data[index], "cloud sync data %s is verified" %expected_cloudsync_data[index]) if len(expected_cloudsync_data) == config.HD_OPMODES_CREDENTIAL_PARAMETER_LEN: for index in (config.CRC_INDEX, config.CODE_INDEX, config.PARAMETER_COUNT, config.OPMODE_INDEX): test.compare(expected_cloudsync_data[index], actual_cloudsync_data[index], "cloud sync data %s is verified" %expected_cloudsync_data[index]) test.endSection() def main(): utility.append_cloudsync_credentials_file() utils.tstStart(__file__) startApplication(config.AUT_NAME) utils.waitForGUI(2) verify_hd_opmodes() utils.tstDone()