Index: tst_ui_alarms_dialog/test.py =================================================================== diff -u -r151dbbd47b6a62cd0f35d482b23f1b4456115db4 -re669901857ed8bd5749874568939745d91ce5a0f --- tst_ui_alarms_dialog/test.py (.../test.py) (revision 151dbbd47b6a62cd0f35d482b23f1b4456115db4) +++ tst_ui_alarms_dialog/test.py (.../test.py) (revision e669901857ed8bd5749874568939745d91ce5a0f) @@ -11,6 +11,7 @@ # This test contradicts verification of ui alarms dialog # section +import csv import names import logging from dialin.ui import utils @@ -47,35 +48,60 @@ names.o_alarms_text["text"] = text return names.o_alarms_text -def read_data_from_alarms_conf_file(): +def read_message_title_from_alarms_conf_file(alarm_id): """ - This method is used to read the data from Alarms.conf file. + This method is used to extract data from Alarms.conf file. + @param (int) alarm_id: ID for specified alarm message. + @returns alarm title from extracted file. """ utils.waitForGUI(0.2) + flag = False with open(config.ALARMS_CONF_LOCATION, 'r') as conf_file: - contents = conf_file.readlines() - count = 0 - line_count = 0 - for line in contents: - length =len(line) - line_count += 1 - if line[0] =="[": - alarm_ids.append(conf_data[0]) - continue - else: - conf_data = line.split("=") - if length > 2: - count += 1 - alarm_titles.append(conf_data[0]) - alarms_msgs.append(conf_data[1]) - if line_count == len(contents): - count_of_alarms.append(count) + for row in list(csv.reader(conf_file)): + try: + if flag is True: + alarm_title = row[0].split(' = ') + if len(alarm_title[1]) == 0 and alarm_title[1] != None: + return 'Alarm' + else: + return alarm_title[1] + if len(row) == 0: + continue else: - if count > 0: - count_of_alarms.append(count) - count = 0 - title_count_dict.update(dict(zip(title_list,count_of_alarms))) - + if row[0] == '['+str(alarm_id)+']': + flag = True + except IndexError: + test.fail("alarm title is not mapped with alarm id from Alarm.conf file") + + +def read_alarm_message_from_alarms_conf_file(alarm_id): + """ + This method is used to extract data from Alarms.conf file. + @param (int) alarm_id: ID for specified alarm message. + @returns alarm message from extracted file. + """ + utils.waitForGUI(0.2) + flag = False + status = False + with open(config.ALARMS_CONF_LOCATION, 'r') as conf_file: + for row in list(csv.reader(conf_file)): + try: + if flag is True and status is True: + alarm_message = row[0].split(' = ') + return alarm_message[1] + if flag is True: + alarm_title = row[0].split(' = ') + if alarm_title[0] == 'Title ': + status = True + if len(row) == 0: + continue + else: + if row[0] == '['+str(alarm_id)+']': + flag = True + except IndexError: + test.fail("alarm message is not mapped with alarm id from Alarm.conf file") + + def minimize(): """ Method to minimize alarm dialog box @@ -263,11 +289,19 @@ minimize() test.compare(str(waitForObjectExists(names.o_alarm_bar_text ).text), config.UNDEFINED_ALARM_ID_MSG.format(alarm_id), "verified alarm message for exceeded alarm id's") else: + test.log(str(alarm_id)) test.compare(str(waitForObjectExists(names.o_alarm_text_description).text), config.ALARM_ID_AND_ALARM_MESSAGES[alarm_id], "Alarm message is verified from alarm dialog box") minimize() test.compare(str(waitForObjectExists(names.o_alarm_bar_text ).text), config.ALARM_ID_AND_ALARM_MESSAGES[alarm_id], "Alarm message is verified from alarm bar") maximize() + if alarm_id < config.NUM_OF_ALARM_ID: + alarm_title = read_message_title_from_alarms_conf_file(alarm_id) + test.compare(str(waitForObjectExists(names.o_alarm_id ).text), alarm_title, "Alarm message is verified from alarm bar") + 'TODO: Empty message discription for some of the alarm ids from Alarms.conf. Dynamic verification kept as hold.' + #alarm_message = read_alarm_message_from_alarms_conf_file(alarm_id) + #test.compare(str(waitForObjectExists(names.o_alarm_text_description).text), alarm_message, "Alarm message is verified from alarm dialog box") + test.endSection() @@ -312,7 +346,7 @@ @output N/A """ test.startSection("verification of alarm bar parameters") - for alarm_id in range(0, len(config.ALARM_ID_AND_MESSAGES)): + for alarm_id in range(0, config.NUM_OF_ALARM_ID): if alarm_id == config.ALARM_ID_NO_ALARM: test.log("validate alarm condition for alarm id : 0")