""" 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)