Commit Graph
729 Commits
Author SHA1 Message Date
Nate Coraor acbc8d9ca1 Merge remote-tracking branch 'upstream/release_19.05' into dev 2019-08-07 15:45:20 -04:00
mvdbeek ae84a553f6 Add tests for correct tag saving/updating via workflow update API 2019-08-01 12:27:02 +02:00
Nicola Soranzo de798d4829 Merge pull request #8329 from mvdbeek/fix_py3_startup
Cast uwsgi option to unicode, fixes startup under python 3
2019-07-13 15:50:17 +01:00
mvdbeek 7f8c42421f Fix test_400_on_invalid_embedded_content on python 3 2019-07-13 10:47:30 +02:00
Sergey Golitsynskiy 9713184b03 Move tools/verify/ into tool_util/verify/
Ref: https://github.com/galaxyproject/galaxy/issues/8073
2019-07-12 18:06:53 +01:00
Brad Langhorst 50011c1e98 linting fixes 2019-07-09 04:09:11 -04:00
Brad Langhorst 4f99db9d3f starting point for a test…
Failing on sqlite
2019-07-08 06:29:57 -04:00
vahid d3cbb985a3 Refactor a test method to return a create test user with its api key. 2019-06-26 12:36:13 -07:00
Dannon Baker 77307e94ac Update test to drop ftp_upload_dir 2019-06-20 16:05:57 -04:00
mvdbeek 036a398494 Add test that ensures jobs are errored when inputs are purged
To provoke https://github.com/galaxyproject/galaxy/issues/8171
run the tests with GALAXY_CONFIG_OUTPUTS_TO_WORKING_DIRECTORY=True
2019-06-19 13:12:05 +02:00
John Chilton 98a4a8bd00 clean-fix-page-api - modern exception handling for embedded ID encoding 2019-05-29 13:43:49 -04:00
mvdbeek 93419bc3ce Add workflow testcase for ColumSetAction PJA 2019-05-24 10:07:03 +02:00
Nicola Soranzo 75d9e33363 Merge branch 'release_19.05' into dev 2019-05-17 10:10:16 +01:00
mvdbeek 556ee003ae Fix parse_values_from_file tool and tests 2019-05-14 00:14:34 +02:00
mvdbeek 974f45b043 Allow mapping over of expression tool params
This allows feeding a collection of parameters values to a parameter
value. This enables https://github.com/galaxyproject/tools-iuc/pull/2404#issuecomment-491740393
for instance, where we normalize a collection based on a computed
parameter.
2019-05-14 00:14:34 +02:00
Marius van den Beek 2c2e6aec1b Merge pull request #7670 from jmchilton/created_from_basename
Track basename at the time of creation for datasets.
2019-05-07 14:24:47 +02:00
Nicola Soranzo faac99976b Fix deprecated `assertEquals()`
See https://docs.python.org/2/library/unittest.html#deprecated-aliases
2019-04-23 12:48:35 +01:00
mvdbeek 6b3aecdcc4 Restrict search to items in owned histories
This was an oversight in https://github.com/galaxyproject/galaxy/pull/7745.
This is the quick fix, but I think it's feasible to implement the
accessible logic as a query, which means we could push this down to
a Mixin, and treat it as a regular fiter (so admins could for instance
search/sort for the largest datasets, which is already possible in the
reports app).
2019-04-20 16:27:34 +02:00
John Chilton 29dfc3085b Track basename at the time of creation for datasets. 2019-04-20 08:18:39 -04:00
mvdbeek e7b0867602 Make sure orm filters operate on correct model
In practice we use ParsedFiler.filter_type to discriminate
the different filter types. Filters that require the correct
model class for a specific query are now functions that take
a model_class and generate the correct filter.
2019-04-18 18:55:14 +02:00
mvdbeek 885d9d1766 Fix err_msg assertion 2019-04-17 16:30:24 +02:00
mvdbeek 4469b9cbc0 Split up test and test searching by tool id 2019-04-17 12:56:46 +02:00
mvdbeek 48d9eaf78f Add some basic dataset search testing 2019-04-16 19:31:36 +02:00
mvdbeek 95fe0ffcf5 Adjust DatasetsApiTestCase.test_index to status code 200
And modernize test setup by using DatasetPopulator.
2019-04-16 19:31:03 +02:00
Martin Cech 51cbf440bf Merge pull request #7755 from jmchilton/job_error_reporting
Report a couple common errors in dataset/job report.
2019-04-16 13:30:12 -04:00
John Chilton 44856a3f75 Report a couple common errors in dataset/job report.
Report if empty inputs were used or if the same input was used more than once, these were identified as common sources of potential errors across many tools. Neither of these are definite problems, but both could be depending on the tool and both happen frequently. Outline a few more ideas as TODOs in the code.
2019-04-16 10:24:28 -04:00
John Chilton c33b4d4364 Merge pull request #7724 from mvdbeek/dependent_jobs
Unpause dependent jobs when resuming jobs
2019-04-15 14:16:47 -04:00
Nicola Soranzo 1b1f6e9cda Fix comments 2019-04-14 18:02:42 +01:00
mvdbeek 0b8dec5af0 Make sure dependent jobs are being unpaused
Fixes https://github.com/galaxyproject/galaxy/issues/6926
2019-04-11 19:35:20 +02:00
John Chilton 9dfa5d7041 Merge pull request #5495 from jmchilton/batch_operation_optimize
Batch bulk hide and delete operations when multi-selected.
2019-04-11 09:01:32 -04:00
John Chilton d89749bad7 Bulk delete and hide operations. 2019-04-10 20:59:33 -04:00
Nicola Soranzo a12db037ca Merge branch 'release_19.01' into dev 2019-04-11 00:43:45 +01:00
mvdbeek 4c9e4118f5 Restrict workflow invocation index to current user
If the user is not an admin.
Fixes https://github.com/galaxyproject/galaxy/issues/7710

An alternative would be to skip Accessibility / Ownership
exceptions, but given that we can just restrict the query
this seems like the better approach to me.
2019-04-10 11:13:59 +02:00
Marius van den Beek 7ea8734796 Merge pull request #7367 from jmchilton/export_collections
Rework and Generalize History Import and Export
2019-04-08 14:24:45 +02:00
mvdbeek 6653d3ae9d Adjust test_run_with_numeric_input_connection to extra line
introduced in https://github.com/galaxyproject/galaxy/pull/7634
2019-04-02 21:23:49 +02:00
Nicola Soranzo 057afbca9a Merge branch 'release_19.01' into dev 2019-04-02 11:02:46 +01:00
mvdbeek e8ea08dd61 Add testcase for mapped over discovered dataset consumption 2019-03-31 13:56:42 +02:00
mvdbeek 4912f7a97d Don't unhide mapped-over outputs when job fails
The parent dataset collection now shows the failed datasets,
and that is much easier to deal with when all jobs within
a large collection have failed.
Fixes https://github.com/galaxyproject/galaxy/issues/7492

One downside here is that we don't see anything in the history right
away (except for the failed dataset count) if a hidden collection
contains failed datasets.
2019-03-30 14:49:59 +01:00
John Chilton e77b88f6f3 Revamp history import/export with dozens of fixes and enhancements.
- Allow import and export collections.
- Fix job I/O for separated tool and job script streams (merged in #7095 during 19.05)
- Fix job state handling so that all imported jobs have terminal state.
- Fixes to eliminate HID handling for associations (objects were previously tracked by HID but inputs/outputs in history may not be in history - so HID is not at all appropriate, problem was amplified by collections).
- Fix job output mapping - was using the HDA name instead of job output name during import (old exports don't have this info - only new ones do).
- Fixes assigning HIDs to datasets during import and fixes to hid_counter - in many ways this was very broken for imported histories.
- Introduce cohesive model object import/export abstractions including a lot of new, well tested functionality.
  - Allow import/export of datasets and collections stand-alone regardless of history.
  - Allow export and re-import of datasets and collections (so for instance datasets can be created for a job and read in at the end of a job and merged back into the database). This is needed for extended metadata collection.
  - Separate implementation for import abstraction that allow import of legacy archives without complicating logic for current archive format.
  - Implementation of import and export abstraction for [BagIt](https://datatracker.ietf.org/doc/rfc8493/) using [bdbag](https://github.com/fair-research/bdbag).
  - Context manager support and clean APIs for all of this including import and export of directories, archives, and bags.
- A lot more unit testing.
2019-03-25 16:48:22 -04:00
John Chilton e80be0640c Refactor more import/export into populators for reuse. 2019-03-24 13:53:20 -04:00
John Chilton b32beb1653 Simplify import/export history. 2019-03-24 13:53:20 -04:00
mvdbeek 0aac0a1dc6 Use correct tools in skip_without_tool decorator 2019-03-21 20:26:02 +01:00
mvdbeek db0c39370f Test that switching parameters results in filtered outputs 2019-03-21 20:25:43 +01:00
John Chilton 2f79331288 Fix numeric connection test for Python 3. 2019-03-21 13:18:38 -04:00
Martin Cech e65604bc06 Merge pull request #7556 from jmchilton/expression_tools
Implement expression tools and non-data tool outputs.
2019-03-20 18:52:59 -04:00
mvdbeek c80b80d3cf Fix test_workflow_resume_with_mapped_over_input test
self.dataset_populator._get_contents_request(history_id=history_id).json()
returns the dataset collection as the first element.
We do need a HDA here though, so we'd just randomly pick
a HDA with the HDCA ID. So if that dataset was deleted by chance the
test would fail. Ouch.
2019-03-20 12:55:05 +01:00
John Chilton f5c93e868b Implement expression tools and non-data tool outputs.
PR #6925 introduced a GUI for connecting non-data (e.g. integer, boolean, color, etc..) workflow input parameter to tool input parameters (the backend for this was originally added in #1306). That ideally was just the beginning of work toward using such values in structured ways in workflows.

This PR extends tool output handling to allow producing of non-data parameters. These can serve as a source for non-data values in workflows the same work workflow input parameters can. To make such values more easy to produce, this PR also introduces Galaxy expression tools - mirroring functionality regularly used in CWL. These small JavaScript-based tools that consume inputs just like a regular Galaxy tool but that produce dictionary of non-data values.

I think these expressions will be maximally useful when paired with format 2 workflows once we allow users to load arbitrary tools (I make the case more in full here https://github.com/galaxyproject/galaxy/pull/7545#issuecomment-473894424), but I outline some potential uses there as well.

Because there is always a checklist in my PR descriptions:

- Tool definition language and plumbing and datatype for expressing expressions as jobs.
- Allow connecting expression tools to parameters in workflows, will delay evaluation of workflow so calculated value
- Example test expression tools for testing and demonstration.
2019-03-19 17:20:18 -04:00
John Chilton b4ade3b251 Improved API and testing around dynamic tool endpoint.
Test case for indexing dynamic tools and deactivating dynamic tools. Verify deactivation via attributes in resulting object but also by trying to run a deactivated dynamic tool and getting a 404.
2019-03-19 16:32:05 -04:00
John Chilton 4a308130b3 Undo DynamicTool.tool_hash that is the part that is really half baked. 2019-03-19 14:22:41 -04:00
John Chilton f6623b6e23 [WIP] Dynamic Galaxy tools.
- Introduce models and a API for creating tools dynamically.
 - Use Galaxy's testing-only YAML based representation of tools to prototype this.
 - Extend Format 2 workflow definitions to allow embedding tools directly into workflows, either directly or using a CWL-style @import syntax.

Testing:

Test cases demonstrating tools can be imported (only by admins) and are runnable are included with this commit. More test cases regarding workflow use of dynamic tools and Format 2 workflow definition extensions are also included.

These tests can be run with the following commands:

```
./run_tests.sh -api test/api/test_tools.py:ToolsTestCase.test_nonadmin_users_cannot_create_tools
./run_tests.sh -api test/api/test_tools.py:ToolsTestCase.test_dynamic_tool_1
./run_tests.sh -api test/api/test_workflows.py:WorkflowsApiTestCase.test_import_export_dynamic
./run_tests.sh -api test/api/test_workflows_from_yaml.py:WorkflowsFromYamlApiTestCase.test_workflow_embed_tool
./run_tests.sh -api test/api/test_workflows_from_yaml.py:WorkflowsFromYamlApiTestCase.test_workflow_import_tool
```
2019-03-19 14:06:47 -04:00