|
16 | 16 | os.environ["EASYHAPROXY_BASE_PATH"] = _test_session_dir |
17 | 17 |
|
18 | 18 |
|
| 19 | +_CONTAINER_ENV_VARS = [ |
| 20 | + "HAPROXY_USERNAME", |
| 21 | + "HAPROXY_PASSWORD", |
| 22 | + "HAPROXY_STATS_PORT", |
| 23 | + "HAPROXY_STATS_CORS_ORIGIN", |
| 24 | + "HAPROXY_CUSTOMERRORS", |
| 25 | + "EASYHAPROXY_SSL_MODE", |
| 26 | + "EASYHAPROXY_LABEL_PREFIX", |
| 27 | + "EASYHAPROXY_LOG_LEVEL", |
| 28 | + "HAPROXY_LOG_LEVEL", |
| 29 | + "CERTBOT_LOG_LEVEL", |
| 30 | + "EASYHAPROXY_CERTBOT_EMAIL", |
| 31 | + "EASYHAPROXY_CERTBOT_SERVER", |
| 32 | + "EASYHAPROXY_CERTBOT_AUTOCONFIG", |
| 33 | + "EASYHAPROXY_CERTBOT_EAB_KID", |
| 34 | + "EASYHAPROXY_CERTBOT_EAB_HMAC_KEY", |
| 35 | + "EASYHAPROXY_PLUGINS_ENABLED", |
| 36 | + "EASYHAPROXY_PLUGINS_ABORT_ON_ERROR", |
| 37 | +] |
| 38 | + |
| 39 | + |
19 | 40 | @pytest.fixture(scope="function", autouse=True) |
20 | 41 | def reset_consts(): |
21 | 42 | """ |
22 | | - Reset Consts before and after each test. |
| 43 | + Reset Consts and ContainerEnv environment variables before and after each test. |
23 | 44 |
|
24 | 45 | This ensures: |
25 | 46 | 1. Each test picks up the EASYHAPROXY_BASE_PATH environment variable |
26 | 47 | 2. Tests don't get permission errors trying to write to /etc/easyhaproxy/ |
27 | 48 | 3. Consts path cache is cleared between tests for isolation |
| 49 | + 4. Environment variables set by ContainerEnv._yaml_to_env don't bleed across tests |
28 | 50 | """ |
29 | 51 | from functions import Consts |
30 | 52 | Consts.reset() |
| 53 | + for var in _CONTAINER_ENV_VARS: |
| 54 | + os.environ.pop(var, None) |
31 | 55 | yield |
32 | 56 | Consts.reset() |
| 57 | + for var in _CONTAINER_ENV_VARS: |
| 58 | + os.environ.pop(var, None) |
33 | 59 |
|
34 | 60 |
|
35 | 61 | def pytest_sessionfinish(session, exitstatus): |
|
0 commit comments