mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-03-11 09:04:54 +00:00
backups: tests: functional: Find forms more accurately
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
parent
2d3681605e
commit
625146329d
@ -27,7 +27,7 @@
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<form class="form" method="post">
|
||||
<form class="form form-delete" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
<input type="submit" class="btn btn-danger"
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
{% endif %}
|
||||
|
||||
<p>
|
||||
<form class="form" method="post">
|
||||
<form class="form form-restore" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
{{ form|bootstrap }}
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<form class="form" enctype="multipart/form-data" method="post">
|
||||
<form class="form form-upload" enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
{{ form|bootstrap }}
|
||||
|
||||
@ -150,7 +150,7 @@ def _backup_schedule_set(browser, enable, daily, weekly, monthly, run_at,
|
||||
functional.eventually(browser.find_by_css, args=['.select-all'])
|
||||
browser.find_by_css('.select-all').first.check()
|
||||
browser.find_by_css(f'input[value="{without_app}"]').first.uncheck()
|
||||
functional.submit(browser)
|
||||
functional.submit(browser, form_class='form-backups_schedule')
|
||||
|
||||
|
||||
def _download_file_logged_in(browser, url, suffix=''):
|
||||
@ -186,8 +186,8 @@ def _upload_and_restore(browser, app_name, downloaded_file_path):
|
||||
fileinput = browser.driver.find_element_by_id('id_backups-file')
|
||||
fileinput.send_keys(downloaded_file_path)
|
||||
# submit upload form
|
||||
functional.submit(browser)
|
||||
functional.submit(browser, form_class='form-upload')
|
||||
# submit restore form
|
||||
with functional.wait_for_page_update(browser,
|
||||
expected_url='/plinth/sys/backups/'):
|
||||
functional.submit(browser)
|
||||
functional.submit(browser, form_class='form-restore')
|
||||
|
||||
@ -506,26 +506,28 @@ def set_advanced_mode(browser, mode):
|
||||
####################
|
||||
# Backup utilities #
|
||||
####################
|
||||
def _click_button_and_confirm(browser, href):
|
||||
def _click_button_and_confirm(browser, href, form_class):
|
||||
buttons = browser.links.find_by_href(href)
|
||||
if buttons:
|
||||
submit(browser, buttons.first)
|
||||
submit(browser, expected_url='/plinth/sys/backups/')
|
||||
submit(browser, element=buttons.first)
|
||||
submit(browser, form_class=form_class,
|
||||
expected_url='/plinth/sys/backups/')
|
||||
|
||||
|
||||
def _backup_delete_archive_by_name(browser, archive_name):
|
||||
nav_to_module(browser, 'backups')
|
||||
href = f'/plinth/sys/backups/root/delete/{archive_name}/'
|
||||
_click_button_and_confirm(browser, href)
|
||||
_click_button_and_confirm(browser, href, 'form-delete')
|
||||
|
||||
|
||||
def backup_create(browser, app_name, archive_name=None):
|
||||
"""Create a new backup for a given app."""
|
||||
install(browser, 'backups')
|
||||
if archive_name:
|
||||
_backup_delete_archive_by_name(browser, archive_name)
|
||||
|
||||
buttons = browser.links.find_by_href('/plinth/sys/backups/create/')
|
||||
submit(browser, buttons.first)
|
||||
submit(browser, element=buttons.first)
|
||||
eventually(browser.find_by_css, args=['.select-all'])
|
||||
browser.find_by_css('.select-all').first.uncheck()
|
||||
if archive_name:
|
||||
@ -534,13 +536,14 @@ def backup_create(browser, app_name, archive_name=None):
|
||||
# ensure the checkbox is scrolled into view
|
||||
browser.execute_script('window.scrollTo(0, 0)')
|
||||
browser.find_by_value(app_name).first.check()
|
||||
submit(browser)
|
||||
submit(browser, form_class='form-backups')
|
||||
|
||||
|
||||
def backup_restore(browser, app_name, archive_name=None):
|
||||
"""Restore a given app from a backup archive."""
|
||||
nav_to_module(browser, 'backups')
|
||||
href = f'/plinth/sys/backups/root/restore-archive/{archive_name}/'
|
||||
_click_button_and_confirm(browser, href)
|
||||
_click_button_and_confirm(browser, href, 'form-restore')
|
||||
|
||||
|
||||
######################
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user