Commit Graph
222 Commits
Author SHA1 Message Date
John Chilton 82a8eb05d6 Merge remote-tracking branch 'jmchilton/release_18.09' into dev_merge_1 2018-11-06 09:10:22 -05:00
mvdbeek 9b42032098 Fill in default state for test_optional_workflow_output 2018-11-05 13:09:31 +01:00
M Bernt 4e098c5d52 tests: add parameter to output_filter 2018-11-01 17:23:17 +01:00
John Chilton 06aea92eb8 cleaner test test_run_subworkflow_runtime_parameters 2018-11-01 10:37:51 -04:00
John Chilton d4b6bf28b5 Test for parameter replacement of GUI-style normalized parameters. 2018-11-01 10:37:49 -04:00
John Chilton cdd1520434 Rework most test workflows to label maps for step definitions 2018-10-12 13:41:13 -04:00
John Chilton 00625839b3 Allow downloading Galaxy workflows as format 2 workflows. 2018-10-12 13:41:06 -04:00
John Chilton a8843ece34 Allow CWL-style id map for workflow inputs 2018-10-09 08:18:29 -04:00
John Chilton 915c1a9b66 Remove unused variable in test_workflows. 2018-10-09 08:18:29 -04:00
John Chilton 8ba76c9704 Switch to CWL-style format 2 workflow output definitions. 2018-10-09 08:18:29 -04:00
John Chilton 1e2080242c Toward newer style gxformat2 definitions. 2018-10-09 08:18:29 -04:00
John Chilton c7fa2860d8 Toward new format2 syntaxes in test workflows. 2018-10-06 09:39:21 -04:00
John Chilton 319c29937e gxformat2 - allow CWL style 'in' declarations for step connections.
Makes gxformat2 look a lot closer to CWL workflows with Galaxy tools and state.
2018-10-06 09:39:21 -04:00
Marius van den Beek 10e984ce85 Merge pull request #6746 from jmchilton/workflow_state_touch_1
Fill in needed state defaults when importing manually crafted workflows.
2018-10-06 10:17:41 +02:00
John Chilton 50019e503a Refactor method for running format 2 workflows into populators.py for reuse. 2018-09-24 09:38:34 -04:00
John Chilton 7eac08979b Undo auto-propagation of group tags.
@mvdbeek and I discussed this in the Galaxy project gitter a few weeks ago and decided the propagation is too aggressive and should likely be done manually at the end of a workflow for now - using for instance the set tags collection operation tool.
2018-09-20 14:15:29 -04:00
mvdbeek 5635a05a2a Look up collection_type if collection_type_source is set
We do this in the wf-editor and in the backend, so this works for
subworkflows. This should make quite some tools more usable in a
workflow scenario. Should fix
- https://github.com/galaxyproject/galaxy/issues/6514
- https://github.com/galaxyproject/galaxy/issues/6012
- https://github.com/galaxyproject/galaxy/issues/6569
- https://github.com/galaxyproject/galaxy/issues/1889
and perhaps more issues related to this.
2018-09-19 09:48:25 -04:00
mvdbeek a44baa5642 Look up collection_type if collection_type_source is set
We do this in the wf-editor and in the backend, so this works for
subworkflows. This should make quite some tools more usable in a
workflow scenario. Should fix
- https://github.com/galaxyproject/galaxy/issues/6514
- https://github.com/galaxyproject/galaxy/issues/6012
- https://github.com/galaxyproject/galaxy/issues/6569
- https://github.com/galaxyproject/galaxy/issues/1889
and perhaps more issues related to this.
2018-09-18 17:11:40 +02:00
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
Marius van den Beek da18624067 Merge pull request #6664 from jmchilton/runtime_parameters
Implement runtime parameters for subworkflows.
2018-09-07 10:26:17 +02: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
mvdbeek 64652c28cf Drop wait from cached job tests 2018-09-05 12:16:08 +02:00
mvdbeek b13cce0a13 Revert "Adjust API tests to copying HDAs when creating collection"
This reverts commit f120390a63700ff0ec6c09185aad26b91ad8f842.
2018-08-26 22:13:50 +02:00
mvdbeek a9cb290754 Adjust API tests to copying HDAs when creating collection 2018-08-26 22:13:50 +02:00
John Chilton 3879a01949 Add API endpoint to index all invocations for a user or history.
Refactor toward managers to allow unified serialization of invocations and such. Add test case.
2018-08-24 10:00:47 -04:00
John Chilton 35ebdc5b10 Add a legacy_job_state mode to restore 17.09 workflow invocation behavior. 2018-08-22 10:45:07 -04:00
John Chilton 2d4b717aaf Test case to clarify workflow API a bit in simple cases. 2018-08-22 10:45:06 -04:00
mvdbeek 2d60d9af01 Wait for first workflow when testing cache
That should make the test less flakey. While in theory we should be able
to replace scheduled workflow jobs with cached jobs, this is not what
we're testing here, and I assume it doesn't work for now.
2018-08-20 11:29:02 +02: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
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 f56c0bbac2 Test case for nested collection input to flatten in a workflow.
Also exercises delayed workflow scheduling because of the dynamic discovery of the input collection.

