665 Commits
Author SHA1 Message Date
John Chilton 8f979b4da1 Workflow replacement parameters polish.
- Selenium test case demonstrating their use in simple workflows.
- API test demonstrating they work with nested workflows from the run perspective.
- Update run variant of workflow to_dict to parse out replacement parameters to display on the backend and tweak the client to just accept these.
- Parse out replacement parameters for subworkflows recursively, include in new run output attribute - nested workflow replacement parameters work now.
- Selenium test case demosntrating subworkflow replacement parameters are rendered and used when submitted.
2018-09-07 11:22:20 -04:00
John Chilton fc75d4f9fb Test case - verify step parameters replace after workflow invoke pauses. 2018-09-06 14:43:22 -04:00
John Chilton 7806a84d1c Implement runtime parameters in nested workflows. 2018-09-06 14:43:22 -04:00
John Chilton 6a266a19a9 More tests for runtime workflow parameters. 2018-09-06 09:02:55 -04:00
Nicola Soranzo ad02c53154 Fix many links 2018-09-03 14:34:13 +01:00
Marius van den Beek 0e69ca8bfb Merge pull request #6545 from jmchilton/rule_builder_use_group_tags
Allow Consuming Tags in the Apply Rules Tool
2018-08-26 11:17:14 +02:00
Marius van den Beek 2560919bd0 Merge pull request #6620 from jmchilton/job_recovery_test
Integration test for job recovery.
2018-08-25 16:51:16 +02:00
mvdbeek f6a55ee2ee Tweak conda_* setting in test driver
Thanks @nsoranzo!
2018-08-23 20:45:24 +02:00
Dannon 43dbfdc7b1 Merge pull request #6632 from mvdbeek/testing_framework_improvements
Testing framework improvements
2018-08-23 14:24:43 -04:00
mvdbeek 23cfb46001 Allow setting CONDA_PREFIX using GALAXY_TEST_CONDA_PREFIX in testing 2018-08-23 14:57:31 +02:00
Helena Rasche 53b8f08752 Merge pull request #6568 from jmchilton/dataset-permissions-api-2
Unified dataset permission API.
2018-08-22 15:04:28 +00:00
John Chilton 626195335e Integration test for job recovery (before and after handler has picked it up). 2018-08-21 15:17:12 -04:00
Nicola Soranzo df8abbe3ef Prefer unicodify() for binary-to-text conversion
which supports non-utf-8 encodings.
2018-08-21 12:35:05 +01:00
mvdbeek 7559b90a69 Setup a simple pytest tool test 2018-08-16 14:08:45 +02:00
mvdbeek c430d4a650 Fix selenium test setup 2018-08-16 11:16:57 +02:00
mvdbeek dd7e4c601a Deal with docker localhost quirks 2018-08-14 14:56:07 +02:00
mvdbeek 293ce5a472 py3: Fix mules test cases
We're now just copying the current python path. Also the handler names
have actually changed, I think this hasn't been updated after a late
change (it is now as it should be, based on the documentation).
2018-08-14 14:56:07 +02:00
John Chilton 49693814a9 Unified dataset permission API.
There was an existing library dataset permission API and one proposed for HDAs in #6461. This tries to reconcile the two approaches and move toward managers.

