Skip to main content

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:

  1. Tool Definition: A dictionary named INTERACTIVE_TOOLS contains a list of all the interactive tools that are to be tested.
  2. Test Execution: The script iterates through the INTERACTIVE_TOOLS dictionary and, for each tool, it attempts to launch the tool in a new history.
  3. 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,
}