Skip to content

Commit

Permalink
Fix SA2.0 usage in tool_shed.test.base.twilltestcase
Browse files Browse the repository at this point in the history
  • Loading branch information
jdavcs committed Oct 12, 2023
1 parent 6a6e5bf commit 70c7f03
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions lib/tool_shed/test/base/twilltestcase.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
)
from playwright.sync_api import Page
from sqlalchemy import (
and_,
false,
select,
)

import galaxy.model.tool_shed_install as galaxy_model
Expand Down Expand Up @@ -572,20 +572,7 @@ def get_installed_repositories_by_name_owner(
def get_installed_repository_for(
self, owner: Optional[str] = None, name: Optional[str] = None, changeset: Optional[str] = None
) -> Optional[Dict[str, Any]]:
clause_list = []
if name is not None:
clause_list.append(galaxy_model.ToolShedRepository.table.c.name == name)
if owner is not None:
clause_list.append(galaxy_model.ToolShedRepository.table.c.owner == owner)
if changeset is not None:
clause_list.append(galaxy_model.ToolShedRepository.table.c.changeset_revision == changeset)
clause_list.append(galaxy_model.ToolShedRepository.table.c.deleted == false())
clause_list.append(galaxy_model.ToolShedRepository.table.c.uninstalled == false())

query = self._installation_target.install_model.context.query(galaxy_model.ToolShedRepository)
if len(clause_list) > 0:
query = query.filter(and_(*clause_list))
repository = query.one_or_none()
repository = get_installed_repository(self._installation_target.install_model.context, name, owner, changeset)
if repository:
return repository.to_dict()
else:
Expand Down Expand Up @@ -2096,3 +2083,17 @@ def _get_tool_panel_section_from_repository_metadata(metadata):
tool_panel_section_metadata = metadata["tool_panel_section"]
tool_panel_section = tool_panel_section_metadata[tool_guid][0]["name"]
return tool_panel_section


def get_installed_repository(session, name, owner, changeset):
ToolShedRepository = galaxy_model.ToolShedRepository
stmt = select(ToolShedRepository)
if name is not None:
stmt = stmt.where(ToolShedRepository.name == name)
if owner is not None:
stmt = stmt.where(ToolShedRepository.owner == owner)
if changeset is not None:
stmt = stmt.wehre(ToolShedRepository.changeset_revision == changeset)
stmt = stmt.where(ToolShedRepository.deleted == false())
stmt = stmt.where(ToolShedRepository.uninstalled == false())
return session.scalars(stmt).one_or_none()

0 comments on commit 70c7f03

Please sign in to comment.