* 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>
* update yaml loader to new method
* Add config overrides steps to pytest
This requires some patching around the config object, which now happens
in every test.
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* udpate docs for new tests
* remove behave from deps
* remove feature dir from flake8 checks
* udpate lock file
* disable pip version check (it keeps spamming the pipeline)
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* add newer tests to pytest (from behave)
* remove 'lib' from gitignore (since we're using it)
* fix capitalization in some steps
* add 'the editor should not have been called' step
* comment out config override step in pytest-bdd since it's not implemented yet
* remove test that didn't really test anything
* implement some missing steps in pytest-bdd
* change comment to match other tests
* Re-enable failing folder/DayOne tests
* Disable dayone tests again - out of scope for this problem
* Fix folder journal deletion by tracking which dates are associated with deleted entries
* 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
* Re-enable failing directory journal import tests
* Appropriately track journal name and modified entries in FolderJournal when importing
* Run make format
* Raise exception when trying to commit folder-based journal (including DayOne)
* Add test to ensure this doesn't mess with encrypting normal journals
* Consolidate and standardized tests
Now that all the tests are passing, this breaks them up into a few
different files to make everything more organized.
Note: Pyflakes is complaining about some unused import statements.
- Misc linting issues
- Whitespace cleanup
- Entire test suite is now passing
- Add misc todo items in comments
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- 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>
- Implement mock editor fixture
- Add fixture to keep track of editor state
- Implement various steps to check editor state
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Implement cache dir fixture and step
- Implement various steps to check the cache directory (files contained,
etc)
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Use regex parser in pytest-bdd to support "we run" steps that also
have user input ("and enter")
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Handling should and should not like this should reduce the amount of
fixtures we need for the test suite
- Add more password tests
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Fix some input handling in steps (especially for passwords)
- Fix some formatting issues
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Scaffold some tests that will be added later
- Add fixtures for journal name and keyring type
- Add "we should be prompted for a password" step
- Add "we should not be prompted for a password" step
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Implement TestKeyring
- Implement NoKeyring
- Implement FailedKeyring
- Copy in `read_value_from_string` function from old tests (will
probably rewrite this later)
- Add fixtures for keyrings
- Implement "we have a keyring" step
- Implement step to check specific config values for tests
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Makefile no longer runs on virtual env modules
- Update some function names so pyflakes doesn't error
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>