Unverified Commit dff6307e authored by mvdbeek's avatar mvdbeek
Browse files

Allow DCE as outer input to to_cwl

parent bd4a5293
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -128,9 +128,9 @@ def to_cwl(value, hda_references, step):
    element_identifier = None
    if isinstance(value, model.HistoryDatasetCollectionAssociation):
        value = value.collection
    if isinstance(value, model.DatasetCollectionElement) and value.hda:
    if isinstance(value, model.DatasetCollectionElement):
        element_identifier = value.element_identifier
        value = value.hda
        value = value.element_object
    if isinstance(value, model.HistoryDatasetAssociation):
        # I think the following two checks are needed but they may
        # not be needed.
+12 −0
Original line number Diff line number Diff line
@@ -274,6 +274,18 @@ def test_to_cwl_nested_collection():
    assert result["outer"][0]["basename"] == "inner"


def test_to_cwl_dataset_collection_element():
    hda = model.HistoryDatasetAssociation(create_dataset=True, flush=False)
    hda.dataset.state = model.Dataset.states.OK
    dc_inner = model.DatasetCollection(collection_type="list")
    model.DatasetCollectionElement(collection=dc_inner, element_identifier="inner", element=hda)
    dc_outer = model.DatasetCollection(collection_type="list:list")
    dce_outer = model.DatasetCollectionElement(collection=dc_outer, element_identifier="outer", element=dc_inner)
    result = modules.to_cwl(dce_outer, [], model.WorkflowStep())
    assert result[0]["class"] == "File"
    assert result[0]["basename"] == "inner"


class MapOverTestCase(NamedTuple):
    data_input: str
    step_input_def: Union[str, List[str]]