Warning

This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy_test.base.testcase

import logging
import os
import unittest
from typing import Any, Optional

from galaxy.tool_util.verify.test_data import TestDataResolver
from galaxy_test.base.env import setup_keep_outdir, target_url_parts

log = logging.getLogger(__name__)


[docs]class FunctionalTestCase(unittest.TestCase): """Base class for tests targetting actual Galaxy servers. Subclass should override galaxy_driver_class if a Galaxy server needs to be launched to run the test, this base class assumes a server is already running. """ galaxy_driver_class: Optional[type] = None history_id: Optional[str] host: str port: Optional[str] url: str keepOutdir: str test_data_resolver: TestDataResolver _test_driver: Optional[Any]
[docs] def setUp(self) -> None: self.history_id = os.environ.get('GALAXY_TEST_HISTORY_ID', None) self.host, self.port, self.url = target_url_parts() server_wrapper = self._test_driver and self._test_driver.server_wrappers[0] if server_wrapper: self.host = server_wrapper.host self.port = server_wrapper.port self.url = f"http://{self.host}:{self.port}{server_wrapper.prefix.rstrip('/')}/" self.test_data_resolver = TestDataResolver() self.keepOutdir = setup_keep_outdir()
[docs] @classmethod def setUpClass(cls): """Configure and start Galaxy for a test.""" cls._test_driver = None if cls.galaxy_driver_class is not None and not os.environ.get("GALAXY_TEST_ENVIRONMENT_CONFIGURED"): cls._test_driver = cls.galaxy_driver_class() cls._test_driver.setup(config_object=cls)
[docs] @classmethod def tearDownClass(cls): """Shutdown Galaxy server and cleanup temp directory.""" if cls._test_driver: cls._test_driver.tear_down()
[docs] def get_filename(self, filename: str) -> str: # No longer used by tool tests - drop if isn't used else where. return self.test_data_resolver.get_filename(filename)