Don't treat data and non-data inputs/outputs different at the API boundary or at the workflow-manager.js level. Keep differences at the level of walking inputs/outputs in the workflow module on the backend and at the terminal definition (models and views) level on the frontend. Make the code and interfaces more consistent in my opinion and is more compatible with future directions I'd like to take things with mix-mode inputs/outputs for CWL.
We upload everything in lib/galaxy/datatypes/test and make sure
that we get the correct datatype.
For datatypes that have a sniffer we use `auto`, otherwise we set the
correct datatype.
This is fairly basic for now, but it would be trivial to extend this
to also verify file integrity and metadata elements as well as testing
options that affect uploads, like `auto_decompress` settings.
Rename test dataset from "Test Dataset" to "Test_Dataset" to prevent CWL error below:
<--
if not ACCEPTLIST_RE.match(f["basename"]):
raise WorkflowException("Invalid filename: '%s' contains illegal characters" % (f["basename"]))
--->
This error occur when running the test below:
test/api/test_workflows_cwl.py:CwlWorkflowsTestCase.test_simplest_wf
Prior to this, composite uploads were only allowed for select data types. As far as I can tell, the framework itself allows arbitrary datatypes to have extra files. This allows the upload API to take in extra files for datatypes that aren't explicitly annotated has having extra files.
These may be specified one at a time or in directory structures via tar files.
Refactor get_data_inputs into get_all_inputs and use the resulting dictionaries to reason about if collection mapping should occur during invocation of tools. Using these dictionaries instead of explicit tool input objects should allow reuse within other module types since they may produce the same interface.
`logging.exception()` already adds the the exception information after
the supplied message.
Also: the `message` attribute of `Exception` class has been dropped in
Python 3, always use `str(e)`.
xref. https://github.com/galaxyproject/galaxy/issues/1715