xref #5867
2018-07-25 23:18:03 -04:00
Dannon e794443f48 Merge pull request #6294 from jmchilton/better_tool_tests
Upload collections directly for tests.
2018-07-18 09:43:08 -04:00
John Chilton 0280713c43 Auto-propagate group tags - the way name tags are propagated. 2018-07-12 10:45:58 -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
mvdbeek 647ba8531a Add test tool and workflow for mapping over with mapping output
This doesn't quite work because of the dynamic output collection,
which fails with:

```
galaxy.tools.parameters.output_collect DEBUG 2018-06-06 18:40:38,784 (3) Add dynamic collection datasets to history for output [reverse] (171.970 ms)
galaxy.tools.parameters.output_collect ERROR 2018-06-06 18:40:38,839 Problem gathering output collection.
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/parameters/output_collect.py", line 340, in collect_dynamic_outputs
    collection_builder.populate()
  File "/Users/mvandenb/src/galaxy/lib/galaxy/dataset_collections/builder.py", line 88, in populate
    elements = self.build_elements()
  File "/Users/mvandenb/src/galaxy/lib/galaxy/dataset_collections/builder.py", line 59, in build_elements
    new_elements[identifier] = element.build()
AttributeError: 'HistoryDatasetAssociation' object has no attribute 'build'
```

This seems to happen because the inner collection is wrongly detected as
nested. In general I doubt that mapping over colleciton output works
with dynamically discovered output collections.
2018-06-20 09:54:40 -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
mvdbeek fd16302d65 Add test tool and workflow for mapping over with mapping output
This doesn't quite work because of the dynamic output collection,
which fails with:

```
galaxy.tools.parameters.output_collect DEBUG 2018-06-06 18:40:38,784 (3) Add dynamic collection datasets to history for output [reverse] (171.970 ms)
galaxy.tools.parameters.output_collect ERROR 2018-06-06 18:40:38,839 Problem gathering output collection.
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/parameters/output_collect.py", line 340, in collect_dynamic_outputs
    collection_builder.populate()
  File "/Users/mvandenb/src/galaxy/lib/galaxy/dataset_collections/builder.py", line 88, in populate
    elements = self.build_elements()
  File "/Users/mvandenb/src/galaxy/lib/galaxy/dataset_collections/builder.py", line 59, in build_elements
    new_elements[identifier] = element.build()
AttributeError: 'HistoryDatasetAssociation' object has no attribute 'build'
```

This seems to happen because the inner collection is wrongly detected as
nested. In general I doubt that mapping over colleciton output works
with dynamically discovered output collections.
2018-06-11 12:20:25 +02:00
mvdbeek f8cc653b30 Pause job if input dataset state is paused 2018-05-31 16:18:39 +02:00
mvdbeek ed0b087926 Fail jobs with purged inputs
We can't resume these jobs anyway, so better to set them to failed.
Also resets the info field for datasets produced by resumed jobs.
2018-05-31 16:18:39 +02:00
mvdbeek 0e31f97269 Add a testcase for pausing jobs with deleted input
Fix test
2018-05-31 16:18:39 +02:00
Nicola Soranzo b114b1d6ba Merge branch 'release_18.01' into release_18.05 2018-05-16 11:27:16 +01:00
John Chilton b50ae94836 Move workflow api test helpers into base class for more reuse. 2018-05-15 22:01:16 -04:00
Nicola Soranzo efb0f02d34 Hide replacement datasets when rerunning a failed dataset in a mapped-over collection 2018-05-14 19:36:18 +01:00
Nicola Soranzo 85e5d7fcd3 Fix required tools to run workflow API tests 2018-05-14 19:28:57 +01: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
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