mirror of
https://github.com/boostorg/website-v2.git
synced 2026-02-27 17:42:08 +00:00
- Add RenderedContent model and related helper methods - Change StaticContentView `get()` logic to try the cache, then the db, then S3 - Change StaticContentView to update db appropriately - Refactoring for readability/maintainability
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
import pytest
|
|
import tempfile
|
|
from unittest.mock import patch
|
|
|
|
from django.core.cache import caches
|
|
from django.test import override_settings
|
|
|
|
from core.tasks import adoc_to_html
|
|
|
|
|
|
@override_settings(
|
|
CACHES={
|
|
"default": {
|
|
"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
|
|
"LOCATION": "unique-snowflake",
|
|
},
|
|
"machina_attachments": {
|
|
"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
|
|
"LOCATION": "another-unique-snowflake",
|
|
},
|
|
"static_content": {
|
|
"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
|
|
"LOCATION": "third-unique-snowflake",
|
|
"TIMEOUT": "60", # Cache timeout in seconds: 1 minute
|
|
},
|
|
}
|
|
)
|
|
def test_adoc_to_html():
|
|
# Get the static content cache
|
|
caches["static_content"]
|
|
|
|
# The content of the sample adoc file
|
|
sample_adoc_content = "= Document Title\n\nThis is a sample document.\n"
|
|
|
|
# Write the content to a temporary file
|
|
with tempfile.NamedTemporaryFile(delete=False) as temp_file:
|
|
temp_file.write(sample_adoc_content.encode())
|
|
temp_file_path = temp_file.name
|
|
|
|
# Execute the task
|
|
with patch("core.tasks.subprocess.run") as mock_run:
|
|
mock_run.return_value.stdout = "html_content".encode()
|
|
adoc_to_html(temp_file_path, delete_file=True)
|
|
|
|
# Verify that the temporary file has been deleted
|
|
with pytest.raises(FileNotFoundError):
|
|
with open(temp_file_path, "r"):
|
|
pass
|