Rewrite config checking steps in pytest-bdd

- Take out old type coersion (it was causing needles complexity)
- Take out `read_value_from_string` function
- Use taml parser to parse yaml instead of using custom function
- Update tests to use new implementation

Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
This commit is contained in:
Jonathan Wren 2021-05-22 17:11:14 -07:00
parent b7b7bad2fb
commit 5572833652
4 changed files with 56 additions and 55 deletions

View file

@ -4,7 +4,7 @@ Feature: Encrypting and decrypting journals
Given we use the config "encrypted.yaml"
When we run "jrnl --decrypt" and enter "bad doggie no biscuit"
Then we should see the message "Journal decrypted"
Then the config for journal "default" should have "encrypt" set to "bool:False"
And the config for journal "default" should contain "encrypt: false"
When we run "jrnl -99 --short"
Then the output should be
2013-06-09 15:39 My first entry.
@ -16,7 +16,7 @@ Feature: Encrypting and decrypting journals
# This should warn the user that the journal is already encrypted
Given we use the config "simple.yaml"
When we run "jrnl --decrypt"
Then the config for journal "default" should have "encrypt" set to "bool:False"
Then the config for journal "default" should contain "encrypt: false"
When we run "jrnl -99 --short"
Then the output should be
2013-06-09 15:39 My first entry.
@ -35,7 +35,7 @@ Feature: Encrypting and decrypting journals
swordfish
n
Then we should see the message "Journal encrypted"
And the config for journal "default" should have "encrypt" set to "bool:True"
And the config for journal "default" should contain "encrypt: 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"

View file

@ -7,7 +7,7 @@ Feature: Using the installed keyring
sabertooth
sabertooth
Y
Then the config for journal "simple" should have "encrypt" set to "bool:True"
Then the config for journal "simple" should contain "encrypt: true"
When we run "jrnl simple -n 1"
Then the output should contain "2013-06-10 15:40 Life is good"
@ -58,7 +58,7 @@ Feature: Using the installed keyring
Then we should see the message "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 have "encrypt" set to "bool:True"
And the config for journal "default" should contain "encrypt: true"
Scenario: Decrypt journal when keyring exists but fails
@ -70,7 +70,7 @@ Feature: Using the installed 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 config for journal "default" should have "encrypt" set to "bool:False"
And the config for journal "default" should contain "encrypt: false"
When we run "jrnl --short"
Then we should not be prompted for a password
And the output should be
@ -97,7 +97,7 @@ Feature: Using the installed keyring
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 config for journal "default" should not contain "encrypt: true"
When we run "jrnl --short"
Then the output should be
2013-06-09 15:39 My first entry.
@ -115,7 +115,7 @@ Feature: Using the installed keyring
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"
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
And the output should contain "2013-06-10 15:40 Life is good"

View file

@ -5,7 +5,8 @@ Feature: Upgrading Journals from 1.x.x to 2.x.x
When we run "jrnl -9" and enter "Y"
When we run "jrnl -99 --short"
Then the output should be
@todo something
2010-06-10 15:00 A life without chocolate is like a bad analogy.
2013-06-10 15:40 He said "[this] is the best time to be alive".Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada
And the output should contain
2010-06-10 15:00 A life without chocolate is like a bad analogy.
And the output should contain
@ -23,11 +24,12 @@ Feature: Upgrading Journals from 1.x.x to 2.x.x
Scenario: Upgrading a config without colors to colors
Given we use the config "no_colors.yaml"
When we run "jrnl -n 1"
Then the config should have "colors" set to
date: none
title: none
body: none
tags: none
Then the config should contain
colors:
date: none
title: none
body: none
tags: none
Scenario: Upgrade and parse journals with little endian date format
Given we use the config "upgrade_from_195_little_endian_dates.json"