Пример #1
0
def _run_example(as_dict, out=None):
    if not out:
        out = _examples_path_for("test.cwl")
    abstract_as_dict = from_dict(as_dict)
    with open(out, "w") as f:
        ordered_dump(abstract_as_dict, f)

    check_abstract_def(abstract_as_dict)

    # validate format2 workflows
    enable_dev = "dev" in CWL_VERSION
    loadingContext = LoadingContext()
    loadingContext.enable_dev = enable_dev
    loadingContext.loader = default_loader(
        loadingContext.fetcher_constructor,
        enable_dev=enable_dev,
    )
    loadingContext.resolver = getdefault(loadingContext.resolver, tool_resolver)
    loadingContext, workflowobj, uri = fetch_document(out, loadingContext)
    loadingContext, uri = resolve_and_validate_document(
        loadingContext,
        workflowobj,
        uri,
    )
    return abstract_as_dict
Пример #2
0
def test_string_inputs():
    for as_dict in _both_formats(STRING_INPUT):
        abstract_as_dict = from_dict(as_dict)
        assert abstract_as_dict["inputs"]["seed"]["type"] == "string"
        assert abstract_as_dict["inputs"]["seed"]["default"] == "mycooldefault"
Пример #3
0
def test_float_inputs():
    for as_dict in _both_formats(FLOAT_INPUT_DEFAULT):
        abstract_as_dict = from_dict(as_dict)
        assert abstract_as_dict["inputs"]["num_lines"]["type"] == "float"
        assert abstract_as_dict["inputs"]["num_lines"]["default"] == 6.0
Пример #4
0
def test_int_inputs():
    for as_dict in _both_formats(INT_INPUT):
        abstract_as_dict = from_dict(as_dict)
        assert abstract_as_dict["inputs"]["num_lines"]["type"] == "int"
Пример #5
0
def test_to_cwl_array():
    for as_dict in _both_formats(RULES_TOOL):
        abstract_as_dict = from_dict(as_dict)
        assert abstract_as_dict["inputs"]["input_c"]["type"] == "File[]"
Пример #6
0
def test_to_cwl_optional():
    for as_dict in _both_formats(OPTIONAL_INPUT):
        abstract_as_dict = from_dict(as_dict)
        assert abstract_as_dict["inputs"]["the_input"]["type"] == "File?"
Пример #7
0
def test_basic_workflow():
    for as_dict in _both_formats(BASIC_WORKFLOW):
        abstract_as_dict = from_dict(as_dict)
        assert abstract_as_dict["label"] == "Simple workflow"
        assert abstract_as_dict["doc"] == "Simple workflow that no-op cats a file and then selects 10 random lines.\n"