def validate_cwl(cwl: str, cmd: Command = None, explore: bool = True): parsed = yaml.load(cwl) with tempfile.TemporaryDirectory() as tmpdir: tmpdir = Path(tmpdir) tmpfile = tmpdir / parsed["id"] tmpfile.write_text(cwl) loading_context, workflowobj, uri = fetch_document(str(tmpfile)) resolve_and_validate_document(loading_context, workflowobj, uri) if cmd: assert len( workflowobj["inputs"]) == len(cmd.positional) + len(cmd.named)
def test_round_trip(bwamem_help): command = parse_help(["bwa", "mem"], bwamem_help) # Dump buffer = StringIO() yaml.dump(command, buffer) # Load buffer.seek(0) output = yaml.load(buffer) # Assert the round trip worked assert command == output
def samtools_cmd(): with open(resource_filename(__name__, "test_data/samtools/samtools.yml")) as fp: return yaml.load(fp)
def validate_yml(yml: str, cmd: Command = None, explore=True): stream = StringIO(yml) yaml.load(stream)