From eeaabd2a37bf6bf4614bdbcac3d638bec8796e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Bryon?= Date: Mon, 3 Mar 2014 08:15:46 +0100 Subject: [PATCH] Refs #80 - Added a test around demo's 'object:inline_file' URL. --- demo/demoproject/object/tests.py | 14 ++++++++++++++ demo/demoproject/object/urls.py | 3 +++ django_downloadview/test.py | 9 +++++++-- docs/views/object.txt | 2 +- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/demo/demoproject/object/tests.py b/demo/demoproject/object/tests.py index 4b6b537..527936a 100644 --- a/demo/demoproject/object/tests.py +++ b/demo/demoproject/object/tests.py @@ -68,3 +68,17 @@ class DeserializedBasenameTestCase(django.test.TestCase): content=file_content, basename=basename, mime_type='text/plain') + + +class InlineFileTestCase(django.test.TestCase): + @temporary_media_root() + def test_download_response(self): + "'inline_file_view' streams Document.file inline." + setup_document() + url = reverse('object:inline_file', kwargs={'slug': slug}) + response = self.client.get(url) + assert_download_response(self, + response, + content=file_content, + mime_type='text/plain', + attachment=False) diff --git a/demo/demoproject/object/urls.py b/demo/demoproject/object/urls.py index 1e16d08..a231fa1 100644 --- a/demo/demoproject/object/urls.py +++ b/demo/demoproject/object/urls.py @@ -14,4 +14,7 @@ urlpatterns = patterns( url(r'^deserialized_basename/(?P[a-zA-Z0-9_-]+)/$', views.deserialized_basename_view, name='deserialized_basename'), + url(r'^inline-file/(?P[a-zA-Z0-9_-]+)/$', + views.inline_file_view, + name='inline_file'), ) diff --git a/django_downloadview/test.py b/django_downloadview/test.py index 714e8c2..ef0ba00 100644 --- a/django_downloadview/test.py +++ b/django_downloadview/test.py @@ -144,8 +144,13 @@ class DownloadResponseValidator(object): value) def assert_attachment(self, test_case, response, value): - test_case.assertEqual('attachment;' in response['Content-Disposition'], - value) + if value: + test_case.assertTrue( + 'attachment;' in response['Content-Disposition']) + else: + test_case.assertTrue( + 'Content-Disposition' not in response + or 'attachment;' not in response['Content-Disposition']) def assert_download_response(test_case, response, **assertions): diff --git a/docs/views/object.txt b/docs/views/object.txt index 2ed45ce..db49996 100644 --- a/docs/views/object.txt +++ b/docs/views/object.txt @@ -38,7 +38,7 @@ Setup a view to stream the ``file`` attribute: .. literalinclude:: /../demo/demoproject/object/urls.py :language: python - :lines: 1-7, 8-10, 17 + :lines: 1-7, 8-10, 20 ************