Files
galaxy/test/unit/tool_shed/test_tool_source.py
T

39 lines
1.6 KiB
Python

from tool_shed.context import ProvidesRepositoriesContext
from tool_shed.managers.tools import (
parsed_tool_model_cached_for,
parsed_tool_model_for,
tool_source_for,
)
from tool_shed.webapp.model import Repository
from ._util import upload_directories_to_repository
def test_get_tool(provides_repositories: ProvidesRepositoriesContext, new_repository: Repository):
upload_directories_to_repository(provides_repositories, new_repository, "column_maker")
owner = new_repository.user.username
name = new_repository.name
encoded_id = f"{owner}~{name}~Add_a_column1"
repo_path = new_repository.repo_path(app=provides_repositories.app)
tool_source = tool_source_for(provides_repositories, encoded_id, "1.2.0", repository_clone_url=repo_path)[0]
assert tool_source.parse_id() == "Add_a_column1"
bundle = parsed_tool_model_for(provides_repositories, encoded_id, "1.2.0", repository_clone_url=repo_path)
assert len(bundle.inputs) == 3
cached_bundle = parsed_tool_model_cached_for(
provides_repositories, encoded_id, "1.2.0", repository_clone_url=repo_path
)
assert len(cached_bundle.inputs) == 3
cached_bundle = parsed_tool_model_cached_for(
provides_repositories, encoded_id, "1.2.0", repository_clone_url=repo_path
)
assert len(cached_bundle.inputs) == 3
def test_stock_bundle(provides_repositories: ProvidesRepositoriesContext):
cached_bundle = parsed_tool_model_cached_for(
provides_repositories, "__ZIP_COLLECTION__", "1.0.0", repository_clone_url=None
)
assert len(cached_bundle.inputs) == 2