""" Unit test logic related to finding externally referenced files in tool descriptions. """ import tempfile import os import shutil from galaxy.tools import Tool def test_finds_external_code_file(): assert __external_files("""""") == ["foo.py"] def test_finds_skips_empty_code_file_attribute(): assert __external_files("""""") == [] def test_finds_external_macro_file(): assert __external_files("""cool_macros.xml""") == ["cool_macros.xml"] def __external_files(contents): base_path = tempfile.mkdtemp() try: tool_path = os.path.join(base_path, "tool.xml") with open(tool_path, "w") as f: f.write(contents) return Tool.get_externally_referenced_paths(tool_path) finally: shutil.rmtree(base_path)