mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Make sure get_or_create_repository() and _get_repository_by_name_and_owner() return a Repository
This commit is contained in:
@@ -905,7 +905,11 @@ class ShedTwillTestCase(ShedApiTestCase):
|
||||
self.check_for_strings(strings_displayed, strings_not_displayed)
|
||||
|
||||
def check_repository_dependency(
|
||||
self, repository: Repository, depends_on_repository, depends_on_changeset_revision=None, changeset_revision=None
|
||||
self,
|
||||
repository: Repository,
|
||||
depends_on_repository: Repository,
|
||||
depends_on_changeset_revision=None,
|
||||
changeset_revision=None,
|
||||
):
|
||||
if not self.is_v2:
|
||||
# v2 doesn't display repository repository dependencies, they are deprecated
|
||||
@@ -1402,7 +1406,7 @@ class ShedTwillTestCase(ShedApiTestCase):
|
||||
|
||||
def get_or_create_repository(
|
||||
self, category: Category, owner: str, name: str, strings_displayed=None, strings_not_displayed=None, **kwd
|
||||
) -> Optional[Repository]:
|
||||
) -> Repository:
|
||||
# If not checking for a specific string, it should be safe to assume that
|
||||
# we expect repository creation to be successful.
|
||||
if strings_displayed is None:
|
||||
@@ -1417,6 +1421,7 @@ class ShedTwillTestCase(ShedApiTestCase):
|
||||
self.submit_form(button="create_repository_button", name=name, category_id=category_id, **kwd)
|
||||
self.check_for_strings(strings_displayed, strings_not_displayed)
|
||||
repository = self.populator.get_repository_for(owner, name)
|
||||
assert repository
|
||||
return repository
|
||||
|
||||
def get_repo_path(self, repository: Repository) -> str:
|
||||
@@ -1495,10 +1500,11 @@ class ShedTwillTestCase(ShedApiTestCase):
|
||||
for repository_metadata in self._db_repository(repository).metadata_revisions
|
||||
]
|
||||
|
||||
def _get_repository_by_name_and_owner(self, name: str, owner: str) -> Optional[Repository]:
|
||||
def _get_repository_by_name_and_owner(self, name: str, owner: str) -> Repository:
|
||||
repo = self.populator.get_repository_for(owner, name)
|
||||
if repo is None:
|
||||
repo = self.populator.get_repository_for(owner, name, deleted="true")
|
||||
assert repo
|
||||
return repo
|
||||
|
||||
def get_repository_tip(self, repository: Repository) -> str:
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import logging
|
||||
|
||||
import pytest
|
||||
|
||||
from ..base import common
|
||||
from ..base.api import skip_if_api_v2
|
||||
from ..base.twilltestcase import ShedTwillTestCase
|
||||
@@ -157,7 +159,6 @@ class TestBasicRepositoryFeatures(ShedTwillTestCase):
|
||||
def test_0050_display_repository_tip_file(self):
|
||||
"""Display the contents of filtering.xml in the repository tip revision"""
|
||||
repository = self._get_repository_by_name_and_owner(repository_name, common.test_user_1_name)
|
||||
assert repository
|
||||
if self._browser.is_twill:
|
||||
self.display_repository_file_contents(
|
||||
repository=repository,
|
||||
@@ -268,14 +269,15 @@ class TestBasicRepositoryFeatures(ShedTwillTestCase):
|
||||
error_message = (
|
||||
"The term 'repos' is a reserved word in the Tool Shed, so it cannot be used as a repository name."
|
||||
)
|
||||
self.get_or_create_repository(
|
||||
name="repos",
|
||||
description=repository_description,
|
||||
long_description=repository_long_description,
|
||||
owner=common.test_user_1_name,
|
||||
category=category,
|
||||
strings_displayed=[error_message],
|
||||
)
|
||||
with pytest.raises(AssertionError):
|
||||
self.get_or_create_repository(
|
||||
name="repos",
|
||||
description=repository_description,
|
||||
long_description=repository_long_description,
|
||||
owner=common.test_user_1_name,
|
||||
category=category,
|
||||
strings_displayed=[error_message],
|
||||
)
|
||||
|
||||
def test_0100_verify_reserved_username_handling(self):
|
||||
"""Check that reserved usernames are handled correctly."""
|
||||
|
||||
@@ -51,7 +51,6 @@ class TestFreebayesRepository(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
strings_displayed = ["Metadata may have been defined", "This file requires an entry", "tool_data_table_conf"]
|
||||
self.add_file_to_repository(repository, "freebayes/freebayes.xml", strings_displayed=strings_displayed)
|
||||
if self.is_v2:
|
||||
|
||||
@@ -67,8 +67,6 @@ class TestRepositoryCircularDependenciesToNLevels(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
assert repository.id
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"column_maker/column_maker.tar",
|
||||
|
||||
@@ -63,7 +63,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
owner=common.test_user_1_name,
|
||||
category=category_0000,
|
||||
)
|
||||
assert repository
|
||||
if self.repository_is_new(repository):
|
||||
running_standalone = True
|
||||
self.commit_tar_to_repository(
|
||||
@@ -91,7 +90,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
strings_displayed=[],
|
||||
)
|
||||
if running_standalone:
|
||||
assert repository
|
||||
self.setup_freebayes_0010_repo(repository)
|
||||
|
||||
def test_0015_create_datatypes_0020_repository(self):
|
||||
@@ -112,7 +110,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category_0020,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"column_maker/column_maker.tar",
|
||||
@@ -137,7 +134,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category_0020,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"emboss/emboss.tar",
|
||||
@@ -162,7 +158,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category_0030,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert column_maker_repository
|
||||
self.commit_tar_to_repository(
|
||||
column_maker_repository,
|
||||
"column_maker/column_maker.tar",
|
||||
@@ -187,7 +182,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category_0030,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert emboss_5_repository
|
||||
self.commit_tar_to_repository(
|
||||
emboss_5_repository,
|
||||
"emboss/emboss.tar",
|
||||
@@ -212,7 +206,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category_0030,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert emboss_6_repository
|
||||
self.commit_tar_to_repository(
|
||||
emboss_6_repository,
|
||||
"emboss/emboss.tar",
|
||||
@@ -237,7 +230,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category_0030,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert emboss_repository
|
||||
self.commit_tar_to_repository(
|
||||
emboss_repository,
|
||||
"emboss/emboss.tar",
|
||||
@@ -251,13 +243,9 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
column_maker_repository = self._get_repository_by_name_and_owner(
|
||||
"column_maker_0030", common.test_user_1_name
|
||||
)
|
||||
assert column_maker_repository
|
||||
emboss_repository = self._get_repository_by_name_and_owner("emboss_0030", common.test_user_1_name)
|
||||
assert emboss_repository
|
||||
emboss_5_repository = self._get_repository_by_name_and_owner("emboss_5_0030", common.test_user_1_name)
|
||||
assert emboss_5_repository
|
||||
emboss_6_repository = self._get_repository_by_name_and_owner("emboss_6_0030", common.test_user_1_name)
|
||||
assert emboss_6_repository
|
||||
repository_dependencies_path = self.generate_temp_path("test_0330", additional_paths=["emboss"])
|
||||
column_maker_tuple = (
|
||||
self.url,
|
||||
@@ -311,7 +299,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category_0040,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
if running_standalone:
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
@@ -337,7 +324,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category_0040,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"filtering/filtering_1.1.0.tar",
|
||||
@@ -349,9 +335,7 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
global running_standalone
|
||||
if running_standalone:
|
||||
freebayes_repository = self._get_repository_by_name_and_owner("freebayes_0040", common.test_user_1_name)
|
||||
assert freebayes_repository
|
||||
filtering_repository = self._get_repository_by_name_and_owner("filtering_0040", common.test_user_1_name)
|
||||
assert filtering_repository
|
||||
repository_dependencies_path = self.generate_temp_path("test_0340", additional_paths=["dependencies"])
|
||||
freebayes_tuple = (
|
||||
self.url,
|
||||
@@ -391,7 +375,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"convert_chars/convert_chars.tar",
|
||||
@@ -413,7 +396,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"column_maker/column_maker.tar",
|
||||
@@ -438,7 +420,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"emboss/emboss.tar",
|
||||
@@ -460,7 +441,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert filtering_repository
|
||||
self.commit_tar_to_repository(
|
||||
filtering_repository,
|
||||
"filtering/filtering_1.1.0.tar",
|
||||
@@ -482,7 +462,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"freebayes/freebayes.tar",
|
||||
@@ -504,7 +483,6 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository
|
||||
self.user_populator().setup_bismark_repo(repository, end=1)
|
||||
|
||||
def test_0100_create_and_upload_dependency_definitions(self):
|
||||
@@ -513,25 +491,19 @@ class TestResetAllRepositoryMetadata(ShedTwillTestCase):
|
||||
if running_standalone:
|
||||
self.login(email=common.test_user_1_email, username=common.test_user_1_name)
|
||||
column_repository = self._get_repository_by_name_and_owner(column_repository_name, common.test_user_1_name)
|
||||
assert column_repository
|
||||
convert_repository = self._get_repository_by_name_and_owner(
|
||||
convert_repository_name, common.test_user_1_name
|
||||
)
|
||||
assert convert_repository
|
||||
emboss_repository = self._get_repository_by_name_and_owner(emboss_repository_name, common.test_user_1_name)
|
||||
assert emboss_repository
|
||||
filtering_repository = self._get_repository_by_name_and_owner(
|
||||
filtering_repository_name, common.test_user_1_name
|
||||
)
|
||||
assert filtering_repository
|
||||
freebayes_repository = self._get_repository_by_name_and_owner(
|
||||
freebayes_repository_name, common.test_user_1_name
|
||||
)
|
||||
assert freebayes_repository
|
||||
bismark_repository = self._get_repository_by_name_and_owner(
|
||||
bismark_repository_name, common.test_user_1_name
|
||||
)
|
||||
assert bismark_repository
|
||||
dependency_xml_path = self.generate_temp_path("test_0050", additional_paths=["freebayes"])
|
||||
# convert_chars depends on column_maker
|
||||
# column_maker depends on convert_chars
|
||||
|
||||
@@ -56,7 +56,7 @@ class TestGetUpdatedMetadata(ShedTwillTestCase):
|
||||
category = self.create_category(name=category_name, description=category_description)
|
||||
self.login(email=common.test_user_1_email, username=common.test_user_1_name)
|
||||
# Create a repository named package_freebayes_0550 owned by user1.
|
||||
freebayes = self.get_or_create_repository(
|
||||
freebayes_repository = self.get_or_create_repository(
|
||||
name=repositories["freebayes"]["name"],
|
||||
description=repositories["freebayes"]["description"],
|
||||
long_description=repositories["freebayes"]["long_description"],
|
||||
@@ -64,21 +64,20 @@ class TestGetUpdatedMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert freebayes is not None, f"Error creating freebayes {repositories['freebayes']['name']}"
|
||||
self.commit_tar_to_repository(
|
||||
freebayes,
|
||||
freebayes_repository,
|
||||
"0550_files/package_freebayes_1_0550.tgz",
|
||||
)
|
||||
if not self.is_v2:
|
||||
# Visit the manage repository page for package_freebayes_0_5_9_0100.
|
||||
self.display_manage_repository_page(
|
||||
freebayes, strings_displayed=["Tool dependencies", "will not be", "to this repository"]
|
||||
freebayes_repository, strings_displayed=["Tool dependencies", "will not be", "to this repository"]
|
||||
)
|
||||
|
||||
def test_0010_create_samtools_repository(self):
|
||||
"""Create and populate the package_samtools_0550 repository."""
|
||||
category = self.create_category(name=category_name, description=category_description)
|
||||
samtools = self.get_or_create_repository(
|
||||
samtools_repository = self.get_or_create_repository(
|
||||
name=repositories["samtools"]["name"],
|
||||
description=repositories["samtools"]["description"],
|
||||
long_description=repositories["samtools"]["long_description"],
|
||||
@@ -86,9 +85,8 @@ class TestGetUpdatedMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert samtools is not None, f"Error creating samtools {repositories['samtools']['name']}"
|
||||
self.commit_tar_to_repository(
|
||||
samtools,
|
||||
samtools_repository,
|
||||
"0550_files/package_samtools_1_0550.tgz",
|
||||
commit_message="Uploaded samtools 1.0.",
|
||||
)
|
||||
@@ -104,7 +102,6 @@ class TestGetUpdatedMetadata(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository is not None, f"Error creating repository {repositories['filtering']['name']}"
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
"0550_files/filtering_1.0.tgz",
|
||||
|
||||
@@ -53,7 +53,6 @@ class TestDataManagers(ShedTwillTestCase):
|
||||
category=category,
|
||||
strings_displayed=[],
|
||||
)
|
||||
assert repository, "No repository created with name {commit_tar_to_repository}"
|
||||
# Upload the data manager files to the repository.
|
||||
self.commit_tar_to_repository(
|
||||
repository,
|
||||
|
||||
Reference in New Issue
Block a user