Commit Graph
2859 Commits
Author SHA1 Message Date
John Chilton 9d3ed321be Selenium - fix transient history in test_saved_histories related to fetching history names.
xref https://jenkins.galaxyproject.org/job/selenium/588/artifact/588-test-errors/test_delete_and_undelete_history2017092415231506281014/stacktrace.txt
2017-09-24 17:00:59 -04:00
John Chilton 97cf3b94d1 Selenium - fix transiently failing test caused by not waiting on anonymous history loading.
After logging out - may need to a wait a second to give the UI and backend a chance to create a new history for the now anoymous user. Pause and let that happen.

xref https://jenkins.galaxyproject.org/job/selenium/585/artifact/585-test-errors/test_clean_anon_history_after_logout2017092412041506269041/
2017-09-24 17:00:53 -04:00
John Chilton c90a84e1c2 Selenium - fix transient error in history switching test.
History sometimes takes longer than that second to switch in the GUI, so start a retry cycle on that assertion after a half a second.

xref https://jenkins.galaxyproject.org/job/selenium/586/artifact/586-test-errors/test_history_switch2017092413201506273602/stacktrace.txt
2017-09-24 17:00:43 -04:00
John Chilton 6168e243b2 Selenium - fix rerunning test errors for test_custom_builds.
Fixed similar problem for saved histories tests with 341667437a. Should fix this problem https://jenkins.galaxyproject.org/job/selenium/568/artifact/568-test-errors/test_build_delete2017092319091506208182/stacktrace.txt.
2017-09-24 17:00:43 -04:00
John Chilton 4a4d0498d6 Selenium - better fix for upload build click before callback registered.
Should fix this transient failure.

https://jenkins.galaxyproject.org/job/selenium/568/artifact/568-test-errors/test_upload_paired_list2017092319301506209412/stacktrace.txt
2017-09-24 17:00:43 -04:00
John Chilton 76fe60180a Selenium - fix bug where snapshots might be used in tests before it is setup. 2017-09-24 17:00:38 -04:00
John Chilton aa825d22aa Selenium - fix transient issue with saved histories test. 2017-09-24 16:59:19 -04:00
John Chilton 0b1dd637a9 Selenium - bug fix for history test options.
Wait on something useful instead of picking an arbitrary sleep time and praying.
2017-09-24 16:59:18 -04:00
Martin Cech 3014b1068b remove unused import 2017-09-22 14:44:59 -04:00
John Chilton 341667437a Fix selenium test retrying of tests in test_saved_histories.
The automatic retrying of tests only runs for methods - not for the full test case (if that makes sense) - so setUp() isn't rerun. By refactoring the login action out of the setUp method and into the test function for these cases - when the test is retried the user should be logged back in again as well.
2017-09-22 09:24:32 -04:00
John Chilton cf037fcc0c Selenium - more robust modal checking in test_workflow_editor.
During this transient failure:

https://jenkins.galaxyproject.org/job/selenium/519/artifact/519-test-errors/test_missing_tools2017092118271506032874/stacktrace.txt

the workflow was still loading when an assertion about the resulting modal text was issued. Avoiding the arbitrary sleep and instead just retrying the assertion until it holds true or times out is more robust and should prevent that.
2017-09-22 09:10:08 -04:00
John Chilton 17348a62fe Selenium - more robust inline searching for published histories grid.
Refactor recent search improvement for workflow management into a method that can be shared with published histories grid. Should address the transient failure test here:

https://jenkins.galaxyproject.org/job/selenium/521/artifact/521-test-errors/test_history_grid_search_standard2017092120151506039303/stacktrace.txt
2017-09-22 08:57:20 -04:00
John Chilton 77b61ba82d Selenium - attempted fix for transiently failing history options test.
Comments inline about this - but the target failure I'm hoping this fixes is:

https://jenkins.galaxyproject.org/job/selenium/528/artifact/528-test-errors/test_options2017092203081506064101/stacktrace.txt
2017-09-22 08:57:18 -04:00
John Chilton 3ffdfc67e7 Selenium - catch popups fading out as transitions to retry various actions on.
Previously we only detected transitions for retrying actions based on stale element exceptions, this expands that to include popups that may be fading out for instance.

