diff --git a/test/test_docker_interactive.py b/test/test_docker_interactive.py index 54da79e..0f01a6d 100644 --- a/test/test_docker_interactive.py +++ b/test/test_docker_interactive.py @@ -7,8 +7,8 @@ IMAGE_NAME = os.environ['IMAGE_NAME'] -@pytest.fixture(scope='function') -def ib_docker(): +@pytest.fixture(scope='session') +def ib_docker(request): account = os.environ['IB_ACCOUNT'] password = os.environ['IB_PASSWORD'] trading_mode = os.environ['TRADING_MODE'] @@ -21,8 +21,12 @@ def ib_docker(): '--env', 'TRADING_MODE={}'.format(trading_mode), '-p', '4002:4002', '-d', IMAGE_NAME]).decode().strip() + + # at the end of the test suite, destroy the container + def remove_container(): + subprocess.check_call(['docker', 'rm', '-f', docker_id]) + request.addfinalizer(remove_container) yield docker_id - subprocess.check_call(['docker', 'rm', '-f', docker_id]) def test_ibgw_interactive(ib_docker):