mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 16:48:31 +02:00
Warn when DayOne/directory journals have encrypt: true in config (#1325)
* Raise exception when trying to commit folder-based journal (including DayOne) * Change negative bool name to a positive * Add test to ensure this doesn't mess with encrypting normal journals * Consolidate and standardized tests * Add failing test for new error message about unencryptable journals * Warn when encrypt is true and journal type is directory/DayOne
This commit is contained in:
parent
c52e878c01
commit
fa146b1434
2 changed files with 15 additions and 2 deletions
|
@ -407,6 +407,12 @@ def open_journal(journal_name, config, legacy=False):
|
||||||
config["journal"] = os.path.expanduser(os.path.expandvars(config["journal"]))
|
config["journal"] = os.path.expanduser(os.path.expandvars(config["journal"]))
|
||||||
|
|
||||||
if os.path.isdir(config["journal"]):
|
if os.path.isdir(config["journal"]):
|
||||||
|
if config["encrypt"]:
|
||||||
|
print(
|
||||||
|
"Warning: This journal's config has 'encrypt' set to true, but this type of journal can't be encrypted.",
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
|
|
||||||
if config["journal"].strip("/").endswith(".dayone") or "entries" in os.listdir(
|
if config["journal"].strip("/").endswith(".dayone") or "entries" in os.listdir(
|
||||||
config["journal"]
|
config["journal"]
|
||||||
):
|
):
|
||||||
|
|
|
@ -41,9 +41,16 @@ Feature: Encrypting and decrypting journals
|
||||||
Then we should be prompted for a password
|
Then we should be prompted for a password
|
||||||
And the output should contain "2013-06-10 15:40 Life is good"
|
And the output should contain "2013-06-10 15:40 Life is good"
|
||||||
|
|
||||||
|
|
||||||
|
Scenario Outline: Running jrnl with encrypt: true on unencryptable journals
|
||||||
|
Given we use the config "<config_file>"
|
||||||
|
When we run "jrnl --config-override encrypt true here is a new entry"
|
||||||
|
Then the error output should contain "this type of journal can't be encrypted"
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| basic_onefile.yaml |
|
| basic_folder.yaml |
|
||||||
|
| basic_dayone.yaml |
|
||||||
|
|
||||||
|
|
||||||
Scenario Outline: Attempt to encrypt a folder or DayOne journal should result in an error
|
Scenario Outline: Attempt to encrypt a folder or DayOne journal should result in an error
|
||||||
|
|
Loading…
Add table
Reference in a new issue