I think this is what is happening with the transiently failing test here https://jenkins.galaxyproject.org/job/selenium/528/artifact/528-test-errors/test_save_as2017092203291506065342/stacktrace.txt. The exception indicates that a click was not clickable because a modal element that was fading out - though it had been previously clickable. I think this should fix that.
2017-09-22 08:57:14 -04:00
John Chilton 9e6e340adc Selenium - handle potentially stale search box on workflow index page.
https://jenkins.galaxyproject.org/job/selenium/530/artifact/530-test-errors/test_index_search2017092205301506072611/stacktrace.txt
2017-09-22 08:56:36 -04:00
John Chilton 31e2721aab Selenium - handle potentially stale elements when fetching tags.
https://jenkins.galaxyproject.org/job/selenium/529/artifact/529-test-errors/test_tagging2017092204301506069010/stacktrace.txt
2017-09-22 08:56:33 -04:00
John Chilton 4ee18019e0 Fix Selenium tests outright broken in #4669.
Way to go @jmchilton.
2017-09-21 15:55:35 -04:00
Nate Coraor 41b13f6d85 Merge branch 'release_17.09' into dev 2017-09-21 15:27:30 -04:00
Nate Coraor 4dbadc26e4 Merge branch 'release_17.05' into release_17.09 2017-09-21 15:27:05 -04:00
Martin Cech 00677fc0f6 Merge pull request #4653 from jmchilton/selenium_fixes_28
Improve robustness of published workflow display test case.
2017-09-21 12:55:41 -04:00
Martin Cech 35cd933945 Merge pull request #4655 from jmchilton/selenium_fixes_29
Aggressively retry buggy submit_login() function in Selenium tests.
2017-09-21 12:55:20 -04:00
John Chilton a45e7e196b Fix transiently failing saved histories due to success message disappearing. 2017-09-21 11:13:03 -04:00
Martin Cech 98f2c10823 Merge pull request #4660 from jmchilton/selenium_fixes_30
Selenium fixes for publishing histories button.
2017-09-21 10:30:42 -04:00
John Chilton 87d5d44023 Merge pull request #4635 from mvdbeek/reload_on_macro_changes
Reload tools if a macro changes
2017-09-21 10:19:42 -04:00
John Chilton e057d7d887 Merge pull request #4620 from guerler/reduce_viz_framework
Remove unused abstraction layers from Visualizations Registry
2017-09-21 10:13:52 -04:00
John Chilton d3d134030a Rework #4635 to preserve backward compatibility on modules shared via galaxy-lib.
Also cleanup comments and such in xml_macros to reflect this doesn't apply just to tools.
2017-09-21 10:09:19 -04:00
mvdbeek cf9e191e27 Move wait for dataset_collection to populators.py 2017-09-20 21:42:04 +02:00
John Chilton 095307b678 Selenium fixes for publishing histories button.
Fixes https://jenkins.galaxyproject.org/job/selenium/488/testReport/junit/selenium_tests.test_published_histories_grid/HistoryGridTestCase/test_history_grid_histories/.

It looks like a Toastr popup sometimes intercepts the click, this should solve that I believe.
2017-09-20 13:35:02 -04:00
John Chilton 01eb5f04e6 Aggressively retry buggy submit_login() function in Selenium tests.
I don't get why when we click submit the user does not actually get logged in, but based on the last round of improved error messages this seems to be the case. You might think there is some callback in the login form that doesn't get registered by the time Selenium clicks the submit button - but this doesn't seem to be the case - I don't see any jquery magic happening in login.mako.

Should fix failures like this:

https://jenkins.galaxyproject.org/job/selenium/482/testReport/junit/selenium_tests.test_saved_histories/SavedHistoriesTestCase/test_history_publish/

I'd say at this point this is the most common problem in the Selenium tests.

This also introduces a framework for taking state snapshots of the Galaxy interface during tests that will only get written out if the tests fail. We now take screenshots before and after submitting the login form but this is a general purpose debugging mechanism that could be used other places.
2017-09-20 10:28:41 -04:00
John Chilton aa68d38735 Improve robustness of published workflow display test case.
Failed twice in different ways here https://jenkins.galaxyproject.org/job/selenium/484/ - this should address both cases.
2017-09-20 08:29:25 -04:00
mvdbeek b7b3ffb181 Fix unit test failure 2017-09-19 20:39:35 +02:00
John Chilton 87bb576c39 Improved state handling for @anatskiy-style Selenium tests.
These tests aren't idealized unittest.TestCase because they initialize class level data in instance level methods. While this isn't ideal, it is seems an entirely fair workaround given that SeleniumTestCase setups up the Selenium connection itself in an instance method - so class-level initializers would not be able to setup Galaxy data. Since I think we will continue using this pattern then, probably best to formalize it a bit and improve error handling.

