mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-11 00:58:31 +02:00
* make behave slightly less verbose for use with behave --format progress2 * standardize behave tests * move tests around to be more behavior driven * clean up txt file after tests * add more tests, add more functionality to behave for calling mock editor * move around behave tests, get rid of regression files * clean up some code around keyrings * add more placeholder test scenarios (marked with @todo) You can run just these tests with `behave --no-skipped --tags=todo` * fix "missing_directory" test This test was missing the config file it was trying to use. So, it was really a very useless, broken test that we absolutely should not have approved the PR (#963) for. * add write tests for each journal type * update version tests, add new regex match behave step * add config test outlines * add journal types to some search tests * change "basic" config reference to "simple" * update configs * add more journal types in search * fix basic folder journal reference * add flush output steps to behave, update delete flag tests * fix failing test with a flush * update more delete flag tests to include other journal types * fix file cleanup after failed test with no debug on * fix password test * fix DayOne tag sample data, move search/format tag tests, and run them on multiple jrnl types * added ability to auto-prompt for password for encrypted journals Only uses password when prompted, and doesn't get in the way of other input prompts. This allows us to run the same scenarios on both encrypted journals and other journal types. * fold encrypted scenarios into the rest of the scenarios where possible * remove apostrophe that is breaking tests on CI * add more journal type tests to import feature * standardize whitespace in behave tests, take out duplicate test * update handling of cache directories in test suite (easier syntax) * skip failing YAML exporter emoji test on Windows * added @todo tags for things that need follow-up Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
87 lines
2.9 KiB
Gherkin
87 lines
2.9 KiB
Gherkin
Feature: Using the installed keyring
|
|
|
|
Scenario: Storing a password in keyring
|
|
Given we use the config "multiple.yaml"
|
|
And we have a keyring
|
|
When we run "jrnl simple --encrypt" and enter
|
|
"""
|
|
sabertooth
|
|
sabertooth
|
|
y
|
|
"""
|
|
Then the config for journal "simple" should have "encrypt" set to "bool:True"
|
|
When we run "jrnl simple -n 1"
|
|
Then the output should contain "2013-06-10 15:40 Life is good"
|
|
|
|
Scenario: Encrypt journal with no keyring backend and do not store in keyring
|
|
Given we use the config "simple.yaml"
|
|
And we do not have a keyring
|
|
When we run "jrnl test entry"
|
|
And we run "jrnl --encrypt" and enter
|
|
"""
|
|
password
|
|
password
|
|
n
|
|
"""
|
|
Then we should get no error
|
|
|
|
Scenario: Encrypt journal with no keyring backend and do store in keyring
|
|
Given we use the config "simple.yaml"
|
|
And we do not have a keyring
|
|
When we run "jrnl test entry"
|
|
And we run "jrnl --encrypt" and enter
|
|
"""
|
|
password
|
|
password
|
|
y
|
|
"""
|
|
Then we should get no error
|
|
# @todo add step to check contents of keyring
|
|
|
|
@todo
|
|
Scenario: Open an encrypted journal with wrong password in keyring
|
|
# This should ask the user for the password after the keyring fails
|
|
|
|
@todo
|
|
Scenario: Open encrypted journal when keyring exists but fails
|
|
# This should ask the user for the password after the keyring fails
|
|
|
|
@todo
|
|
Scenario: Decrypt journal with password in keyring
|
|
|
|
@todo
|
|
Scenario: Decrypt journal without a keyring
|
|
|
|
@todo
|
|
Scenario: Decrypt journal when keyring exists but fails
|
|
# This should ask the user for the password after the keyring fails
|
|
|
|
Scenario: Mistyping your password
|
|
Given we use the config "simple.yaml"
|
|
When we run "jrnl --encrypt" and enter
|
|
"""
|
|
swordfish
|
|
sordfish
|
|
"""
|
|
Then we should be prompted for a password
|
|
And we should see the message "Passwords did not match"
|
|
And the config for journal "default" should not have "encrypt" set
|
|
And the journal should have 2 entries
|
|
|
|
Scenario: Mistyping your password, then getting it right
|
|
Given we use the config "simple.yaml"
|
|
When we run "jrnl --encrypt" and enter
|
|
"""
|
|
swordfish
|
|
sordfish
|
|
swordfish
|
|
swordfish
|
|
n
|
|
"""
|
|
Then we should be prompted for a password
|
|
And we should see the message "Passwords did not match"
|
|
And we should see the message "Journal encrypted"
|
|
And the config for journal "default" should have "encrypt" set to "bool:True"
|
|
When we run "jrnl -n 1" and enter "swordfish"
|
|
Then we should be prompted for a password
|
|
And the output should contain "2013-06-10 15:40 Life is good"
|