fixup! ️(backend) implement etag and last_modified cache headers to fetch content

This commit is contained in:
Manuel Raynaud
2026-04-22 11:06:01 +02:00
parent 8d3fbb9b2d
commit 4f646191ca

View File

@@ -233,7 +233,7 @@ def test_api_documents_content_retrieve_deleted_document_for_owner():
def test_api_documents_content_retrieve_reusing_etag():
"""Fetching content reusing a valid ETag header should return a 304"""
"""Fetching content reusing a valid ETag header should return a 304."""
user = factories.UserFactory()
document = factories.DocumentFactory(link_reach="restricted")
@@ -267,7 +267,7 @@ def test_api_documents_content_retrieve_reusing_etag():
def test_api_documents_content_retrieve_reusing_invalid_etag():
"""Fetching content using an invalid ETag header should return a 200"""
"""Fetching content using an invalid ETag header should return a 200."""
user = factories.UserFactory()
document = factories.DocumentFactory(link_reach="restricted")
@@ -298,6 +298,13 @@ def test_api_documents_content_retrieve_reusing_invalid_etag():
)
assert response.status_code == status.HTTP_200_OK
assert b"".join(
response.streaming_content
) == factories.YDOC_HELLO_WORLD_BASE64.encode("utf-8")
assert response["Content-Length"] is not None
assert response["ETag"] is not None
assert response["Last-Modified"] is not None
assert response["Cache-Control"] == "private, no-cache"
def test_api_documents_content_retrieve_using_etag_without_cache():
@@ -327,8 +334,8 @@ def test_api_documents_content_retrieve_using_etag_without_cache():
assert response.status_code == status.HTTP_304_NOT_MODIFIED
def test_api_documents_content_retrive_reusing_last_modified_since():
"""Fetching a content using a If-Modified-Since valid should return a 304"""
def test_api_documents_content_retrieve_reusing_last_modified_since():
"""Fetching a content using a If-Modified-Since valid should return a 304."""
user = factories.UserFactory()
document = factories.DocumentFactory(link_reach="restricted")
@@ -363,10 +370,10 @@ def test_api_documents_content_retrive_reusing_last_modified_since():
assert response.status_code == status.HTTP_304_NOT_MODIFIED
def test_api_documents_content_retrive_using_last_modified_since_without_cache():
def test_api_documents_content_retrieve_using_last_modified_since_without_cache():
"""
Fetching a content using a If-Modified-Since valid should return a 304
event if content metadata are not present in cache
even if content metadata are not present in cache.
"""
user = factories.UserFactory()
@@ -388,8 +395,8 @@ def test_api_documents_content_retrive_using_last_modified_since_without_cache()
assert response.status_code == status.HTTP_304_NOT_MODIFIED
def test_api_documents_content_retrive_reusing_last_modified_since_invalid():
"""Fetching a content using a If-Modified-Since invalid should return a 200"""
def test_api_documents_content_retrieve_reusing_last_modified_since_invalid():
"""Fetching a content using a If-Modified-Since invalid should return a 200."""
user = factories.UserFactory()
document = factories.DocumentFactory(link_reach="restricted")
@@ -424,3 +431,10 @@ def test_api_documents_content_retrive_reusing_last_modified_since_invalid():
)
assert response.status_code == status.HTTP_200_OK
assert b"".join(
response.streaming_content
) == factories.YDOC_HELLO_WORLD_BASE64.encode("utf-8")
assert response["Content-Length"] is not None
assert response["ETag"] is not None
assert response["Last-Modified"] is not None
assert response["Cache-Control"] == "private, no-cache"