From c382df927a3acce1f31642a953b1b97e0f216f46 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Thu, 29 Mar 2018 14:40:38 +0530 Subject: [PATCH] tests: Recover from server restart during installation Signed-off-by: Joseph Nuthalapati Reviewed-by: James Valleroy --- functional_tests/support/application.py | 18 +++++++++++++++--- functional_tests/support/site.py | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/functional_tests/support/application.py b/functional_tests/support/application.py index 27754f593..7a15d3878 100644 --- a/functional_tests/support/application.py +++ b/functional_tests/support/application.py @@ -66,10 +66,22 @@ def install(browser, app_name): browser.is_element_present_by_css(selector) for selector in selectors) + def is_server_restarting(): + return browser.is_element_present_by_css('.neterror') + + def wait_for_install(): + if install_in_progress(): + sleep(1) + elif is_server_restarting(): + sleep(1) + browser.visit(browser.url) + else: + return + wait_for_install() + if install: install.click() - while install_in_progress(): - sleep(1) + wait_for_install() sleep(2) # XXX This shouldn't be required. @@ -91,7 +103,7 @@ def disable(browser, app_name): def wait_for_config_update(browser, app_name): - while len(browser.find_by_css('.running-status.loading')) != 0: + while browser.is_element_present_by_css('.running-status.loading'): sleep(0.1) diff --git a/functional_tests/support/site.py b/functional_tests/support/site.py index b9b6a8367..3979727eb 100644 --- a/functional_tests/support/site.py +++ b/functional_tests/support/site.py @@ -42,7 +42,7 @@ def is_available(browser, site_name): browser.visit(config['DEFAULT']['url'] + get_site_url(site_name)) sleep(3) browser.reload() - return browser.title != '404 Not Found' + return '404' not in browser.title def access_url(browser, site_name):