def check_and_add_ne(driver, dict_ne_info): ne_exist, ne_name = check_ne_exist_by_type(driver, dict_ne_info["ne_type"], dict_ne_info["ne_ip"]) if 2 == ne_exist: test.error('A ne with the given IP named: ' + ne_name + ' already exist.') FmCommon.quitDriver(driver) sys.exit(0) elif 1 == ne_exist: dict_ne_info["ne_name"] = ne_name elif 1 > ne_exist: ne_name = add_new_ne(driver, dict_ne_info) dict_ne_info["ne_name"] = ne_name refresh_ne_management_page(driver) test.info("NE:" + ne_name + " added successfully") return dict_ne_info
def check_alarm_data_accuracy(ne_info_cfg,server_info_cfg,alarm_mapping_cfg): server_info = Properties(server_info_cfg) dict_browser_chrome = { "browser_type": server_info.getProperty('browser_type'), "browser_path": server_info.getProperty('browser_path'), "driver_path": server_info.getProperty('driver_path') } ne_info = Properties(ne_info_cfg) dict_ne_info = { "ne_name": ne_info.getProperty("ne_name"), "ne_user": ne_info.getProperty("ne_user"), "ne_type": ne_info.getProperty("ne_type"), "ne_ip" : ne_info.getProperty("ne_ip"), "ne_password" : ne_info.getProperty("ne_password"), "pm_path": ne_info.getProperty("pm_path"), "log_path": ne_info.getProperty("log_path"), "alarm_path": ne_info.getProperty("alarm_path"), "ne_port": ne_info.getProperty("ne_port"), "sftp_port": ne_info.getProperty("sftp_port"), "snmp_port": ne_info.getProperty("snmp_port"), "usm_user": ne_info.getProperty("usm_user"), "auth_password": ne_info.getProperty("auth_password"), "priv_password": ne_info.getProperty("priv_password"), "app_user": ne_info.getProperty("app_user"), "app_password": ne_info.getProperty("app_password"), "li_pwd": ne_info.getProperty("li_pwd"), "fro_id": ne_info.getProperty("fro_id") } mappingInstance = AlarmMapping.alarmMapping(alarm_mapping_cfg) host = server_info.getProperty("host") username = server_info.getProperty("username") password = server_info.getProperty("password") port = server_info.getProperty("port") url = server_info.getProperty("url") driver = CommonStatic.login_rsnms(dict_browser_chrome,host,username,password,port,url) if driver: try: NeCommon.to_ne_management_page_by_url(driver,server_info) new_ne_info=NeCommon.check_and_add_ne(driver, dict_ne_info) ne_name = new_ne_info["ne_name"] FmCommon.toAlarmManagement_by_url(driver,server_info) time.sleep(10) FmCommon.init_and_search(driver,ne_name) alarmtypes = mappingInstance.dict_mapping_info["alarm_types"] alarm_type_list = [] if type(alarmtypes) is types.StringType: alarm_type_list.append(alarmtypes) else: alarm_type_list = alarmtypes if dict_ne_info["ne_type"] == "LTEHSS" or dict_ne_info["ne_type"] == "IMSHSS": snmp_auth_info = [] snmp_auth_info.append(dict_ne_info["usm_user"]) snmp_auth_info.append(dict_ne_info["auth_password"]) snmp_auth_info.append(dict_ne_info["priv_password"]) else: snmp_auth_info = None for alarm_type in alarm_type_list: test_logger.info("send alarm trap: " + dict_ne_info["ne_type"] + ":" + alarm_type + "...") alarm_from_ne = base_clint_for_selenium.send_trap(dict_ne_info["ne_ip"], 7070, 'xoambaseserver',dict_ne_info["ne_type"],alarm_type,host,snmp_auth_info) error_code = int(alarm_from_ne["code"]) if error_code==1: alarm_trap=alarm_from_ne["trap"] test_logger.info("alarm sent successfully" + str(alarm_trap)) alarm_expected=alarm_converter(dict_ne_info["ne_type"],ne_name,alarm_type,alarm_trap,mappingInstance) alarm_on_gui=FmCommon.fetch_alarm_on_gui(driver,dict_ne_info["ne_type"],alarm_trap,mappingInstance,alarm_type) if alarm_on_gui != None: test_logger.info("start to check alarm type: " + dict_ne_info["ne_type"] + ":" + alarm_type) alarm_compare(alarm_expected,alarm_on_gui) else: test_logger.failed(dict_ne_info["ne_type"] + ":" + alarm_type + " accuracy test failed," + "reason:alarm not received on GUI") elif error_code < 0: test_logger.failed(dict_ne_info["ne_type"] + ":" + alarm_type + " accuracy test failed, reason:sending alarm trap failed, the error msg is:" + alarm_from_ne["msg"]) FmCommon.quitDriver(driver) except Exception as e: FmCommon.quitDriver(driver) test_logger.error(str(e))