mirror of
https://github.com/Horizontal42/netsleuth.git
synced 2026-11-10 20:22:03 +03:00
test: test pydantic settings custom sources order
Co-authored-by: Horizontal42 <75383519+Horizontal42@users.noreply.github.com>
This commit is contained in:
parent
8c99ac78b7
commit
d97f7b2a1e
1 changed files with 26 additions and 0 deletions
|
|
@ -337,3 +337,29 @@ def test_prefix_bench_max_prefixes_is_capped_so_it_cannot_scan_a_whole_as(tmp_pa
|
|||
path.write_text("prefix_bench:\n max_prefixes: 1000\n", encoding="utf-8")
|
||||
with pytest.raises(ValidationError, match="256"):
|
||||
load_settings(config_path=path, env_file=tmp_path / "nope.env")
|
||||
|
||||
|
||||
def test_settings_customise_sources_order():
|
||||
from unittest.mock import MagicMock
|
||||
from pydantic_settings import PydanticBaseSettingsSource, YamlConfigSettingsSource
|
||||
from netsleuth.config import Settings
|
||||
|
||||
init_settings = MagicMock(spec=PydanticBaseSettingsSource)
|
||||
env_settings = MagicMock(spec=PydanticBaseSettingsSource)
|
||||
dotenv_settings = MagicMock(spec=PydanticBaseSettingsSource)
|
||||
file_secret_settings = MagicMock(spec=PydanticBaseSettingsSource)
|
||||
|
||||
sources = Settings.settings_customise_sources(
|
||||
Settings,
|
||||
init_settings=init_settings,
|
||||
env_settings=env_settings,
|
||||
dotenv_settings=dotenv_settings,
|
||||
file_secret_settings=file_secret_settings,
|
||||
)
|
||||
|
||||
assert len(sources) == 5
|
||||
assert sources[0] is init_settings
|
||||
assert sources[1] is env_settings
|
||||
assert sources[2] is dotenv_settings
|
||||
assert isinstance(sources[3], YamlConfigSettingsSource)
|
||||
assert sources[4] is file_secret_settings
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue