As DbOsExecFactory is essential for executing commands inside the OS hosting the Exasol database in a generic way, the current ticket requests to enhance AbstractSpawnTestEnvironment to return an appropriate instance of this factory.
Currently AbstractSpawnTestEnvironment._spawn_database_and_test_container() returns a tuple (DatabaseInfo, ContainerInfo), which is forwarded across multiple private methods and finally returned by run_task():
def run_task():
test_environment_info = yield from self._attempt_database_start()
self.return_object(test_environment_info)
def _attempt_database_start():
yield from self._start_database(attempt)
def _start_database():
yield from self._spawn_database_and_test_container(...)
def _spawn_database_and_test_container(...):
return database_info, test_container_info
Acceptance criteria
method _executor_factory() is moved from class SpawnTestEnvironmentWithDockerDB to class WaitForTestDockerDatabase
the task based on class WaitForTestDockerDatabase returns the factory
class SpawnTestEnvironmentWithDockerDB returns the factory together with DatabaseInfo and ContainerInfo
As
DbOsExecFactory
is essential for executing commands inside the OS hosting the Exasol database in a generic way, the current ticket requests to enhanceAbstractSpawnTestEnvironment
to return an appropriate instance of this factory.Currently
AbstractSpawnTestEnvironment._spawn_database_and_test_container()
returns a tuple(DatabaseInfo, ContainerInfo)
, which is forwarded across multiple private methods and finally returned byrun_task()
:Acceptance criteria
_executor_factory()
is moved from classSpawnTestEnvironmentWithDockerDB
to classWaitForTestDockerDatabase
WaitForTestDockerDatabase
returns the factorySpawnTestEnvironmentWithDockerDB
returns the factory together withDatabaseInfo
andContainerInfo