diff --git a/api/tests/test_config.py b/api/tests/test_config.py index 42fadda..e014a37 100644 --- a/api/tests/test_config.py +++ b/api/tests/test_config.py @@ -29,10 +29,34 @@ def test_env_test_is_read(clean_env: pytest.MonkeyPatch) -> None: def test_defaults(clean_env: pytest.MonkeyPatch) -> None: - """Значения по умолчанию: claim email и параметры outbox.""" - s = Settings(_env_file=API_DIR / ".env.test") # type: ignore[call-arg] + """Значения по умолчанию классов настроек: env-файла нет, заданы только обязательные OPENBAO__*.""" + required = { + "OPENBAO__DATABASE__DATABASE_URL": "postgresql+asyncpg://u:p@localhost:5432/d", + "OPENBAO__MINIO__MINIO_URL": "localhost:9000", + "OPENBAO__MINIO__MINIO_ADMIN_LOGIN": "login", + "OPENBAO__MINIO__MINIO_ADMIN_PASSWORD": "password", + "OPENBAO__MINIO__MINIO_BUCKET": "bucket", + "OPENBAO__NATS__NATS_URL": "nats://localhost:4222", + "OPENBAO__SMB__SMB_HOST": "host", + "OPENBAO__SMB__SMB_PATH": "path", + "OPENBAO__SMB__SMB_LOGIN": "login", + "OPENBAO__SMB__SMB_PASSWORD": "password", + } + for key, value in required.items(): + clean_env.setenv(key, value) + s = Settings(_env_file=None) # type: ignore[call-arg] + assert s.DEBUG is False + assert s.AUTH_DEV_ISSUER is False + assert s.AUTH_DEV_SECRET == "" + assert s.AUTH_JWKS_URL == "" + assert s.AUTH_PUBLIC_KEY == "" + assert s.AUTH_ISSUER == "" + assert s.AUTH_AUDIENCE == "" assert s.AUTH_EMAIL_CLAIM == "email" + assert s.NATS_ENABLED is False assert (s.OUTBOX_POLL_SECONDS, s.ACK_TIMEOUT_SECONDS, s.OUTBOX_MAX_REPUBLISH) == (5, 30, 3) + assert s.OPENBAO.NATS.NATS_SEED == "" + assert s.OPENBAO.NATS.NATS_JWT == "" def test_empty_nats_seed_and_jwt_allowed(clean_env: pytest.MonkeyPatch) -> None: