Commit Graph
205 Commits
Author SHA1 Message Date
John Chilton 11654a0950 Merge release_16.01 into dev. 2016-01-26 16:43:22 +00:00
Martin Cech 35f90da20c Merge pull request #1542 from jmchilton/did_fix
[16.01] Attempt to fix #1531.
2016-01-26 16:24:42 -05:00
John Chilton 807586ace8 Merge release_16.01 into dev. 2016-01-26 09:06:52 +00:00
John Chilton 151c90183b Merge remote-tracking branch 'jmchilton/release_16.01' into dev_merge_1 2016-01-20 15:14:33 +00:00
John Chilton 3f51101527 Attempt to fix #1531.
I was unable to reproduce #1531 in testing, but if the problem is something to do with stale state the following sledge hammer should fix it.

Runt the new test case with:

./run_tests.sh -api test/api/test_workflows.py:WorkflowsApiTestCase.test_delete_intermediate_datasets_pja_1
2016-01-20 12:46:05 +00:00
John Chilton eca2c3bcee Failing test case to exhibit #1514. 2016-01-19 13:50:53 +00:00
Nicola Soranzo 487ece0f40 Fix all E731 "errors". 2016-01-14 01:19:01 +00:00
John Chilton 66c94125ee Copy workflow objects when importing them.
If not anywhere workflow.stored_workflow is checked will be broken.
2016-01-11 16:12:57 +00:00
John Chilton dff94d743f "Fix" collection outputs to hide the HDAs in the history.
Long term this is just not a solution, but it is the strategy we use for mapped over output HDAs also.

Rebased and fixed based on comments from @nsoranzo indicating the previous attempt did absolutely nothing to fix the problem.

xref https://github.com/galaxyproject/tools-iuc/pull/412/files

Conflicts:
	lib/galaxy/tools/actions/__init__.py
2016-01-08 17:04:51 +00:00
John Chilton b9faf84b24 Stub an API test for tours so I can refactor a little. 2016-01-05 00:18:22 +00:00
John Chilton 61f4c82642 Add test case for importing a workflow with missing tool. 2016-01-04 09:55:44 +00:00
John Chilton 355bb281e2 Finish swapping unencoded ids with order_index in workflows API.
Running a workflow or showing a workflow can both restore the previous behavior by passing legacy=True as an API parameter. By changing these two endpoints in tandem I believe backward compatiblity for most existing code should be maintained unless:

 - The external application saved these workflow IDs previously and re-runs workflows without refetching the workflow definition. I could imagine Refinery for instance might do this and will have to update indexed workflows or add legacy=True to workflow requests.
 - The external application contacted the database directly after using this API endpoint to fetch more information about the step (seems unlikely).

See conversation:
 - http://dev.list.galaxyproject.org/workflow-API-step-order-vs-step-id-in-bioblend-td4668367.html

