mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 16:48:31 +02:00
* 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>
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
# Copyright (C) 2012-2021 jrnl contributors
|
|
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
|
|
|
import functools
|
|
import os
|
|
|
|
|
|
def does_directory_contain_files(file_list, directory_path):
|
|
if not os.path.isdir(directory_path):
|
|
return False
|
|
|
|
for file in file_list.split("\n"):
|
|
fullpath = directory_path + "/" + file
|
|
if not os.path.isfile(fullpath):
|
|
return False
|
|
|
|
return True
|
|
|
|
|
|
def parse_should_or_should_not(should_or_should_not):
|
|
if should_or_should_not == "should":
|
|
return True
|
|
elif should_or_should_not == "should not":
|
|
return False
|
|
else:
|
|
raise Exception(
|
|
"should_or_should_not valid values are 'should' or 'should not'"
|
|
)
|
|
|
|
|
|
def assert_equal_tags_ignoring_order(
|
|
actual_line, expected_line, actual_content, expected_content
|
|
):
|
|
actual_tags = set(tag.strip() for tag in actual_line[len("tags: ") :].split(","))
|
|
expected_tags = set(
|
|
tag.strip() for tag in expected_line[len("tags: ") :].split(",")
|
|
)
|
|
assert actual_tags == expected_tags, [
|
|
[actual_tags, expected_tags],
|
|
[expected_content, actual_content],
|
|
]
|
|
|
|
|
|
# @see: https://stackoverflow.com/a/65782539/569146
|
|
def get_nested_val(dictionary, path, *default):
|
|
try:
|
|
return functools.reduce(lambda x, y: x[y], path.split("."), dictionary)
|
|
except KeyError:
|
|
if default:
|
|
return default[0]
|
|
raise
|