Commit Graph
479 Commits
Author SHA1 Message Date
Nicola Soranzo 5d6bc5721a Merge branch 'release_18.01' into release_18.05 2018-05-18 10:29:53 +01:00
John Chilton 6cfe5880e1 [18.01] Fix structured_like unqualified references + test.
Update tool XSD to encourage using fully qualified inputs.

Reorganized the existing tests for consistency with other test tools I think.

(Rebased with fixes, including XSD fixes from @nsoranzo.)
2018-05-17 16:50:40 -04:00
Nicola Soranzo b114b1d6ba Merge branch 'release_18.01' into release_18.05 2018-05-16 11:27:16 +01:00
John Chilton cdbae706e6 Respect auto_decompress in fetch API, synchronize upload APIs. 2018-05-15 07:39:14 -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 35b96475a1 Missing upload tests.
Lots of upload and datatype behavior changes conflicting in 18.05 - these tests would have helped a lot.
2018-05-11 16:23:35 -04: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 bf5d472e28 Merge pull request #5702 from guerler/select_to_text
Relax validation condition for dynamic parameters
2018-03-27 15:35:48 +01:00
Dannon Baker 39d5ec89f8 Merge branch 'release_18.01' into dev 2018-03-27 08:42:09 -04:00
John Chilton ff0f0b6112 Fix model operations that produce datasets for 78babab645
Should only affect unzip I think - fixes #5780 - probably need to rebuild collections though, collections built in the meantime are going to be broken in the DB.

Includes test case that fails against 18.01.
2018-03-26 14:35:49 -04:00
John Chilton 2b3557ffce Fix test case verifying we check column values before tool execution. 2018-03-26 07:58:20 -04:00
guerler 04fee6070b Merge branch 'dev' into select_to_text 2018-03-22 08:45:23 -04:00
guerler 187c540cd4 Fix test case 2018-03-21 11:35:54 -04:00
John Chilton 890e6327e8 Merge pull request #5747 from nsoranzo/typos_refactors
Typo fixes and small refactors
2018-03-21 10:02:32 -04:00
Nicola Soranzo 03f5f5310e Fix typos 2018-03-21 02:35:29 +00:00
John Chilton 64deb63117 Fix broken API test.
I think the URLs changed so checksum computation is failing.
2018-03-20 14:52:40 -04:00
John Chilton 16751cd6ab Merge pull request #5691 from nsoranzo/test_fixes
Various test fixes
2018-03-15 11:51:05 -04:00
Nicola Soranzo 39d7e2e739 Close file handles 2018-03-14 18:53:22 +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
Martin Cech 93f778498a Merge branch 'release_18.01' into dev 2018-03-13 11:51:00 -04:00
mvdbeek f1dd060d73 Test rename PJA when resuming a failed job 2018-03-13 12:38:41 +01:00
John Chilton d651348da6 More upload tests and fixes. 2018-03-08 10:33:42 -05:00
John Chilton 1c6cc02415 Hierarchical upload API optimized for folders & collections.
Allows describing hierarchical data in JSON or inferring structure from archives or directories.

Datasets or archive sources can be specified via uploads, URLs, paths (if admin && allow_path_paste), library_import_dir/user_library_import_dir, and/or FTP imports. Unlike existing API endpoints, a mix of these on a per file basis is allowed and they work seemlessly between libraries and histories.

Supported "archives" include gzip, zip, bagit directories, bagit achives (with fetching and validations of downloads).

The existing upload API endpoint is quite rough to work with both in terms of adding parameters (e.g. the file type and dbkey hanlding in 4563 was difficult to implement, terribly hacky, and should seemingly have been trivial) and in terms of building requests (one needs to build a tool form - not describe sensible inputs in JSON). This API is built to be intelligable from an API standpoint instead of being constrained to the older style tool form. Additionally it built with hierarchical data in mind in a way that would not be easy at all enhancing the tool form components we don't even render.

This implements 5159 though much simpler YAML descriptions of data libraries should be possible basically as the API descriptions. We can replace the data library script in Ephemeris https://github.com/galaxyproject/ephemeris/blob/master/ephemeris/setup_data_libraries.py with one that converts a simple YAML file into an API call and allows many new options for free.

In future PRs I'll add filtering options to this and it will serve as the backend to 4733.
2018-03-08 10:33:36 -05:00
John Chilton 52b6bf2486 Stronger security around test data path resolution, now with tests. 2018-03-06 20:07:52 -05:00
John Chilton c3af6c8fea Serialize tool test descriptions through the API.
Use this is in tool testing. Prevents needing to load / have tools in memory to run tool tests - should allow external tool testing.
2018-03-06 20:07:51 -05:00
guerler 4af913f7df Fix visualization type 2018-02-11 14:37:25 -05:00
John Chilton 51e030f4f3 Bring in @mvdbeek's test cases from #5431. 2018-02-03 14:59:30 -05: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
Evgeny Anatskiy 90d59ac923 fix webhooks tests 2018-02-01 12:18:02 -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 eb506b25b9 Allow map-over when discovering dataset collections
This would affect for example the mapping over of fastq-dump (and all other
tools in the sra-toolkit).

If one had attempted this previously the discovery phase would fail with:
```
galaxy.tools.parameters.output_collect ERROR 2018-01-30 08:56:46,369 Problem gathering output collection.
Traceback (most recent call last):
  File "/bioinfo/guests/mvandenb/galaxy/lib/galaxy/tools/parameters/output_collect.py", line 169, in collect_dynamic_collections
    collection
  File "/bioinfo/guests/mvandenb/galaxy/lib/galaxy/managers/collections.py", line 216, in collection_builder_for
    return builder.BoundCollectionBuilder(dataset_collection, collection_type_description)
  File "/bioinfo/guests/mvandenb/galaxy/lib/galaxy/dataset_collections/builder.py", line 84, in __init__
    raise Exception("Cannot reset elements of an already populated dataset collection.")
Exception: Cannot reset elements of an already populated dataset collection.
```

Instead we force the collection state to be new when we are discovering output collection datasets,
which seems reasonable to me. This includes an API testcase that would have failed previously.
2018-01-30 14:48:42 +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
mvdbeek 0dcf9d7fd6 Refine cached job tool test to make less asumptions 2017-12-31 18:06:48 +02:00
mvdbeek 4b6e403622 Add use_cached_job param to tools and workflow API
Also includes a simple test that runs cat1 three times,
the second time with `use_cached_job=False` (the default),
and the third time with `use_cached_job=True` and verifies
that the second output is different from the third, and that the
first and third output are identical.
2017-12-31 18:06:48 +02:00
mvdbeek 91696783b1 Uncomment test that relies on HDAHistory 2017-12-31 18:06:46 +02:00
mvdbeek e75daa1ddd Skip test that deletes the jobs input dataset
This does not work at the moment, since we need to verify a jobs' input name,
dataset and metadata, for which we don't have an explicit trail. The only trace
is via the update_time (i.e if a input dataset hasn't been updated since the
job was created we know these were the actual parameters in use during the
execution of this job).
2017-12-31 17:44:20 +02:00
mvdbeek 009daeff81 Fix the wildcard search 2017-12-31 17:44:20 +02:00
mvdbeek fc92adc1cc Take into account HDA name, metadata, element_identifier and datatype 2017-12-31 17:44:20 +02:00