52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
import datetime
|
|
from pathlib import Path
|
|
from zoneinfo import ZoneInfo
|
|
|
|
from obsidian_import import obsidian
|
|
|
|
EXAMPLE_TIMEZONE = ZoneInfo('Europe/Copenhagen')
|
|
|
|
EXAMPLE_DATE = datetime.date(2020, 1, 1)
|
|
|
|
EXAMPLES = [
|
|
obsidian.Event(
|
|
datetime.datetime(2020, 1, 1, 12, 0, 0, tzinfo=EXAMPLE_TIMEZONE),
|
|
datetime.datetime(2020, 1, 1, 12, 0, 0, tzinfo=EXAMPLE_TIMEZONE),
|
|
'Ate',
|
|
'Lunch',
|
|
'instantly',
|
|
),
|
|
obsidian.Event(
|
|
datetime.datetime(2020, 1, 1, 20, 0, 0, tzinfo=EXAMPLE_TIMEZONE),
|
|
datetime.datetime(2020, 1, 1, 22, 0, 0, tzinfo=EXAMPLE_TIMEZONE),
|
|
'Watched',
|
|
'Tom and Jerry',
|
|
'on the *Television*',
|
|
),
|
|
obsidian.Event(None, None, None, None, 'Took a walk'),
|
|
obsidian.Event(None, None, None, None, 'Watched [[Cyberpunk: Edgerunners]].'),
|
|
]
|
|
|
|
|
|
def test_write_internally():
|
|
vault = obsidian.ObsidianVault(
|
|
Path('test'),
|
|
read_only=True,
|
|
allow_invalid_vault=True,
|
|
)
|
|
vault.daily_folder = Path('daily')
|
|
vault.path_format = 'YYYY-MM-DD'
|
|
vault.template_file_path = Path('daily-template-file.md')
|
|
|
|
vault.add_events(EXAMPLE_DATE, EXAMPLES)
|
|
assert len(vault.internal_file_text_cache) == 2
|
|
|
|
assert vault.internal_file_text_cache[
|
|
Path('test/daily-template-file.md')
|
|
].data.startswith(b'---\n')
|
|
|
|
expected_path = Path('test/daily/2020-01-01.md')
|
|
assert expected_path in vault.internal_file_text_cache
|
|
|
|
assert vault.internal_file_text_cache[expected_path].data.startswith(b'---\naliases:\n')
|