Commit Graph
1296 Commits
Author SHA1 Message Date
Dave Bouvier d345be4989 More flexibility for tool data table configuration in the install and test framework. 2014-10-09 14:17:33 -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 6ff787d769 More tool functional tests for validation stuff.
Test default sanitization in repeat. Basic test of simpler santizer and mapping.
2014-09-16 21:29:10 -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
Nate Coraor 2469b7513b Fix unit tests I broke. 2014-09-16 10:13:08 -04:00
Nate Coraor 8fadc6392b Rename universe_wsgi.ini -> galaxy.ini everywhere. 2014-09-15 16:43:51 -04:00
John Chilton 30e44896be Better OOP design for separation between input and input collection modules.
(Lot easier now that I understand what all of the module methods are doing and have an example of a 4th module downstream.) Now with even more unit tests.
2014-09-12 09:32:22 -04:00
John Chilton 5f6e5bd5e9 More workflow module documentation improvements.
I nearly understand workflow modules...
2014-09-12 09:32:22 -04:00
John Chilton f2735a693d Work on workflow module testing. 2014-09-11 16:01:08 -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
Dannon Baker 2b04823343 Merge json changes (and some cleanup) back with central. 2014-09-09 16:31:31 -04:00
Dannon Baker 2327f0d946 Final to_json_string/from_json_string elimination in tests. 2014-09-09 10:12:40 -04:00
Carl Eberhard 12c03b57f4 Fix to b0c8da2: fix collapse call to curr panel in options; Browser tests: fix history selectors, misc. fixes 2014-09-09 10:09:06 -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 abf4005749 Add another example tool - to illustrate three ways to collect files for concatenation. 2014-09-05 15:19:18 -04:00
John Chilton b21bb6f2ad More discovered dataset testing tweaks. 2014-09-05 15:19:18 -04:00
John Chilton e58d1d9c8a Remove abstraction around requests now that it is a required dependency. 2014-09-04 20:34:52 -04:00
Carl Eberhard 2f003dc27f merge central 2014-09-03 15:19:09 -04:00
Carl Eberhard 3ef4691ea5 Fix bunch import; fix unit test imports 2014-09-03 15:18:55 -04:00
John Chilton c955e41867 Fill out tool test for configured discovered datasets.
Add new example based on Anton's bamtools split work and label all the outputs as visible - this should likely be the default but until it is might as well demonstrate them as visible since that is how they are most useful.
2014-09-03 15:17:49 -04:00
John Chilton 4c572245e6 Fix workflow rendering unit test when run in suite.
It was stubbing out connection stuff which worked fine when running test on its own - but after any test sets up the sql alchemy mappings this breaks down because events are trying to fire. This just uses actual model classes - which is just as easy anyway really.
2014-09-03 08:43:25 -04:00
John Chilton e1c0d419fd Delete incorrect unit test added in d15f9a1.
Don't know what I was thinking - it doesn't look like that method ever had that behavior.
2014-09-03 08:43:25 -04:00
John Chilton c87002961f Fix unit tests broken with 9f63d96. 2014-09-03 08:43:25 -04:00
John Chilton d8457bb7ee Unit tests for tool action code determining output formats.
With refactoring to reduce cyclomatic complexity. Also renaming 'input_ext' what it actually is 'random_input_ext'. We should fix that or at least issue a huge warning if we detect 'input' could have reasonable been different things.
2014-09-03 08:43:25 -04:00
John Chilton 6515dc274d Unit test for galaxy.tools.action to ensure all datasets get same object store id.
Enables subsequent refactoring.
2014-09-03 08:43:25 -04:00
John Chilton c1ee4c9b31 Add functional test tool demonstrating output filters.
Add new 'expect_num_outputs' attribute to 'test' element in tool XML to verify the produced number - needed to test output filtering.
2014-09-03 08:43:25 -04:00
John Chilton fcce8b8218 Add functional test tool demonstrating setting output dataset formats.
Directly setting format attribute, setting to format to 'input' (ambigious, non-deterministic and should be deprecated IMO), using format_source, and using change_format actions.
2014-09-03 08:43:25 -04:00
John Chilton db07824a12 Add functional test tool demonstrating special parameters.
:(
2014-09-03 08:43:25 -04:00
John Chilton ef1877b468 Small tweaks to some functional test tools.
Add data labels so the tools works in the workflow editor and added a conditional switches to some with collection params and multiple input data parameters to test some state-y logic in workflow editor.
2014-09-03 08:43:25 -04:00
John Chilton 6d727ce454 Merge stable. 2014-09-02 16:41:48 -04:00
Carl Eberhard a96e50b9a3 Test fixes for 5ce55f9; correct spaceghost.stderr to use system.stderr (thanks, John); correct api-workflow-tests (which I completely forgot *I* had made) and add test-data 2014-09-02 15:35:56 -04:00
John Chilton e7b0801f8d Small improvements to JavaScript testing with run_tests.sh.
Add new -j|--casperjs option to run through the casperjs test suite. Ensure grunt is on path before attempting to run qunit tests. A more useful version of this changeset which automatically installed phantomjs, casperjs, grunt, and npm as needed and added the required tools to the tester's path (https://bitbucket.org/jmchilton/galaxy-central-fork-1/commits/0919fc9403933f88e458724b95b0d213117bbd0e) proved unpopular because of implementation details - see conversation here https://bitbucket.org/galaxy/galaxy-central/pull-request/461/remove-deprecated-test-scripts-improved/diff.
2014-09-02 12:35:33 -04:00
John Chilton 8fb1a04b8e Fixup comments and add README for test/casperjs directory. 2014-09-02 11:50:43 -04:00
John Chilton 24e914f57b Fix workflow editor bug related state updates for collections attached to multiple input data parameters.
Detail bug report from Michael Crusoe here : https://trello.com/c/0mdGCx4P.

This also fixes a test case added in 289e48b which was both attempting to assert something wrong and was incorrectly implemented. Augmenting the workflow editor test suite with some actually valid test cases that assert the correct behaviors.

For a longer explaination - workflow input terminals have two related concepts 'canAccept' and 'attachable'. An output terminal is 'attachable' if in the abstract it could be attached to the input regardless of whether the input is already filled or not. 'canAccept' is more stateful in that an output terminal is 'canAccept'able if the input terminal is not filled ('_inputFilled') and it is 'attachable'.

So - the problem was 'attachable' was not correctly defined for a multiple input data parameters. 'attachable' was asserting that any connected input terminal could not be 'attachable' by an collection output terminal - so on these asynchronous node state changes collections attached to multiple input data parameters were being wiped out. The more percise/correct distinction is that if a multiple input data parameter has single inputs connected to it - it cannot also have a collection connected to it (yet anyway). This fixes the mentioned bug.

The problematic test case was conflating 'attachable' and 'canAccept'able - I have fixed the test case to verify the correct 'attachable' logic and added newer, higher level test cases to test the canAccept logic and the actual behavior the end user would observe (of the connector being destroy).
2014-09-02 11:20:44 -04:00