Files
galaxy/test/unit/tool_util/test_toolbox_view_sources.py
T
2022-02-03 07:42:20 -05:00

46 lines
1.2 KiB
Python

import json
import os
import shutil
import tempfile
from galaxy.tool_util.toolbox.views.sources import StaticToolBoxViewSources
from galaxy.util import safe_makedirs
from .test_toolbox_view_parsing import EXAMPLE_1
def test_from_dicts():
sources = StaticToolBoxViewSources(view_dicts=[EXAMPLE_1])
defs = sources.get_definitions()
assert len(defs) == 1
assert defs[0].id == "rna"
def test_from_directory():
target_dir = tempfile.mkdtemp()
dir_1 = os.path.join(target_dir, "dir1")
dir_2 = os.path.join(target_dir, "dir2")
safe_makedirs(dir_1)
safe_makedirs(dir_2)
with open(os.path.join(dir_1, "foo.json"), "w") as f:
json.dump(EXAMPLE_1, f)
with open(os.path.join(dir_2, "seqanalysis.yml"), "w") as f:
f.write(
"""
name: Sequence Analysis
type: generic
items:
- type: workflow
id: 12345abcd
"""
)
config_param = f"{os.path.abspath(dir_1)},{os.path.abspath(dir_2)}"
try:
sources = StaticToolBoxViewSources(view_directories=config_param)
defs = sources.get_definitions()
assert len(defs) == 2
assert defs[0].id == "rna"
assert defs[1].id == "seqanalysis"
finally:
shutil.rmtree(target_dir)