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
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"
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
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"
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[]"
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?"
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"