Warning

This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy_test.selenium.test_data_source_tools

import pytest
from selenium.webdriver.common.by import By

from galaxy.util.unittest_utils import skip_if_site_down
from .framework import (
    managed_history,
    selenium_test,
    SeleniumTestCase,
    UsesHistoryItemAssertions,
)


[docs] class TestDataSource(SeleniumTestCase, UsesHistoryItemAssertions): ensure_registered = True framework_tool_and_types = True
[docs] @pytest.mark.skip("Skipping UCSC table direct1 data source test, chromedriver fails captcha") @selenium_test @managed_history @skip_if_site_down("https://genome.ucsc.edu/cgi-bin/hgTables") def test_ucsc_table_direct1_data_source(self): self.home() self.datasource_tool_open("ucsc_table_direct1") self.screenshot("ucsc_table_browser_first_page") # only 4mb instead of 10 times that for human by default self.select_by_value((By.CSS_SELECTOR, "#org"), "Tree shrew") checkbox = self.wait_for_selector("#checkboxGalaxy") assert checkbox.get_attribute("checked") == "true" submit_button = self.wait_for_selector("#hgta_doTopSubmit") submit_button.click() self.screenshot("ucsc_table_browser_second_page") self.wait_for_selector("#hgta_doGalaxyQuery").click() # make sure we're back at Galaxy before we use the current session cookie to monitor the new hda. # It doesn't seem to me this should be needed but we're getting occasional failures about inaccessible # history I cannot explain otherwise. -John self.wait_for_masthead() # Data source tools like UCSC can take longer to process external requests, # so we allow force refreshes to give the test more time to complete self.history_panel_wait_for_hid_ok(1, allowed_force_refreshes=2) # Make sure we're still logged in (xref https://github.com/galaxyproject/galaxy/issues/11374) self.components.masthead.logged_in_only.wait_for_visible()
[docs] @selenium_test @managed_history def test_tool_runner_redirects_to_spa(self): """Data source tools redirect back to the Galaxy SPA after handing off control to the controller. Regression test for https://github.com/galaxyproject/galaxy/issues/22671: the new tab opened by an external data source app used to hit `/tool_runner?tool_id=...` and then JS-redirect back to `/`. After the mako removal the new tab was stranded on a static "ok" page; the controller now sends a 302 to `/?notification=tool-submitted` and the SPA surfaces a toast. """ self.get("tool_runner?tool_id=test_data_source") # If the redirect is broken we land on a static page with no masthead. self.wait_for_masthead() # Confirm the SPA queued a toast from the notification query param. self.wait_for_selector_visible(".b-toast") self.screenshot("tool_runner_redirect_toast")