Interactive Tool Testing
Interactive tool testing is a mechanism to ensure that our interactive tools can be successfully launched and are accessible. This is accomplished by a dedicated Python script that uses the nova
library to interact with the Galaxy API.
Test Execution
The interactive tool tests are defined in the tests/interactive_tools.py
script and are run automatically on a schedule by the GitLab CI. The process is as follows:
- Tool Definition: A dictionary named
INTERACTIVE_TOOLS
contains a list of all the interactive tools that are to be tested. - Test Execution: The script iterates through the
INTERACTIVE_TOOLS
dictionary and, for each tool, it attempts to launch the tool in a new history. - Test Verification: The test is considered successful if the tool launches without any errors and a URL to the interactive tool is returned. The results of these tests are also pushed to Prometheus for monitoring.
Adding New Interactive Tool Tests
To add a new interactive tool to the testing suite, you need to add the tool's ID to the INTERACTIVE_TOOLS
dictionary in the tests/interactive_tools.py
script. The key should be the tool ID, and the value can be None
if no specific parameters are required to launch the tool.
INTERACTIVE_TOOLS = {
# ... existing tools
"new_interactive_tool_id": None,
}