Commit Graph
72 Commits
Author SHA1 Message Date
John Chilton 40497f4940 Tool test case demonstrating wrapping multiple data params in new meta-parameter wrapper.
./run_tests.sh -with_framework_test_tools -api test/api/test_tools.py:ToolsTestCase.test_multidata_param

It was what was requested, but I am not sure I love this behavior - seems like for consistency that should maybe be a list of lists? I can see the other side of the argument though.
2014-09-26 09:29:53 -04:00
John Chilton adb5d76da5 Tool API test submitting multiple select checkboxes as a list of values.
Run with:

./run_tests.sh -with_framework_test_tools -api test/api/test_tools.py:ToolsTestCase.test_multi_select_as_list
2014-09-24 20:08:03 -04:00
John Chilton e358f31771 Merged in jmchilton/galaxy-central-fork-1 (pull request #496)
More consistent tool API for map/reduce operations.
2014-09-22 10:24:39 -04:00
John Chilton 96380096df More complete testing of workflow import and export.
Test some new aspects of step description inputs.
2014-09-18 09:50:52 -04:00
John Chilton 4132fc8598 Fix library API test for format field redefinition in 9d152ed. 2014-09-16 14:48:39 -04:00
John Chilton 55c1ac6d53 Update workflow API tests for inability to decode ids being a 400 instead of 404.
Sort of torn on what this should actually be I guess.
2014-09-16 14:48:39 -04:00
John Chilton 43cf042162 Remove newly redundant (and broken) test case.
That case was testing rename post job actions without replacements - last week I added a more expansive one with replacements (test_run_with_pja).
2014-09-16 14:48:39 -04:00
John Chilton 7988d3c736 Update map/reduce workflow tests for newer API constructs.
Old ones still work - but I wanted to verify the new changes didn't cause any unintended consequences with workflows.
2014-09-16 11:57:48 -04:00
John Chilton 80993e03b1 PEP-8 fix. 2014-09-16 11:57:48 -04:00
John Chilton b1a8d0dd16 Add tools test for data_collection input parameter specification. 2014-09-16 11:57:48 -04:00
John Chilton a1b72d5bf0 Redo API for subcollection mapping steps in tools.
Like the reductions - was previously constrained by sequeezing these values into simple strings - now the tool form will target the API I think this expanded version is a little more straight-forward (though verbose). Adds consistency with rest of the tool form API changes.
2014-09-16 11:57:48 -04:00
John Chilton 864ab4b70c Simplified dataset collection reductions via API.
Old tool form needed to encode every value as a string so I had done "__collection_reduction__|<hdca_id>" to distinguish that value from an "<hda_id>" - since hdca and hdas can have the same encoded ids. The new tool form API is going to use the API which allows for richer object representations - so {"src": "hda", "id": "<hda_id>"} versus {"src": "hdca", "id": "<hdca_id>"} should be enough to distinguish between passing an HDA and an HDCA to a multiple input data parameter.
2014-09-16 11:57:48 -04:00
John Chilton 2ff5b08411 Allow mixing batch multi-running of collections and individual datasets.
I wouldn't really recommend doing this per se - but probably don't want to prevent it either.
2014-09-16 11:57:48 -04:00
John Chilton 3c4e100b13 Overhaul multi-run and collection multi-run tool API jobs.
Adding consistency allowing each parameter to be wrapped in a object describing the meta-properties of the submitting value - this was requested by Sam to make the new tool form easier to manage, it makes multi-running properties work for non-data parameters, and allows linked/unlinked specification of parameters.
2014-09-16 11:57:48 -04:00
John Chilton f4ea8b0f56 Allow sending singleton lists of datasets to single dataset parameters via API tool submission.
Request from Sam.
2014-09-16 11:57:48 -04:00
John Chilton 7a64e09a54 Fix testing helper bug I introduced with recent workflow testing work. 2014-09-16 11:14:27 -04:00
John Chilton 4cbc33af09 API functional test for workflow 'replacement_params' and PJA renaming. 2014-09-10 11:51:10 -04:00
John Chilton 21f4d49a9e Synchronize validation of workflows between web and API controllers.
Reduces code duplication and does more correct checking of workflow step replacement parameters. More parameter checking functional tests.
2014-09-10 11:51:10 -04:00
John Chilton c5511cd747 Add very basic functional tests for tool param validation.
Including same test with workflow parameter substition - gotta admit I thought that workflow test was going to fail - so this week is looking pretty good :).
2014-09-08 10:33:54 -04:00
John Chilton 9f1ab0bc2b Refactoring out methods usable for downstream work on scheduling. 2014-09-05 18:55:21 -04:00
John Chilton ac2c46029a Update workflow invocation to_dict for recent collection workflow changes.
There may now be multiple WorkflowInvocationSteps for each WorkflowStep for steps that are mapped over collections - so to_dict creating a dictionary of this information indexed on order step is problematic because only one WorkflowInvocationStep will be represented per step. Instead now just returning a big list of all of the invocations - which contains all of the same information. This is a backward incompatible API change for the workflow invocation API.

