Commit Graph
17 Commits
Author SHA1 Message Date
John Chilton ba04c4ab9a More collection-y state update tests. 2014-07-24 14:30:11 -05:00
John Chilton b6be01a5b5 Fix tool multi-run inside conditionals and repeats during state updates.
Fixes multirun inside of conditional, repeats if tool form state updated (e.g. because conditional param updated or repeat block added).

More tests - ugly tests - but tests.
2014-07-03 20:41:09 -05:00
John Chilton 704446ea24 Dataset collections - tools API returns implicitly created collections.
Use improvements to write better functional tests, ensure element identifiers preserved.
2014-05-06 08:54:31 -05:00
John Chilton cf206e1692 Dataset collections - implicit "map" creates collections.
When running normal tools with normal data inputs across dataset collections in parallel - a collection will be created for each output with a "structure" matching that of the input (for instance pairs will create pairs, lists will create lists with the same identifiers, etc...). A previous changeset added the ability to run the tool in parallel - this changeset extends that functionality to create analogous collections from these parallel runs.

For example, if one filters a pair of FASTQ files a pair is created out of the result. Likewise, if one filters a list of FASTQ files - a list collection with same cardinality is built from the results.

There is a lot left TODO here - for one a lot of this logic should be moved into the dataset_collection module. The matching needs to be exact right now - not a problem for pairs (every 'element' has name 'left' or 'right') but for lists with element names - these have to match exactly - but a 'list' like samp1_l, samp2_l, samp3_l should be able to match against samp1_r, samp2_r, samp3_r and create a new list samp1, samp2, and samp3. Even if there is no matching prefixes a new 'unlabeled' list should be able to be created.
2014-05-06 08:54:30 -05:00
John Chilton 8168334297 Dataset collections - "map" with existing tools (backend).
Allow replacing data parameter inputs with collections - this will cause the tool to produce multiple jobs for the submission - one for each combination of input parameters after being matched up (linked). In addition to various unit tests, functional tests demonstrate the API usage in `test/functional/api/test_tools.py`.
2014-05-06 08:54:30 -05:00
John Chilton ace6b8e11f Improvements to test_execution.py 2014-05-06 08:54:30 -05:00
John Chilton d63f9c9149 Allow running tools on multiple datasets simulatenously (backend+API).
Each data tool parameter can be specified via a similar named parameter but with the suffix |__multirun__. This second parameter variant should be a list of datasets - one job will be created for each such dataset. In addition to various unit tests, various functional tests demonstrates this functionality in `test/functional/api/test_tools.py`.
2014-05-06 08:54:30 -05:00
John Chilton 20f91ee61d Hack to fix test_executions for 0951e07.
This whole concept I had of using these models in unit tests without a database connection present probably needs to be done away with.
2014-02-10 21:34:42 -06:00
John Chilton 2268302db9 Create unit test for some simple DefaultToolAction functionality.
Want to refactor some stuff around in DefaultToolAction so can be reused when dealing with dataset collections downstream in https://github.com/jmchilton/galaxy-central/tree/collections_1 - so creating unit tests to ensure functionality is not changing.

This changeset also reworks test_execution.py moving more stuff to test/unit/tools_support.py to share between test files.
2014-01-23 22:11:07 -06:00
John Chilton 7ad8845bb0 Refactor logic related to creating tools for unit tests.
So it can be reused by tool actions unit test.
2014-01-23 22:11:06 -06:00
John Chilton 548e66cd3d Slight improvement to test_execution.py 2014-01-23 22:11:06 -06:00
John Chilton 7e44ec4bb5 Add tool execution tests for various exceptional conditions.
Tool action raising exception, redirecting, and returning an error message.
2014-01-16 09:30:01 -06:00
John Chilton cddd727c05 Refactor tool so incoming dict isn't passed to __handle_tool_execute.
Slightly confusing that state params and raw incoming passed to that method, so pull out rerun_remap_job_id sooner and just pass that along (it was the only incoming was used for). Use the oppertunity to isolate potential errors with decoding rerun_remap_job_id and include more informative error message.

Add unit test to test invalid rerun_remap_job_ids.
2014-01-14 14:43:39 -06:00
John Chilton baac81143e Add tool execution unit test for rerun_remapping. 2014-01-14 14:43:39 -06:00
John Chilton 7bb726c80b Add data parameter tests to tool execution unit tests. 2014-01-14 08:00:57 -06:00
John Chilton b3fa048d97 Add more state handling tests...
... to tool execution unit tests.
2014-01-13 15:14:33 -06:00
John Chilton fbcf068e81 Initial work on tool execution unit tests.
Going to be doing some more work on tool state stuff so it will be good to have a way to test that. This also brings in test/unit/tools_support.py from Pull Request #287 (would be overkill for just these tests, but it is useful for future tests coming down the pipe.)
2014-01-13 08:58:22 -06:00