def test_029_failover_master_can_takeover_ap(self): u"""failover ap 切换到master ap模式后,能够正常接管ap(testlink_ID:2379)""" log.debug("029") tmp = APSBusiness(self.driver) #开启master ap的controller tmp.open_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) time.sleep(60) #搜索并配对特定的ap tmp.search_pair_AP(data_AP["slave:mac1"],data_AP["slave:mac2"]) #设置slave ap2为failover ap tmp.change_slave_to_failover(data_AP["slave:mac2"]) #master ap关闭controller tmp.close_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) #等待10分钟 time.sleep(610) #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], "failover", data_login['all']) #设置failover ap为master ap tmp.change_failover_to_master() #登录后台,判断slave ap是否接管成功 result = tmp.check_slave_ap_pair(data_basic['slave_ip2'], data_basic['sshUser'], data_login['all'], data_AP["slave:mac1"]) self.assertTrue(result), "after failover change to master can take over ap, test fail!" print "after failover change to master can take over ap, test pass!"
def test_019_config_master_ap_setup_failover_ap(self): u"""准备好master ap的配置及流量,设置好failover ap""" log.debug("019") tmp = APSBusiness(self.driver) #解除特定slave AP1的配对 tmp.unpair_special_slave_AP(data_AP['slave:mac1']) #web页面退出登录 tmp2 = NavbarBusiness(self.driver) tmp2.logout() #AP 下载/上传流量---master ap tmp1 = OVBusiness(self.driver) tmp1.set_AP_download_unload(data_wireless['all_ssid'], data_wireless["short_wpa"], data_basic['wlan_pc'], data_basic['lan_pc']) #重新登录AP Lg = LoginBusiness(self.driver) Lg.login(data_basic['superUser'], data_login['all']) #多个slave ap时,搜索并配对特定的ap tmp.search_pair_special_AP(data_AP['slave:mac2']) #设置slave ap为failover ap tmp.change_slave_to_failover(data_AP['slave:mac2']) #检查slave ap是否变为failover ap result = tmp.check_change_to_failover_AP(data_AP['slave:mac2'], data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) self.assertTrue(result), "master ap and set failover ap ready, test fail!" print "master ap and set failover ap ready, test pass!"
def test_012_change_failover_ap_again(self): u"""再次改变failover ap从一个slave ap到另一个slave ap(testlink_ID:2355)""" log.debug("012") tmp = APSBusiness(self.driver) #设置slave ap为failover ap tmp.change_slave_to_failover(data_AP['slave:mac2']) #检查slave ap是否变为failover ap result = tmp.check_change_to_failover_AP(data_AP['slave:mac2'], data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) self.assertTrue(result), "change failover from a slave ap to another again, test fail!" print "setup a slave ap to failover ap again, test pass!"
def test_009_setup_to_failover_ap(self): u"""配置一个特定的slave ap作为failover ap(testlink_ID:2353)""" log.debug("009") tmp = APSBusiness(self.driver) #设置slave ap为failover ap tmp.change_slave_to_failover(data_AP['slave:mac2']) #检查slave ap是否变为failover ap result = tmp.check_change_to_failover_AP(data_AP['slave:mac2'], data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) self.assertTrue(result), "setup a slave ap to failover ap, test fail!" print "setup a slave ap to failover ap, test pass!"
def test_043_failover_master_designate_slave_to_failover(self): u"""failover ap 切换到master ap模式后,指定slave ap1为新的failover ap(testlink_ID:2418)""" log.debug("043") tmp = APSBusiness(self.driver) #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], data_basic['superUser'], data_login['all']) #设置slave ap为failover ap tmp.change_slave_to_failover(data_AP['slave:mac1']) #检查slave ap是否变为failover ap result = tmp.check_change_to_failover_AP(data_AP['slave:mac1'], data_basic['slave_ip2'], data_basic['sshUser'], data_login['all']) self.assertTrue(result), "after failover switch to master,designate another slave ot failover, test fail!" print "after failover switch to master,designate another slave ot failover, test pass!"
def test_015_check_failover_ap_configuation(self): u"""确认failover ap和master ap有相同的配置(testlink_ID:2360)""" log.debug("015") tmp = APSBusiness(self.driver) #多个slave ap时,搜索并配对特定的ap tmp.search_pair_special_AP(data_AP['slave:mac2']) time.sleep(60) #设置slave ap为failover ap tmp.change_slave_to_failover(data_AP['slave:mac2']) #确认failover ap和master ap有相同的配置 result = tmp.check_check_failover_ap_configuation( data_basic['DUT_ip'],data_basic['slave_ip2'], data_basic['sshUser'], data_login['all']) self.assertTrue(result), "check failover ap configuation is same master ap, test fail!" print "check failover ap configuation is same master ap, test pass!"
def test_055_reboot_failover_switching(self): u"""指定failover ap,并断开master ap后,10分钟内,重启failover ap(testlink_ID:2413)""" log.debug("055") tmp = APSBusiness(self.driver) #设置slave ap2为failover ap tmp.change_slave_to_failover(data_AP["slave:mac2"]) #master ap关闭controller tmp.close_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) #等待1分钟 time.sleep(60) #重启failover ap tmp.reboot_router(data_basic['slave_ip2'],data_basic['sshUser'], data_login['all']) #等待3分钟 time.sleep(180) #failover ap依然是slave ap模式 ssh = SSH(data_basic['slave_ip2'], data_login['all']) result = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.role") #等待10分钟 time.sleep(610) #slave ap 变为failover 模式 ssh = SSH(data_basic['slave_ip2'], data_login['all']) result1 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.role") result2 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.failover") #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], "failover", data_login['all']) #设置failover ap为master ap tmp.change_failover_to_master() result3 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.role") result4 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.failover") #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], data_basic['superUser'], data_login['all']) #该ap恢复出厂配置 tmp2 = UpgradeBusiness(self.driver) tmp2.web_factory_reset_backup(data_basic['slave_ip2']) #开启master ap的controller tmp.open_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) time.sleep(60) self.assertIn("master", result1) self.assertIn("1", result2) self.assertIn("master", result3) self.assertIn("Entry not found", result4) self.assertIn("slave", result), "reboot failover ap, test fail!" print "reboot failover ap, test pass!"
def test_036_check_slave_failover_function(self): u"""指定failover ap后,确定failover ap的功能正常(testlink_ID:2369)""" log.debug("036") #点击网络组,添加一个新的指定VID的网络组 tmp1 = SSIDBusiness(self.driver) tmp1.new_vlan_ssid(data_ng['NG2_ssid'], data_wireless['short_wpa'], "2") tmp = APSBusiness(self.driver) #搜索并配对特定的ap tmp.search_pair_AP(data_AP["slave:mac1"],data_AP["slave:mac2"]) #设置slave ap2为failover ap tmp.change_slave_to_failover(data_AP["slave:mac2"]) #slave加入第2个网络组 tmp.add_slave_to_NG(data_AP["slave:mac2"], 2) #无线网卡连接该ap result = tmp.connect_WPA_AP(data_ng['NG2_ssid'], data_wireless['short_wpa'], data_basic['wlan_pc']) self.assertIn(data_ng['NG2_ssid'], result), "after designating failover ap,check failover ap function,test fail!" print "after designating failover ap,check failover ap function,test pass!"
def test_017_check_offline_failover_ap(self): u"""指定一个离线的slave ap作为failover ap,检查failover ap的配置是否同步(testlink_ID:2362)""" log.debug("017") tmp = APSBusiness(self.driver) #解除特定slave AP2的配对 tmp.unpair_special_slave_AP(data_AP['slave:mac2']) #重启the last slave ap--backup tmp.reboot_slave_ap1_backup() #设置slave ap1为failover ap time.sleep(80) tmp.change_slave_to_failover(data_AP['slave:mac1']) time.sleep(180) #确认failover ap和master ap有相同的配置 result = tmp.check_check_failover_ap_configuation( data_basic['DUT_ip'],data_basic['slave_ip1'], data_basic['sshUser'], data_login['all']) self.assertTrue(result), "check failover ap configuation when it's offline, test fail!" print "check failover ap configuation when it's offline, test pass!"
def test_045_slave_switch_failover_mode(self): u"""failover ap 能正常切换到failover mode(testlink_ID:2371,2374)""" log.debug("045") tmp = APSBusiness(self.driver) #搜索并配对特定的ap tmp.search_pair_AP(data_AP["slave:mac1"],data_AP["slave:mac2"]) #设置slave ap2为failover ap tmp.change_slave_to_failover(data_AP["slave:mac2"]) #master ap关闭controller tmp.close_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) #等待10分钟 time.sleep(610) #slave ap 变为failover 模式 ssh = SSH(data_basic['slave_ip2'], data_login['all']) result1 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.role") result2 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.failover") self.assertIn("master", result1) self.assertIn("1", result2), "failover ap can switch to failover mode, test fail!" print "failover ap can switch to failover mode, test pass!"