Files
galaxy/test/unit/tool_util/biotools/test_metadata_source.py
T
2022-11-16 17:01:28 +01:00

53 lines
1.8 KiB
Python

from galaxy.tool_util.biotools.source import (
ApiBiotoolsMetadataSource,
BiotoolsMetadataSourceConfig,
get_biotools_metadata_source,
GitContentBiotoolsMetadataSource,
)
from galaxy.util.unittest_utils import skip_if_site_down
from ._util import content_dir
def test_git_content():
metadata_source = GitContentBiotoolsMetadataSource(content_dir)
bwa_entry = metadata_source.get_biotools_metadata("bwa")
assert bwa_entry is not None
assert len(bwa_entry.function) == 6
missing_entry = metadata_source.get_biotools_metadata("johnscoolbowtie")
assert missing_entry is None
@skip_if_site_down("https://bio.tools/")
def test_api_content():
metadata_source = ApiBiotoolsMetadataSource()
bwa_entry = metadata_source.get_biotools_metadata("bwa")
assert bwa_entry is not None
assert len(bwa_entry.function) >= 6
missing_entry = metadata_source.get_biotools_metadata("johnscoolbowtie")
assert missing_entry is None
@skip_if_site_down("https://bio.tools/")
def test_cascade_content():
config = BiotoolsMetadataSourceConfig()
config.content_directory = content_dir
metadata_source = get_biotools_metadata_source(config)
bwa_entry = metadata_source.get_biotools_metadata("bwa")
assert bwa_entry is not None
assert len(bwa_entry.function) == 6
# by default API isn't used so bowtie2 empty...
bowtie2 = metadata_source.get_biotools_metadata("bowtie2")
assert bowtie2 is None
# but can be enabled with API
config = BiotoolsMetadataSourceConfig()
config.content_directory = content_dir
config.use_api = True
metadata_source = get_biotools_metadata_source(config)
bowtie2 = metadata_source.get_biotools_metadata("bowtie2")
assert bowtie2 is not None
assert len(bowtie2.topic) == 3