mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-16 15:45:04 +08:00
Record data parameter formats in tool parameter models
DataParameterModel and DataCollectionParameterModel have an extensions field, but the factory never set it, so every model reported ["data"].
This commit is contained in:
@@ -232,6 +232,7 @@ def _from_input_source_galaxy(input_source: InputSource, profile: float) -> Tool
|
||||
optional=optional,
|
||||
multiple=multiple,
|
||||
url_default=url_default,
|
||||
extensions=input_source.parse_extensions(),
|
||||
**_common_param_kwargs(input_source),
|
||||
)
|
||||
elif param_type == "data_collection":
|
||||
@@ -243,6 +244,7 @@ def _from_input_source_galaxy(input_source: InputSource, profile: float) -> Tool
|
||||
name=input_source.parse_name(),
|
||||
optional=optional,
|
||||
value=default_value,
|
||||
extensions=input_source.parse_extensions(),
|
||||
**_common_param_kwargs(input_source),
|
||||
)
|
||||
elif param_type == "select":
|
||||
|
||||
@@ -23,11 +23,14 @@ from galaxy.tool_util.parameters import (
|
||||
RequestToolState,
|
||||
strictify,
|
||||
)
|
||||
from galaxy.tool_util.parser.factory import get_tool_source
|
||||
from galaxy.tool_util.parser.util import parse_profile_version
|
||||
from galaxy.tool_util.unittest_utils import functional_test_tool_path
|
||||
from galaxy.tool_util_models.parameters import (
|
||||
BooleanParameterModel,
|
||||
ConditionalParameterModel,
|
||||
ConditionalWhen,
|
||||
DataCollectionParameterModel,
|
||||
DataParameterModel,
|
||||
SectionParameterModel,
|
||||
ToolParameterBundleModel,
|
||||
@@ -45,6 +48,19 @@ ID_MAP: Dict[int, str] = {
|
||||
}
|
||||
|
||||
|
||||
def test_data_parameter_models_carry_extensions():
|
||||
tool_source = get_tool_source(functional_test_tool_path("implicit_conversion_shared_input_y.yml"))
|
||||
bundle = input_models_for_tool_source(tool_source)
|
||||
assert [p.extensions for p in bundle.parameters if isinstance(p, DataParameterModel)] == [["fasta"], ["tabular"]]
|
||||
|
||||
|
||||
def test_data_collection_parameter_models_carry_extensions():
|
||||
bundle = input_models_for_tool_source(tool_source_for("implicit_collection_conversion"))
|
||||
(parameter,) = bundle.parameters
|
||||
assert isinstance(parameter, DataCollectionParameterModel)
|
||||
assert parameter.extensions == ["tabular"]
|
||||
|
||||
|
||||
def test_decode_data():
|
||||
tool_source = tool_source_for("parameters/gx_data")
|
||||
bundle = input_models_for_tool_source(tool_source)
|
||||
|
||||
Reference in New Issue
Block a user