Improve handling of mocking logic in pytest (#1382)

* WIP

* fix handling of user input (stdin, input, getpass)

* take out redundant pytest step

* fix handling of 'we should' statements

* fix test that doesn't use a config file

* fix another test that uses stdin

Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>

* remove .tool-versions file per PR feedback

* add comment to clarify why disembodied variables are here

Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
This commit is contained in:
Jonathan Wren 2021-12-11 12:35:32 -08:00 committed by GitHub
parent 3518e37087
commit 2ab485de8c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 259 additions and 197 deletions

View file

@ -55,7 +55,7 @@ Feature: Using the installed keyring
this password will not be saved in keyring
this password will not be saved in keyring
y
Then we should see the message "Failed to retrieve keyring"
Then the output should contain "Failed to retrieve keyring"
And we should get no error
And we should be prompted for a password
And the config for journal "default" should contain "encrypt: true"
@ -69,7 +69,7 @@ Feature: Using the installed keyring
Then the error output should contain "Failed to retrieve keyring"
And we should get no error
And we should be prompted for a password
And we should see the message "Journal decrypted"
And the output should contain "Journal decrypted"
And the config for journal "default" should contain "encrypt: false"
When we run "jrnl --short"
Then we should not be prompted for a password
@ -96,7 +96,7 @@ Feature: Using the installed keyring
swordfish
sordfish
Then we should be prompted for a password
And we should see the message "Passwords did not match"
And the output should contain "Passwords did not match"
And the config for journal "default" should not contain "encrypt: true"
When we run "jrnl --short"
Then the output should be
@ -113,8 +113,8 @@ Feature: Using the installed keyring
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 output should contain "Passwords did not match"
And the output should contain "Journal encrypted"
And the config for journal "default" should contain "encrypt: true"
When we run "jrnl -1" and enter "swordfish"
Then we should be prompted for a password