Instead of embed or text mode, optionally send a full-page screenshot of the entry URL as a Discord file upload
All checks were successful
Test and build Docker image / docker (push) Successful in 1m26s
All checks were successful
Test and build Docker image / docker (push) Successful in 1m26s
This commit is contained in:
parent
c55610affa
commit
9ec0166e7f
14 changed files with 1571 additions and 241 deletions
|
|
@ -61,3 +61,83 @@ def test_get_webhook_for_entry() -> None:
|
|||
|
||||
# Close the reader, so we can delete the directory.
|
||||
reader.close()
|
||||
|
||||
|
||||
def test_get_reader_sets_default_global_screenshot_layout() -> None:
|
||||
"""get_reader should initialize global screenshot layout to desktop when missing."""
|
||||
get_reader.cache_clear()
|
||||
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
Path.mkdir(Path(temp_dir), exist_ok=True)
|
||||
|
||||
custom_loc: pathlib.Path = pathlib.Path(temp_dir, "screenshot_default_db.sqlite")
|
||||
reader: Reader = get_reader(custom_location=custom_loc)
|
||||
|
||||
screenshot_layout = reader.get_tag((), "screenshot_layout", None)
|
||||
assert screenshot_layout == "desktop", (
|
||||
f"Expected default global screenshot layout to be 'desktop', got: {screenshot_layout}"
|
||||
)
|
||||
|
||||
reader.close()
|
||||
get_reader.cache_clear()
|
||||
|
||||
|
||||
def test_get_reader_preserves_existing_global_screenshot_layout() -> None:
|
||||
"""get_reader should not overwrite an existing global screenshot layout value."""
|
||||
get_reader.cache_clear()
|
||||
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
Path.mkdir(Path(temp_dir), exist_ok=True)
|
||||
|
||||
custom_loc: pathlib.Path = pathlib.Path(temp_dir, "screenshot_existing_db.sqlite")
|
||||
first_reader: Reader = get_reader(custom_location=custom_loc)
|
||||
first_reader.set_tag((), "screenshot_layout", "mobile") # pyright: ignore[reportArgumentType]
|
||||
first_reader.close()
|
||||
get_reader.cache_clear()
|
||||
|
||||
second_reader: Reader = get_reader(custom_location=custom_loc)
|
||||
screenshot_layout = second_reader.get_tag((), "screenshot_layout", None)
|
||||
assert screenshot_layout == "mobile", (
|
||||
f"Expected existing global screenshot layout to stay 'mobile', got: {screenshot_layout}"
|
||||
)
|
||||
|
||||
second_reader.close()
|
||||
get_reader.cache_clear()
|
||||
|
||||
|
||||
def test_get_reader_sets_default_global_delivery_mode() -> None:
|
||||
"""get_reader should initialize global delivery mode to embed when missing."""
|
||||
get_reader.cache_clear()
|
||||
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
Path.mkdir(Path(temp_dir), exist_ok=True)
|
||||
|
||||
custom_loc: pathlib.Path = pathlib.Path(temp_dir, "delivery_mode_default_db.sqlite")
|
||||
reader: Reader = get_reader(custom_location=custom_loc)
|
||||
|
||||
delivery_mode = reader.get_tag((), "delivery_mode", None)
|
||||
assert delivery_mode == "embed", f"Expected default global delivery mode to be 'embed', got: {delivery_mode}"
|
||||
|
||||
reader.close()
|
||||
get_reader.cache_clear()
|
||||
|
||||
|
||||
def test_get_reader_preserves_existing_global_delivery_mode() -> None:
|
||||
"""get_reader should not overwrite an existing global delivery mode value."""
|
||||
get_reader.cache_clear()
|
||||
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
Path.mkdir(Path(temp_dir), exist_ok=True)
|
||||
|
||||
custom_loc: pathlib.Path = pathlib.Path(temp_dir, "delivery_mode_existing_db.sqlite")
|
||||
first_reader: Reader = get_reader(custom_location=custom_loc)
|
||||
first_reader.set_tag((), "delivery_mode", "text") # pyright: ignore[reportArgumentType]
|
||||
first_reader.close()
|
||||
get_reader.cache_clear()
|
||||
|
||||
second_reader: Reader = get_reader(custom_location=custom_loc)
|
||||
delivery_mode = second_reader.get_tag((), "delivery_mode", None)
|
||||
assert delivery_mode == "text", f"Expected existing global delivery mode to stay 'text', got: {delivery_mode}"
|
||||
|
||||
second_reader.close()
|
||||
get_reader.cache_clear()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue