mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-07-05 07:56:14 +02:00
Simplify config override syntax (#5)
* update tests and expected behavior * clean up arg parsing tests * update deserialization * update deserialization * config argparse action * update override application logic * update tests; delete unused imports * override param must be list * update docstring * update test input to SUT * update remaining override unittests * make format * forgot to update CLI syntax
This commit is contained in:
parent
40f93a9322
commit
6e658c31df
6 changed files with 82 additions and 114 deletions
|
@ -16,24 +16,24 @@ def minimal_config():
|
|||
|
||||
def test_apply_override(minimal_config):
|
||||
config = minimal_config.copy()
|
||||
overrides = {"editor": "nano"}
|
||||
overrides = [{"editor": "nano"}]
|
||||
config = apply_overrides(overrides, config)
|
||||
assert config["editor"] == "nano"
|
||||
|
||||
|
||||
def test_override_dot_notation(minimal_config):
|
||||
cfg = minimal_config.copy()
|
||||
overrides = {"colors.body": "blue"}
|
||||
overrides = [{"colors.body": "blue"}]
|
||||
cfg = apply_overrides(overrides=overrides, base_config=cfg)
|
||||
assert cfg["colors"] == {"body": "blue", "date": "green"}
|
||||
|
||||
|
||||
def test_multiple_overrides(minimal_config):
|
||||
overrides = {
|
||||
"colors.title": "magenta",
|
||||
"editor": "nano",
|
||||
"journals.burner": "/tmp/journals/burner.jrnl",
|
||||
} # as returned by parse_args, saved in parser.config_override
|
||||
overrides = [
|
||||
{"colors.title": "magenta"},
|
||||
{"editor": "nano"},
|
||||
{"journals.burner": "/tmp/journals/burner.jrnl"},
|
||||
] # as returned by parse_args, saved in parser.config_override
|
||||
|
||||
cfg = apply_overrides(overrides, minimal_config.copy())
|
||||
assert cfg["editor"] == "nano"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue