def _make_share_public(browser, name): """Make share publicly accessible.""" row = _get_share(browser, name) with functional.wait_for_page_update(browser): row.find_by_css('.share-edit')[0].click() browser.find_by_id('id_sharing-is_public').check() functional.submit(browser)
def _rename_user(browser, old_name, new_name): functional.nav_to_module(browser, 'users') with functional.wait_for_page_update(browser): browser.find_link_by_href('/plinth/sys/users/' + old_name + '/edit/').first.click() browser.find_by_id('id_username').fill(new_name) functional.submit(browser)
def _delete_main_page(browser, username, password): """Delete the mediawiki main page.""" _login(browser, username, password) functional.visit(browser, '/mediawiki/index.php?title=Main_Page&action=delete') with functional.wait_for_page_update(browser): browser.find_by_id('wpConfirmB').first.click()
def _publish_key(browser, key_type, domain): """Publish a key of specified type for given domain from monkeysphere.""" functional.nav_to_module(browser, 'monkeysphere') key, _ = _find_domain(browser, key_type, 'imported', domain) with functional.wait_for_page_update(browser): key.find_by_css('.button-publish').click() functional.wait_for_config_update(browser, 'monkeysphere')
def _create_user(browser, name, password): functional.nav_to_module(browser, 'users') with functional.wait_for_page_update(browser): browser.find_link_by_href('/plinth/sys/users/create/').first.click() browser.find_by_id('id_username').fill(name) browser.find_by_id('id_password1').fill(password) browser.find_by_id('id_password2').fill(password) functional.submit(browser)
def _delete_user(browser, name): functional.nav_to_module(browser, 'users') delete_link = browser.find_link_by_href('/plinth/sys/users/' + name + '/delete/') if delete_link: with functional.wait_for_page_update(browser): delete_link.first.click() functional.submit(browser)
def _upload_and_restore(browser, app_name, downloaded_file_path): functional.nav_to_module(browser, 'backups') browser.find_link_by_href('/plinth/sys/backups/upload/').first.click() fileinput = browser.driver.find_element_by_id('id_backups-file') fileinput.send_keys(downloaded_file_path) # submit upload form functional.submit(browser) # submit restore form with functional.wait_for_page_update(browser, expected_url='/plinth/sys/backups/'): functional.submit(browser)
def _edit_share(browser, old_name, new_name, path, group): """Edit a share in sharing app.""" row = _get_share(browser, old_name) with functional.wait_for_page_update(browser): row.find_by_css('.share-edit')[0].click() browser.fill('sharing-name', new_name) browser.fill('sharing-path', path) browser.find_by_css('#id_sharing-groups input').uncheck() browser.find_by_css( '#id_sharing-groups input[value="{}"]'.format(group)).check() functional.submit(browser)
def _import_key(browser, key_type, domain): """Import a key of specified type for given domain into monkeysphere.""" try: monkeysphere_assert_imported_key(browser, key_type, domain) except IndexError: pass else: return key, _ = _find_domain(browser, key_type, 'importable', domain) with functional.wait_for_page_update(browser): key.find_by_css('.button-import').click()
def _open_main_page(browser): with functional.wait_for_page_update(browser): browser.find_link_by_href('/plinth/').first.click()
def _login(browser, username, password): functional.visit(browser, '/mediawiki/index.php?title=Special:Login') browser.find_by_id('wpName1').fill(username) browser.find_by_id('wpPassword1').fill(password) with functional.wait_for_page_update(browser): browser.find_by_id('wpLoginAttempt').click()