Rebased with changes suggested by @nsoranzo.
2015-12-20 14:39:20 +00:00
John Chilton 157939aa8f Implement nested workflows.
Details:

 - Add a new workflow module describing subworkflows.
 - Add workflow list to editor side panel - with options to link in a subworkflow module or copy the target workflow into the workflow being editted node for node.
 - Update workflow, workflow step, and workflow invocation models to track subworkflow connections and execution.
 - Extend workflow outputs with concepts of labels (and UUIDs while I'm there) to match workflow inputs. This allow us to have something to label outputs with in the workflow editor and to reference in the format 2 workflow description language.
 - Extend workflow editor UI to allow labeling workflow outputs (and enforce that these are unique across a workflow).
 - Extend workflow invocation and progress tracking to allow invoking a subworkflow as part of another workflow invocation.
 - Extend workflow import and export code to allow a nested representation of workflows.
 - Update format 2 workflow description to allow testing nested workflows.

Most relevant new and modified test cases can be run using the following commands:

```
./run_tests.sh -api test/api/test_workflows.py:WorkflowsApiTestCase.test_run_subworkflow_simple
./run_tests.sh -api test/api/test_workflows_from_yaml.py:WorkflowsFromYamlApiTestCase.test_subworkflow_simple
./run_tests.sh -api test/api/test_workflows_from_yaml.py:WorkflowsFromYamlApiTestCase.test_outputs
nosetests test/unit/test_galaxy_mapping.py
nosetests test/unit/workflows/test_workflow_progress.py
```
2015-12-16 15:22:18 +00:00
John Chilton 45962f3234 Input parameter workflow module (experimental).
- Implement a input parameter module that mirrors data and collection input modules but has a type that can currently be one of text, integer, float, color, and boolean.
 - Allow connections between these and tool step inputs.
 - Extend model to support this.
 - Add new input types for format 2 workflow definitions for various types that all map to this kind of step. Typed inputs such as this match well with CWL workflow inputs.

Someday I imagine these will be superior to just marking a tool input "Specify at Runtime" for all the same reasons input steps are superior to leaving inputs unattached.
2015-12-16 15:22:18 +00:00
John Chilton 886f6d2d70 Improved validation of tools during workflow execution.
Do a more complete validation of everything after workflow parameters have been replaced and inputs connected up.

Attempt 2 at the idea in https://github.com/galaxyproject/galaxy/pull/1284.
2015-12-14 15:29:35 +00:00
Nicola Soranzo bce8140bd9 Merge pull request #1285 from jmchilton/test_improvemnts_1
Small API Test Improvements
2015-12-10 19:43:14 +00:00
John Chilton 09a68adb1e Add another API test verifying validation of workflow substitions.
A little different because it targets a different tool, validation, and is inside a repeat.
2015-12-10 00:06:54 +00:00
John Chilton 133e5f2e24 Various small API testing fixes/improvements. 2015-12-10 00:06:53 +00:00
John Chilton 2aa7f04364 Replace __rip_value with dict.pop.
Thanks @bgruening.
2015-12-06 09:50:55 +00:00
John Chilton b11002bef3 Don't iterate over unused key.
Thanks to @bgruening.
2015-12-06 09:50:55 +00:00
Björn Grüning df64706544 Merge pull request #1237 from jmchilton/test_jobs_fix
Fix missing assertion pointed out @nsoranzo.
2015-12-06 00:57:11 +01:00
Björn Grüning 6126bd0e93 Merge pull request #1214 from jmchilton/format_2_1
Small enhancements in workflow inputs and outputs
2015-12-05 21:37:50 +01:00
John Chilton c91a2eb339 Multi data parameter improvements.
Allow multiple collections to be fed to a multi data parameter in one reduction step. Fixes #750 and will really simplify certain classes of tools.

Rebased original with fixes for rerun of such reductions.

Manually tested workflow execution and everything seems fine. The workflow editor already thought this was possible, so that is another bug corrected by this enhancement.

To run the associated API test, execute the following command:

./run_tests.sh -with_framework_test_tools -api test/api/test_tools.py:ToolsTestCase.test_reduce_multiple_lists_on_multi_data

Conflicts:
	static/maps/mvc/dataset/dataset-choice.js.map
	static/maps/mvc/form/form-select-content.js.map
	static/scripts/mvc/form/form-select-content.js
2015-12-04 20:41:21 +00:00
John Chilton 40e6932a25 Fix workflow API tests for workflow output changes. 2015-12-04 20:37:37 +00:00
John Chilton a597e0e834 Implement workflow outputs for format 2 workflow definitions.
Copy CWL style of specifying a outputs specification block at the top-level of the workflow specification and within that use the "source" attribute to specify the output. Reuse the specification used by "$link"s to describe this output - namely <label_or_order_index>[#<output_name=output>].
2015-12-04 20:34:57 +00:00
John Chilton 1bd0a4e970 Refactoring and more testing of format 2 workflow implementation code...
... toward more reusable design.
2015-12-04 20:34:57 +00:00
John Chilton 70a9f21393 Update workflow format 2 code with infrastructure for nesting runnables.
In downstream work this is used for subworkflows and nested tools. Not sure which of these would potentially hit main line Galaxy first so setting this all up in its own commit.
2015-12-04 20:34:57 +00:00
John Chilton b0b26e6901 Allow specifying Format 2 workflow by path.
This will allow importing workflow relative resources in subsequent passes at this.
2015-12-04 20:34:56 +00:00
John Chilton 4a279ffb64 Allow inputs section for Format 2 workflow definitions.
Arguably a more natural way to define inputs, regardless it allows more CWL-like input definitions for workflows.
2015-12-04 20:34:56 +00:00
John Chilton df781dcc18 Fix missing assertion pointed out @nsoranzo.
Lots of other tests would fail if simple uploads aren't working, but it is better to be direct and very explicit about why this particular test is failing.
2015-12-04 12:42:49 +00:00
John Chilton 1adff983f2 Wait on jobs and history in certain API test cases.
This strategy proved to work around certain race conditions in tool testing so hopefully it will solve the transiently failing job searching and filtering test cases.
2015-12-03 16:33:45 +00:00
John Chilton dd5f3aec52 Fix workflow extraction test cases broken with 77ed5681f8 2015-12-03 09:55:45 +00:00
John Chilton 77ed5681f8 Extend base api workflow _run_jobs helper...
... to allow loading content from test-data files.
2015-12-01 20:17:10 +00:00
Martin Cech ab0829f2e8 Merge pull request #1096 from jmchilton/format_2
Outline "Format 2" workflow definitions.
2015-11-20 22:05:42 -05:00
John Chilton b4c77b7617 Introduce "Format 2" workflow definitions.
This is a slight tightening up of the ad-hoc, experimental workflow YAML definition used by the test framework (and by Kyle, but lets just admit Kyle is part of Galaxy's test framework).

This format is still defined entirely client side by transcoding the YAML or python object description into real (or format 1) Galaxy workflows - so these cannot realisticaly be declared part of Galaxy's public interface and can remain experimental and subject to change.

In addition to refactoring the code implementing these workflows for upstream modifications to explore new features, the format itself has been made slightly more stringent in two ways:

 - 'steps' must now be explicit (previously converted auto-convert list to dict).
 - Ensure the workflow declared a 'class' is defined and the class is 'GalaxyWorkflow'.

This will help with discovery of workflow objects with downstream tooling (planemo for workflows?) and brings the Galaxy definition slightly more inline with the CWL definition for workflows (very slightly).
2015-11-18 10:50:43 +00:00
Dannon Baker 3d933edd32 Merge pull request #1074 from martenson/lib-api-tests
[WIP] add more data libraries API tests
2015-11-17 20:59:29 -05:00
Nate Coraor d8152f3336 Merge branch 'release_15.10' into dev 2015-11-17 11:37:05 -05:00
Martin Cech 43dc7a52e5 add more API tests for data libraries 2015-11-12 12:34:57 -05:00
John Chilton 177f73fcdb Fix lower timeout caught by @nsoranzo. 2015-11-11 14:43:51 +00:00
John Chilton e4c9f06d3b Attempt to fix timing out tests.
Continuation of work started by @nsoranzo here 92a152d89c. In addition to increasing the max timeout it will now print the timeout in the assertion error so we can see if it is being overridden and attempt to adjust timeouts too small.
2015-11-11 11:37:21 +00:00
guerler b2723e7467 Disable invalid test case. Add validation criteria.
Fix comments

Fix comment
2015-11-10 15:36:55 -05:00
John Chilton 5c7dd75fd0 Refactor test dataset populator for reuse on jobs without outputs. 2015-11-02 07:32:17 +00:00
Martin Cech b6f3783acd remove test_map_over_two_collections_legacy as it is obsolete 2015-10-15 11:29:06 -04:00
guerler 8cb894b34a Fix data library test case
Fix library data test case
2015-10-12 17:07:14 -04:00
Martin Cech 2b966ca4fa Merge pull request #859 from jmchilton/test_fix_2
Attempt to fix more transiently failing API tests.
2015-10-06 15:16:41 -04:00
Dannon Baker a2a4ce43ec Merge pull request #743 from jmchilton/cross_product_collection_mapping
Extend tool API to allow cross product mapping over collections.
2015-10-06 13:40:49 -04:00
John Chilton e9d77ac763 Attempt to fix transiently failing API tests.
- Fix default timeout of wait_on_state api helper. Had the wrong default specified and might fix this failure: https://jenkins.galaxyproject.org/job/docker-api/229/testReport/junit/api.test_libraries/LibrariesApiTestCase/test_create_dataset/
 - Modify job search test case to allow a little more time between the history being "ok" and the job, in case there is a timing condition if the HDA is committed first and then job. Also improve the test output in case this isn't the problem.
2015-10-06 14:44:50 +01:00
John Chilton 5ff102507b Add regression test for issue in #798. 2015-09-25 14:29:05 +01:00
John Chilton fa0c3a4bbc Implement failing workflow test case.
For galaxyproject/galaxy#776.
2015-09-24 15:40:52 +01:00
John Chilton 684be5f6a5 Functional test to verify RData is not decompressed in upload process. 2015-09-23 13:56:14 +01:00