1
0
Files
ContentAutomation/tests/test_settings.py

32 lines
1.3 KiB
Python

from __future__ import annotations
from content_automation.settings import AppSettings
def test_settings_parse_nested_env(monkeypatch) -> None:
monkeypatch.setenv("CONTENT_AUTOMATION_TARGET_SOCIAL_NETWORKS", '["youtube"]')
monkeypatch.setenv("CONTENT_AUTOMATION_YOUTUBE__ACCESS_TOKEN", "yt-token")
monkeypatch.setenv("CONTENT_AUTOMATION_YOUTUBE__USE_RESUMABLE_UPLOAD", "true")
monkeypatch.setenv("CONTENT_AUTOMATION_STORAGE__BACKEND", "s3")
monkeypatch.setenv("CONTENT_AUTOMATION_STORAGE__S3__BUCKET_NAME", "bucket-a")
monkeypatch.setenv("CONTENT_AUTOMATION_MONGODB__ENABLED", "true")
monkeypatch.setenv(
"CONTENT_AUTOMATION_MONGODB__CONNECTION_URI",
"mongodb://localhost:27017",
)
monkeypatch.setenv(
"CONTENT_AUTOMATION_MONGODB__DATABASE_NAME",
"content-automation",
)
settings = AppSettings()
assert settings.target_social_networks == ["youtube"]
assert settings.youtube.access_token == "yt-token"
assert settings.youtube.use_resumable_upload is True
assert settings.storage.backend == "s3"
assert settings.storage.s3.bucket_name == "bucket-a"
assert settings.mongodb.enabled is True
assert settings.mongodb.connection_uri == "mongodb://localhost:27017"
assert settings.mongodb.database_name == "content-automation"