Commit Graph
206 Commits
Author SHA1 Message Date
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
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
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 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
Nicola Soranzo 03f5f5310e Fix typos 2018-03-21 02:35:29 +00:00
John Chilton 07088907d3 Better logging for a broad swath of workflow API tests.
I did a few of these test conversions with 0ff639a29c but this covers many more the workflow API tests. The idea is to switch to this with statement and context manager that does a better job managing test histories including summarizing the history when problems occur (this summary will include job information after #5697).
2018-03-14 12:38:39 -04:00
mvdbeek f1dd060d73 Test rename PJA when resuming a failed job 2018-03-13 12:38:41 +01:00
John Chilton 8e32e93d6d Implement more collection workflow post job actions.
Implement hide, delete, add tag, and remove tag for output collections and mapped over collections.

Fixes https://github.com/galaxyproject/galaxy/issues/1680.
2018-02-02 13:29:57 -05:00
John Chilton f6f9f9a891 Extend mapped collection output rename PJAs to include # replacements.
Also make sure output collections in non-mapping scenarios are also properly renamed as well.
2018-02-02 09:52:44 -05:00
John Chilton 2b8df110d0 Apply rename PJA to collection outputs including $ replacements.
Update PJA collection test to test HDCA is renamed also.
2018-02-02 09:52:44 -05:00
mvdbeek cad17b07c3 Revert "Revert extra assertions that are causing unrelated issues to surface."
This reverts commit 4925660ab4.
2018-01-30 19:04:10 +01:00
mvdbeek da3e48faa5 Mark rerun_with_use_cached_job as flakey
Sometimes it does not pick up the equivalent job that should exist. Will need
to dig into this, but in the meantime we can allow the test to fail.
2018-01-09 15:53:22 +01:00
mvdbeek 2f6cc22384 Copy element_identifier to resumed job
This fixes #5269.
2018-01-05 17:32:09 +02:00
mvdbeek 81c3b8cc4d Include more information in assertion 2017-12-31 18:06:49 +02:00
mvdbeek c327594ed7 Simplify use_cached_jobs workflow tests 2017-12-31 18:06:49 +02:00
mvdbeek 78c37d32d9 Assert that histories contains same dataset ids 2017-12-31 18:06:49 +02:00
mvdbeek 9d38219d65 Pass use_cached_jobs on to subworkflow invoker 2017-12-31 18:06:49 +02:00
mvdbeek 1c4476a6af Add a test for skipping jobs in workflow context
This is using the simplest of workflows. I had to
remove the chromInfo part from the workflow, because the
path referenced would be changed dynamically and so the
job search wouldn't recognize this as being equivalent.
2017-12-31 18:06:48 +02:00