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

Function test_cli_variadic_positional_arg

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

Source from the content-addressed store, hash-verified

1547
1548
1549def test_cli_variadic_positional_arg(env):
1550 class MainRequired(BaseSettings):
1551 model_config = SettingsConfigDict(cli_parse_args=True)
1552
1553 values: CliPositionalArg[list[int]]
1554
1555 class MainOptional(MainRequired):
1556 values: CliPositionalArg[list[int]] = [1, 2, 3]
1557
1558 assert CliApp.run(MainOptional, cli_args=[]).model_dump() == {'values': [1, 2, 3]}
1559 with pytest.raises(SettingsError, match='error parsing CLI: the following arguments are required: VALUES'):
1560 CliApp.run(MainRequired, cli_args=[], cli_exit_on_error=False)
1561
1562 env.set('VALUES', '[4,5,6]')
1563 assert CliApp.run(MainOptional, cli_args=[]).model_dump() == {'values': [4, 5, 6]}
1564 with pytest.raises(SettingsError, match='error parsing CLI: the following arguments are required: VALUES'):
1565 CliApp.run(MainRequired, cli_args=[], cli_exit_on_error=False)
1566
1567 assert CliApp.run(MainOptional, cli_args=['7', '8', '9']).model_dump() == {'values': [7, 8, 9]}
1568 assert CliApp.run(MainRequired, cli_args=['7', '8', '9']).model_dump() == {'values': [7, 8, 9]}
1569
1570
1571def test_cli_variadic_positional_arg_custom_type():

Callers

nothing calls this directly

Calls 2

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…