Files
galaxy/test/unit/app/managers/test_DynamicToolManager.py
T
Nicola Soranzo c929ab5034 Drop `uuid and allow_load from DynamicToolPayload`
Passing a UUID is unused and unnecessarily complicates the code.

Also:
- Add unit tests for `DynamicToolManager` .
2025-05-29 02:22:38 +01:00

29 lines
1.2 KiB
Python

from galaxy.app_unittest_utils.toolbox_support import BaseToolBoxTestCase
from galaxy.managers.tools import DynamicToolManager
from galaxy.tool_util_models.dynamic_tool_models import DynamicToolCreatePayload
class TestDynamicToolManager(BaseToolBoxTestCase):
def setUp(self):
super().setUp()
# Initialize toolbox
assert self.toolbox
self.dynamic_tool_manager = DynamicToolManager(self.app)
self.app.config.enable_beta_tool_formats = True
def test_create_tool(self):
tool_version = "0.1"
payload = DynamicToolCreatePayload(
representation={"class": "GalaxyTool", "version": tool_version, "command": "echo 42"}
)
dynamic_tool = self.dynamic_tool_manager.create_tool(payload)
assert dynamic_tool.active
assert dynamic_tool.public
assert dynamic_tool.tool_format == "GalaxyTool"
assert dynamic_tool.tool_version == tool_version
def test_create_tool_no_version(self):
payload = DynamicToolCreatePayload(representation={"class": "GalaxyTool", "command": "echo 42"})
with self.assertRaises(ValueError):
self.dynamic_tool_manager.create_tool(payload)