This provides a formal super class for these test cases that provides a uniform method for setting up the class level data and tracks whether this is successful or not. This serves a couple purposes beyond simple uniformity. First, it tracks if the state has actually been setup or not and will skip subsequent tests if it hasn't. Some of these tests aren't passing very consistently on Jenkins and so we get a bunch of extra noise for tests that are attempting to run without their preconditions met - this will fix that and make the original errors much more clear. Moving the "hacky" part of this into the framework itself also means the tests themselves don't have to repeat hacks like seeing if variables are set with ``getattr`` and such - I always prefer one framework hack to a dozen application hacks.
2017-09-19 10:33:26 -04:00
John Chilton 844f083c7b Merge pull request #4641 from anatskiy/custom_builds_tests
Custom Builds tests
2017-09-19 09:53:07 -04:00
John Chilton a17ae7b90c Merge pull request #4617 from mvdbeek/data_manager_watch_new_tables
Allow adding new data tables without restart
2017-09-19 09:09:38 -04:00
mvdbeek ac10e0d224 Reload tools if a macro changes
We do this by recording any macros that are required to load a tool.  When
loading a tool we register the macro to be watched, and if the macro changes we
reload all corresponding tools.
2017-09-19 12:16:05 +02:00
Evgeny Anatskiy e01b57da58 small improvement 2017-09-18 22:28:04 +02:00
Evgeny Anatskiy db67d254ed don't test the uploading of fasta files 2017-09-18 21:17:00 +02:00
mvdbeek 642aaa811b Do cleanup if skip_cleanup is not set 2017-09-16 17:31:01 +02:00
mvdbeek 706434da41 Append temp dirs to test_driver list of temp dirs
Thanks for the hint @jmchilton.
2017-09-16 17:31:01 +02:00
mvdbeek 9d3af63660 Skip DataManagerIntegrationTestCase when watchdog unavailable 2017-09-16 10:06:15 +02:00
guerler 9a3a9f6ae2 Remove test cases for unused plugin base classes 2017-09-15 13:20:30 -04:00
mvdbeek 2e6654b18b Linting fixes 2017-09-15 13:19:06 +02:00
mvdbeek d06fb09f4b Make DynamicOptions use updated tool_data_tables
Otherwise a restart would be necessary after adding items to a data
table.
2017-09-15 13:19:06 +02:00
mvdbeek 3f38e81cb7 Update tables to watch when installing new data manager 2017-09-14 21:34:32 +02:00
Evgeny Anatskiy 2c128b097a add custom builds tests 2017-09-14 18:30:41 +02:00
Dannon Baker 9468bef057 Merge pull request #4592 from jmchilton/workflow_click_fix
Small improvements to workflow editor Selenium tests.
2017-09-12 12:17:13 -04:00
John Chilton 7efe561867 Rework invocation state tracking in API tests.
At the insistence of @nsoranzo, be more explicit about waiting for workflow test in API tests. While I was in there I also setup new abstractions for waiting on state and updated various workflow cancelling tests to use test_history context for better error reporting.
2017-09-11 16:08:29 -04:00
John Chilton 5da62ca264 Cancel workflow invocations when histories are deleted.
With test case, rebased with spelling fixes thanks to @nsoranzo.

xref #3555 (third point)
2017-09-11 16:07:37 -04:00
John Chilton 79a37830bb Small improvements to workflow editor Selenium tests.
I saw a failed test earlier that would have been fixed by a switch to wait_for_and_click in workflow_editor_click_options. This makes that switch and moves some of these workflow editor helper functions into navigates_galaxy.py for reuse by other test cases and by library users.
2017-09-11 11:30:36 -04:00
Dannon Baker a190903bd0 Merge pull request #4588 from jmchilton/selenium_fixes_25
Make history sharing Selenium tests more robust and informative.
2017-09-11 11:21:14 -04:00