mirror of
https://github.com/jazzband/django-downloadview.git
synced 2026-03-16 22:40:25 +00:00
61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
import os
|
|
|
|
from django.core.files.base import ContentFile
|
|
import django.test
|
|
from django.urls import reverse
|
|
|
|
from django_downloadview.apache import assert_x_sendfile
|
|
|
|
from demoproject.apache.views import storage, storage_dir
|
|
|
|
|
|
def setup_file():
|
|
if not os.path.exists(storage_dir):
|
|
os.makedirs(storage_dir)
|
|
storage.save("hello-world.txt", ContentFile("Hello world!\n"))
|
|
|
|
|
|
class OptimizedByMiddlewareTestCase(django.test.TestCase):
|
|
def test_response(self):
|
|
"""'apache:optimized_by_middleware' returns X-Sendfile response."""
|
|
setup_file()
|
|
url = reverse("apache:optimized_by_middleware")
|
|
response = self.client.get(url)
|
|
assert_x_sendfile(
|
|
self,
|
|
response,
|
|
content_type="text/plain; charset=utf-8",
|
|
basename="hello-world.txt",
|
|
file_path="/apache-optimized-by-middleware/hello-world.txt",
|
|
)
|
|
|
|
|
|
class OptimizedByDecoratorTestCase(django.test.TestCase):
|
|
def test_response(self):
|
|
"""'apache:optimized_by_decorator' returns X-Sendfile response."""
|
|
setup_file()
|
|
url = reverse("apache:optimized_by_decorator")
|
|
response = self.client.get(url)
|
|
assert_x_sendfile(
|
|
self,
|
|
response,
|
|
content_type="text/plain; charset=utf-8",
|
|
basename="hello-world.txt",
|
|
file_path="/apache-optimized-by-decorator/hello-world.txt",
|
|
)
|
|
|
|
|
|
class ModifiedHeadersTestCase(django.test.TestCase):
|
|
def test_response(self):
|
|
"""'apache:modified_headers' returns X-Sendfile response."""
|
|
setup_file()
|
|
url = reverse("apache:modified_headers")
|
|
response = self.client.get(url)
|
|
assert_x_sendfile(
|
|
self,
|
|
response,
|
|
content_type="text/plain; charset=utf-8",
|
|
basename="hello-world.txt",
|
|
file_path="/apache-modified-headers/hello-world.txt",
|
|
)
|
|
self.assertEqual(response["X-Test"], "header")
|