Files
MediaManager/media_manager/auth/config.py
wjbeckett 0158ac1040 fix: Add default values to config classes to resolve test validation errors
- Add default instances to all nested config classes (TorrentConfig, NotificationConfig, IndexerConfig, MetadataProviderConfig, AuthConfig)
- Add default values to AllEncompassingConfig fields to prevent validation errors during testing
- Update GitHub workflow to copy config.example.toml before running tests
- Ensures tests can run without requiring complete configuration files while maintaining production functionality

Fixes test collection errors where pydantic validation failed due to missing required config sections.
2025-07-18 16:56:19 +10:00

26 lines
666 B
Python

from pydantic_settings import BaseSettings
from pydantic import Field
import secrets
class OpenIdConfig(BaseSettings):
client_id: str = ""
client_secret: str = ""
configuration_endpoint: str = ""
name: str = "OpenID"
enabled: bool = False
class AuthConfig(BaseSettings):
# to get a signing key run:
# openssl rand -hex 32
token_secret: str = Field(default_factory=secrets.token_hex)
session_lifetime: int = 60 * 60 * 24
admin_emails: list[str] = []
email_password_resets: bool = False
openid_connect: OpenIdConfig = OpenIdConfig()
@property
def jwt_signing_key(self):
return self._jwt_signing_key