mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-06-27 21:16:14 +02:00
Add --config-file argument to use alternate config file at runtime (#1290)
* added new CLI argument option --config-file * pass argument and fetch alt config file if specified * argparse argument setting update * argument alias --cf added * documentation update - usage of CLI argument * fixed name-clash + unit tests * feature test added * #1170-alternate-config-file: Auto stash before rebase of "refs/heads/#1170-alternate-config-file" * Update docs/advanced.md Co-authored-by: Jonathan Wren <jonathan@nowandwren.com> * BDD tests added * Begin migrating/rewording --cf tests in pytest-bdd. Uses current directory instead of deep directory structure, but requires a given for each config file referenced * Fix issue where specifying a config-file that needs to be upgraded ended up upgrading the user config file instead * Uncomment and rework remaining tests for pytest-bdd instead of behave * Fix copytree for Python 3.7 (which doesn't support dirs_exist_ok) * Minor fixes to alternative config examples * Remove behave tests (behave is no longer in use) * Move config file unit test to unit test dir and use pytext path fixture instead of current directory to find test data * Use explicit "given the config exists" for copying config files instead of shoehorning in "given we use the config" twice * Change when/when to when/and * Clarify scenarios and fix indentation * Confirm primary config file isn't modified when encrypting/decrypting a journal in an alternate config file * Remove try/except on copytree since I'm no longer using the same Co-authored-by: Jonathan Wren <jonathan@nowandwren.com> Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
This commit is contained in:
parent
5057c290c1
commit
ae009099ed
10 changed files with 209 additions and 15 deletions
22
tests/unit/test_config_file.py
Normal file
22
tests/unit/test_config_file.py
Normal file
|
@ -0,0 +1,22 @@
|
|||
import pytest
|
||||
import os
|
||||
|
||||
from jrnl.install import find_alt_config
|
||||
|
||||
|
||||
def test_find_alt_config(request):
|
||||
work_config_path = os.path.join(
|
||||
request.fspath.dirname, "..", "data", "configs", "basic_onefile.yaml"
|
||||
)
|
||||
found_alt_config = find_alt_config(work_config_path)
|
||||
assert found_alt_config == work_config_path
|
||||
|
||||
|
||||
def test_find_alt_config_not_exist(request):
|
||||
bad_config_path = os.path.join(
|
||||
request.fspath.dirname, "..", "data", "configs", "not-existing-config.yaml"
|
||||
)
|
||||
with pytest.raises(SystemExit) as ex:
|
||||
found_alt_config = find_alt_config(bad_config_path)
|
||||
assert found_alt_config is not None
|
||||
assert isinstance(ex.value, SystemExit)
|
|
@ -37,6 +37,7 @@ def expected_args(**kwargs):
|
|||
"tags": False,
|
||||
"text": [],
|
||||
"config_override": [],
|
||||
"config_file_path": "",
|
||||
}
|
||||
return {**default_args, **kwargs}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue