mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-20 04:58:32 +02:00
unittest multiple overrides
This commit is contained in:
parent
36623c1100
commit
bd61a78fba
3 changed files with 28 additions and 2 deletions
|
@ -52,7 +52,7 @@ def config_override(context, key_as_dots: str, override_value: str):
|
||||||
:
|
:
|
||||||
run(context.parser)
|
run(context.parser)
|
||||||
|
|
||||||
assert mock_recurse.call_count == 2
|
assert mock_recurse.call_count >= 2
|
||||||
mock_recurse.call_args_list = expected_call_args_list
|
mock_recurse.call_args_list = expected_call_args_list
|
||||||
|
|
||||||
except SystemExit as e :
|
except SystemExit as e :
|
||||||
|
|
|
@ -9,6 +9,10 @@ def minimal_config():
|
||||||
"colors": {"body": "red", "date": "green"},
|
"colors": {"body": "red", "date": "green"},
|
||||||
"default": "/tmp/journal.jrnl",
|
"default": "/tmp/journal.jrnl",
|
||||||
"editor": "vim",
|
"editor": "vim",
|
||||||
|
"journals": {
|
||||||
|
"default": "/tmp/journals/journal.jrnl"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
yield cfg
|
yield cfg
|
||||||
|
|
||||||
|
@ -26,6 +30,17 @@ def test_override_dot_notation(minimal_config):
|
||||||
cfg = apply_overrides(overrides=overrides, base_config=cfg)
|
cfg = apply_overrides(overrides=overrides, base_config=cfg)
|
||||||
assert cfg["colors"] == {"body": "blue", "date": "green"}
|
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
|
||||||
|
cfg = apply_overrides(overrides, minimal_config.copy())
|
||||||
|
assert cfg["editor"] == "nano"
|
||||||
|
assert cfg["colors"]["title"] == "magenta"
|
||||||
|
assert "burner" in cfg["journals"]
|
||||||
|
assert cfg["journals"]["burner"] == "/tmp/journals/burner.jrnl"
|
||||||
|
|
||||||
def test_recursively_apply():
|
def test_recursively_apply():
|
||||||
cfg = {"colors": {"body": "red", "title": "green"}}
|
cfg = {"colors": {"body": "red", "title": "green"}}
|
||||||
|
@ -34,6 +49,6 @@ def test_recursively_apply():
|
||||||
|
|
||||||
|
|
||||||
def test_get_config_node(minimal_config):
|
def test_get_config_node(minimal_config):
|
||||||
assert len(minimal_config.keys()) == 3
|
assert len(minimal_config.keys()) == 4
|
||||||
assert _get_config_node(minimal_config, "editor") == "vim"
|
assert _get_config_node(minimal_config, "editor") == "vim"
|
||||||
assert _get_config_node(minimal_config, "display_format") == None
|
assert _get_config_node(minimal_config, "display_format") == None
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
from features.steps.override import config_override
|
||||||
import shlex
|
import shlex
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
@ -218,6 +219,16 @@ def test_color_override():
|
||||||
'--config-override \'{"colors.body": "blue"}\''
|
'--config-override \'{"colors.body": "blue"}\''
|
||||||
) == expected_args(config_override={"colors.body": "blue"})
|
) == expected_args(config_override={"colors.body": "blue"})
|
||||||
|
|
||||||
|
def test_multiple_overrides():
|
||||||
|
assert cli_as_dict(
|
||||||
|
'--config-override \'{"colors.title": "green", "editor":"", "journal.scratchpad": "/tmp/scratchpad"}\''
|
||||||
|
) == expected_args(
|
||||||
|
config_override={
|
||||||
|
"colors.title": "green",
|
||||||
|
"journal.scratchpad": "/tmp/scratchpad",
|
||||||
|
"editor": ""
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
# @see https://github.com/jrnl-org/jrnl/issues/520
|
# @see https://github.com/jrnl-org/jrnl/issues/520
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
|
Loading…
Add table
Reference in a new issue