(request: FixtureRequest)
| 45 | |
| 46 | @fixture |
| 47 | def env_variables(request: FixtureRequest): |
| 48 | # Set up the environment |
| 49 | env_name: str = request.param |
| 50 | envs = ENV_SETUPS[env_name] |
| 51 | original_env = {key: os.environ.get(key) for key in envs} |
| 52 | os.environ.update(envs) |
| 53 | |
| 54 | yield # Run the test |
| 55 | |
| 56 | # Restore the environment |
| 57 | for key in envs: |
| 58 | if (original_val := original_env.get(key)) is None: |
| 59 | os.environ.pop(key, None) |
| 60 | else: |
| 61 | os.environ[key] = original_val |
| 62 | |
| 63 | |
| 64 | # Store original environment variables to restore later |