import os from collections.abc import Iterator from typing import Optional import pytest @pytest.fixture(autouse=True) def _aws_creds() -> Iterator[None]: # pyright: ignore[reportUnusedFunction] """Stub AWS creds so botocore doesn't probe the host environment. Applied automatically to every test in ``tests/infrastructure/``. """ keys = ( "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN", "AWS_DEFAULT_REGION", ) prev: dict[str, Optional[str]] = {k: os.environ.get(k) for k in keys} os.environ["AWS_ACCESS_KEY_ID"] = "testing" os.environ["AWS_SECRET_ACCESS_KEY"] = "testing" os.environ["AWS_SESSION_TOKEN"] = "testing" os.environ["AWS_DEFAULT_REGION"] = "us-east-1" try: yield finally: for k, v in prev.items(): if v is None: os.environ.pop(k, None) else: os.environ[k] = v