MCPcopy Create free account
hub / github.com/pydantic/pydantic-settings / test_cli_source_prioritization

Function test_cli_source_prioritization

tests/test_source_cli.py:209–233  ·  view source on GitHub ↗
(env)

Source from the content-addressed store, hash-verified

207
208
209def test_cli_source_prioritization(env):
210 class CfgDefault(BaseSettings):
211 foo: str
212
213 class CfgPrioritized(BaseSettings):
214 foo: str
215
216 @classmethod
217 def settings_customise_sources(
218 cls,
219 settings_cls: type[BaseSettings],
220 init_settings: PydanticBaseSettingsSource,
221 env_settings: PydanticBaseSettingsSource,
222 dotenv_settings: PydanticBaseSettingsSource,
223 file_secret_settings: PydanticBaseSettingsSource,
224 ) -> tuple[PydanticBaseSettingsSource, ...]:
225 return env_settings, CliSettingsSource(settings_cls, cli_parse_args=['--foo', 'FOO FROM CLI'])
226
227 env.set('FOO', 'FOO FROM ENV')
228
229 cfg = CliApp.run(CfgDefault, cli_args=['--foo', 'FOO FROM CLI'])
230 assert cfg.model_dump() == {'foo': 'FOO FROM CLI'}
231
232 cfg = CfgPrioritized()
233 assert cfg.model_dump() == {'foo': 'FOO FROM ENV'}
234
235
236def test_cli_alias_subcommand_and_positional_args(capsys, monkeypatch):

Callers

nothing calls this directly

Calls 3

CfgPrioritizedClass · 0.85
runMethod · 0.80
setMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…