forked from LiveCarta/ContentAutomation
32 lines
1.3 KiB
Python
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"
|