Also update the input mapping stuff with logic for dealing with data collection inputs.
2014-09-05 18:55:21 -04:00
John Chilton 342b7b7117 Tighten permissions for workflow invocations.
Sharing a workflow with a user was previously sufficient to grant access to all invocations of that workflow. This isn't a huge problem since the information potentially leaking out was limitted to invocation counts, various encoded ids, and update times. Still I think no information about invocations should be avaialble as a result of sharing a workflow - and upcoming changes to Galaxy will result in much more information being made available via the workflow invocation API.
2014-09-05 18:55:21 -04:00
John Chilton e58d1d9c8a Remove abstraction around requests now that it is a required dependency. 2014-09-04 20:34:52 -04:00
John Chilton 7543a567f2 Add workflow test demonstrating failure when multiple lists with different identifiers are using in workflows. 2014-08-27 16:32:26 -04:00
John Chilton 9b4ca59ff2 Remove workflow test that accidently depended on tool not in -central.
Opps.
2014-08-27 16:32:26 -04:00
John Chilton 0b43aa3847 Improvements to API import/export test case.
Actually do some verification of imported history, eliminiate use of deprecated mixin, timeout operations that 'wait', break up big function and name test better.
2014-08-24 19:37:33 -04:00
John Chilton d189910ede Allow workflow uploads to specify publishable/importable.
Use new capabilities to improve workflow testing.
2014-08-08 09:16:55 -04:00
John Chilton 5d9f64358f Work toward making workflows API use newer standards.
Convert workflow API to use new-style API decorator throughout.

Improved workflow exception handling - now more explicit status code setting and returning of raw error strings in the API. Most obvious exceptional paths out of the API are now coming through MessageExceptions of things even more specific. Add API tests for many of these exceptional conditions.

Use more helper methods to reduce method length, duplication.
2014-08-08 09:16:55 -04:00
John Chilton 425789a800 More RESTful direct workflow creation from JSON.
Previous route was "POST /api/workflows/upload", this still works but should be condisdered deprecated in favor
of POSTing to /api/workflows with 'workflow' in the payload.
2014-08-08 09:16:55 -04:00
John Chilton 22819d88ce API tests for authenticate and some of users endpoints. 2014-08-04 21:45:02 -04:00
John Chilton c85d14f7a1 Cleanup test case in e7ba2469bca0cb7a1d5a8d754885537dc683d490. 2014-08-04 09:38:05 -04:00
John Chilton 7fdcf1b462 Test cases and test workflows to verify workflow import stability. 2014-08-04 09:33:40 -04:00
John Chilton 6b31f7ba5d Improved API collection workflow run testing.
Remove some duplication between workflow and tool testing code.
2014-07-29 11:55:46 -04:00
John Chilton 5979ac41c8 Allow using data collection steps via workflow API.
Implement API test for this and fixup test for previous commit related improved workflow run endpoint.
2014-07-28 19:18:40 -04:00
John Chilton 6c0432980b Easier to use input mapping when running workflows.
The old 'ds_map' parameter remains in place for backward compatibility and with the same behavior. A new parameter 'inputs' can now be specified instead however, and its keys corresponding to the steps 'order_index' instead of the raw unencoded database ids 'ds_map' uses. This variant has the nice property that this map can be constructed without prior knowledge of how Galaxy will assign ids during import - hence it is easier to use and more portable.

