Spaces:
Running
Running
| """Tests for environment-driven settings parsing validators.""" | |
| from __future__ import annotations | |
| import pytest | |
| from pydantic import ValidationError | |
| from app.core.settings import Settings | |
| def test_cors_allow_origins_parses_comma_separated_values() -> None: | |
| settings = Settings.model_validate( | |
| {"CORS_ALLOW_ORIGINS": "https://a.example, https://b.example"} | |
| ) | |
| assert settings.cors_allow_origins == ["https://a.example", "https://b.example"] | |
| def test_cors_allow_origins_rejects_invalid_type() -> None: | |
| with pytest.raises(ValidationError): | |
| Settings.model_validate({"CORS_ALLOW_ORIGINS": 123}) | |
| def test_model_allow_list_parses_comma_separated_values() -> None: | |
| settings = Settings.model_validate({"MODEL_ALLOW_LIST": "GPT3-dev, GPT-2"}) | |
| assert settings.model_allow_list == ["GPT3-dev", "GPT-2"] | |
| def test_model_allow_list_rejects_invalid_type() -> None: | |
| with pytest.raises(ValidationError): | |
| Settings.model_validate({"MODEL_ALLOW_LIST": 123}) | |