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

Function test_cli_serialize_styles

tests/test_source_cli.py:3294–3329  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3292
3293
3294def test_cli_serialize_styles():
3295 class Cfg(BaseModel):
3296 my_list: list[int]
3297 my_dict: dict[str, int]
3298
3299 cfg = Cfg(my_list=[1, 2, 3], my_dict={'a': 1, 'b': 2, 'c': 3})
3300
3301 serialized_cli_args = CliApp.serialize(cfg, list_style='lazy')
3302 assert CliApp.run(Cfg, cli_args=serialized_cli_args).model_dump() == cfg.model_dump()
3303 assert serialized_cli_args == ['--my-list', '1,2,3', '--my-dict', '{"a": 1, "b": 2, "c": 3}']
3304
3305 serialized_cli_args = CliApp.serialize(cfg, list_style='argparse')
3306 assert CliApp.run(Cfg, cli_args=serialized_cli_args).model_dump() == cfg.model_dump()
3307 assert serialized_cli_args == [
3308 '--my-list',
3309 '1',
3310 '--my-list',
3311 '2',
3312 '--my-list',
3313 '3',
3314 '--my-dict',
3315 '{"a": 1, "b": 2, "c": 3}',
3316 ]
3317
3318 serialized_cli_args = CliApp.serialize(cfg, dict_style='env')
3319 assert CliApp.run(Cfg, cli_args=serialized_cli_args).model_dump() == cfg.model_dump()
3320 assert serialized_cli_args == [
3321 '--my-list',
3322 '[1, 2, 3]',
3323 '--my-dict',
3324 'a=1',
3325 '--my-dict',
3326 'b=2',
3327 '--my-dict',
3328 'c=3',
3329 ]
3330
3331
3332def test_cli_decoding():

Callers

nothing calls this directly

Calls 3

serializeMethod · 0.80
runMethod · 0.80
CfgClass · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…