Additionally, 'inputs' is more flexiable and can revert to the old behavior by specifying a new parameter 'inputs_by' as 'step_id'. 'inputs_by' can also be 'name' - this is even more human friendly because it will assign the ids based on data input names (this is what I intend to use mostly, but I have not made it the default because not all workflows will have data inputs with distinct names).

Finally, the new name 'inputs' will be more appropriate once data collection inputs can be explicitly mapped via the API.
2014-07-28 19:18:39 -04:00
John Chilton 2b78724d9b Workflow test utility build ds_map more easily.
Probably should do something like this server side so workflow API can be used more deterministically (wouldn't need to import a workflow and then hit the API to know how to use it).
2014-07-25 14:47:34 -05:00
John Chilton 336aa4c31a Fix API tests for 879c485...
Which made tool multirun link/match instead cross producting (will someday figure a terminology for this :)).
2014-07-25 11:51:11 -05:00
John Chilton 659381bf80 Extend API test timeouts.
Some buildbot API tests are timing out waiting but work locally, I suspect this will fix the problem.
2014-07-25 11:51:10 -05:00
John Chilton 4a498fd8b4 Fix spelling error in API test. 2014-06-13 08:46:01 -05:00
John Chilton a726f11df7 More extract functional tests.
Add test for extracting copied, mapped datasets and copied input dataset collections from history.
2014-05-28 20:25:53 -05:00
John Chilton 605532e5ba Bugfix for a06c6c9.
With improved testing :).
2014-05-28 20:25:53 -05:00
John Chilton 2e667131a8 Collections: Add API ability to copy HDCA mirroring HDA operations. 2014-05-28 15:28:55 -05:00
John Chilton f06ce6a42f Workflow extraction test from copied datasets.
Detailed some bugs I found in the test case and recorded them here https://trello.com/c/mKzLbM2P.
2014-05-28 11:58:33 -05:00
John Chilton 86a3b94d58 Improvements to workflow extraction tests. 2014-05-28 11:58:33 -05:00
John Chilton fc8ee54ce2 Bugfix: Explicitly enforce implicit collection unique element identifier constraint.
Think this is responsible for bug when collections API does not create as many collections as requested.
2014-05-27 08:20:39 -05:00
John Chilton b0c250d791 Fix provenance controller for non-admins.
Cannot pass check_accessible=True to get_object with HistoryDatasetAssociations (because item.user is undefined.).
2014-05-21 14:33:24 -05:00
John Chilton 8e6bcf72c7 Merged in jmchilton/galaxy-central-fork-1 (pull request #387)
Recursive Tool Parameter Dictification
2014-05-15 13:43:43 -05:00
John Chilton d7b4b36756 Change paired collections terminology from left/right to forward/reverse.
If you have paired datasets in your database they will no longer work - send me an e-mail and I can give you an SQL update statement.
2014-05-15 13:01:36 -05:00
John Chilton 486dc41639 Bugfix for updating history dataset collection name.
Thanks to Bjoern for the bug report.

This attribute had been DatasetCollection in earlier versions of this code and the update code was only partially cut-over to use the new location for name (on HistoryDatasetCollectionAssociation).
2014-05-14 05:26:21 -05:00
John Chilton fcae5f51ff Add API functional test for workflow extraction of collection reductions. 2014-05-11 13:56:49 -05:00