- Proper treatment of "master_api_key" throughout the manager layers related to this.
- Use PUT instead of POST, since that is more appropriate for updates I believe.
- Use a similar URL pattern for library datasets, history contents, and dataset APIs.
- Generalize the dataset API to allow HDA or LDDA inputs (the proposal for the new API in #6461 added an HDA-only option to the dataset API - this isn't how that API layer is meant to be used I believe).
- Add an HDA only endpoint in the history contents API for this functionality to mirror the library dataset API.
- Use consistent and backward compatible payload parsing for these endpoints.
- Use consistent serialization for the result of these changes.
- Generalize the HDA variant of this to allow different actions - such as make public and make private that were available in the library dataset variant.
- Test cases for the new API endpoints, the roles API, tests for permissions during collection creation and running tools with both dataset and collection inputs.
2018-08-10 19:42:31 -04:00
mvdbeek 3d9c0b154a Make random_lines1 consistent on py2 and py3 (again)
Turns out integers are used as is in `random.seed()`, but strings are
hashed (in the version 1 protocol), and the hashing isn't stable. So
instead we hack around this by using `ord()` on each character and
concatenating the digits.  Yucky, but probably better than using numpy
and putting this tool on the list of tools that inherit galaxy's
environment (or adding a requirement tag and resolving with conda ...).
2018-08-10 22:21:21 +02:00
mvdbeek 61fa9711dc More resource_string fixes 2018-08-10 22:08:15 +02:00
mvdbeek a6b78e7a61 Decode bytestring returned by source_string 2018-08-10 22:08:15 +02:00
John Chilton 36e1d6cfce More use of test_history contextmanager in test_tools. 2018-08-09 11:37:18 -04:00
John Chilton 136255c0ad Allow test_history context to annotate whether new histories are needed by test.
Usually tests should have new histories but we should still capture this information so we can target tests are particular histories for debugging interactively and so we could potentially reduce the number of new histories created when testing remote Galaxies (there have been complaints about this in the past).
2018-08-09 11:37:18 -04:00
John Chilton 4d1ce0f431 Cancel jobs when exiting test_history decorator.
Should reduce the probability of a test interferring with other tests.
2018-08-09 11:37:18 -04:00
John Chilton c2246d8b8a Fix last consistently failing Selenium test. 2018-08-08 09:17:23 -04:00
Dannon Baker d1423b6e18 Merge branch 'release_18.05' into dev 2018-08-06 20:20:02 -04:00
Dannon Baker d7959568f8 Merge branch 'release_18.01' into release_18.05 2018-08-06 20:19:18 -04:00
mvdbeek ba47188f5e Introduce test for auto-labelling subworkflow workflow outputs 2018-08-06 15:55:27 +02:00
John Chilton 389a1d6563 Merge pull request #6561 from mvdbeek/start_py3_api_tests
Fix all py3 api tests
2018-08-02 09:41:19 -04:00
mvdbeek b7163c0597 Explicitly sort workflow step edges
This seems to be necessary so that the workflow_stability test passes
under python 2 and python3, but does change the result under python 2,
hence the updated workflows (produced by uploading and downloading the
workflow to an instance running with this commit).
2018-08-02 13:21:19 +02:00
mvdbeek 63da35889d py3: Fix exception handling in wait_on method 2018-08-02 13:21:19 +02:00
mvdbeek f3bc18c85a py3: Use reponse.text instead of reponse.content for decoded text 2018-08-02 13:21:19 +02:00
John Chilton 9552830121 More Selenium test fixes.
A lot broke while we weren't running the tests against PRs.
2018-08-01 12:13:27 -04:00
John Chilton fe5e1f1686 Integration test for the interaction of nested object stores and jobs.
- Test hierarchical store uses its first disk store for new files and not the remaining entries.
- Test basic functionality of writing to the distributed object store.
- Test all job outputs get placed in the same object store.
2018-07-27 09:16:05 -04:00
John Chilton 5807230253 Implement rule builder rule to quickly grab group tag value.
Should make it a lot easier to nested and filter on group tag values.
2018-07-27 08:05:05 -04:00
John Chilton 4d83746cc2 Allow loading tag metadata from existing objects in rule builder.
This should allow nesting and filtering from tags - including group tags.
2018-07-26 14:53:22 -04:00
John Chilton 42ddfbde4c Fill out, polish the rule spec a little more.
Drop use of startsWith in favor of indexOf for PhantomJS testing.
2018-07-26 14:30:19 -04:00
John Chilton 4d8b13d0e5 Handle pasted content in fetch API.
Unlike upload 1.0, use different 'src' types to distinguish between URLs and pasted content - in the abstract this is better because it is more structured and practically this allows 'pasting' spreadsheets that start with URLs for instance (that is sometimes useful).
2018-07-23 10:13:25 -04:00
Dannon Baker 5171b9bd49 A couple more typos. 2018-07-18 09:42:39 -04:00
John Chilton 8d5a4c3625 Transition API tests from upload datasets and assembling collecitons to uploading collections.
Should be a lot more efficient.
2018-06-21 08:12:30 -04:00
Martin Cech 5a27b0cf4d Merge pull request #6148 from jmchilton/cwl-small-stuff-2
Small fixes and small refactorings toward reuse in CWL branch (retry)
2018-06-12 15:35:47 -05:00
John Chilton 03a815a2c3 Some more upload/sniff tests. 2018-05-24 10:31:28 -04:00
John Chilton 95962d9e5a More correct file_data handling in populators.py.
Any of file_N|file_data fields can have attached data.
2018-05-15 22:00:57 -04:00
John Chilton 19d06cb971 Rules - test case and bug fixes for adding cols for regex groups. 2018-05-04 13:39:53 -04:00
John Chilton 8af243c176 Allow rule based operations on existing collections.
Allow the rules DSL & GUI component to operate on existing collections to allow filtering, sorting, modifying identifiers and general re-organization of existing collections (e.g. the outputs of tools). Implementing this as a collection operation tool so that it should be executable interactively in the tool form and in a batch fashion as part of workflow executions.

For this to be tracked properly as a tool execution and to work properly in the tool form, I've implemented a new tool framework and tool form parameter type called "rules".

This can thought of as a more GUI friendly alternative to my proposed collection operations that consumed JavaScript expressions.

This includes API tests for both tool and workflow execution of the new tool as well as Selenium tests for tool form execution, workflow editor interactions, and workflow running.
2018-04-24 11:10:43 -04:00
Dannon 60b5a9a52a Merge pull request #5886 from jmchilton/selenium_workflow_run
More, better workflow run Selenium tests.
2018-04-17 23:03:01 -04:00
John Chilton aafd9de76b Add more complicated workflow run test case.
Re-use test_data specification used by many of the API workflow tests and a workflow used by another test. Add abstractions and DOM element for mapping labeled test data to tool form inputs.
2018-04-13 13:23:22 -04:00
John Chilton 8f529d177a Improve a few workflow run API test cases.
Use the more abstract test_data specification that will translate to GUI testing.
2018-04-13 13:21:57 -04:00
John Chilton 0ab89c9c7c Implement specification for rules DSL, useful for testing both Python and JS. 2018-04-13 12:21:27 -04:00
John Chilton 2cc650078d More, better workflow editor Selenium tests - part 2.
- More stuff tested:
  - Connecting and disconnecting simple terminals as well as mapping terminals (ribbons).
  - Rendering simple workflows, workflow with output collections, workflow with mapping, and workflow with a subworkflow.
  - Collapsing side panels in the workflow editor.
- Small tweaks to editor DOM.
- More screenshots.
2018-04-12 21:25:41 -04:00