diff options
author | Josh <josh@halfnibble.com> | 2016-03-02 04:54:50 -0800 |
---|---|---|
committer | Josh <josh@halfnibble.com> | 2016-03-02 04:54:50 -0800 |
commit | 39b61bff13f41b7c779d57e16eef717dfffbe6b9 (patch) | |
tree | 0fcce870d8faf246e2624c75fd7db091ea5a7206 | |
parent | ca8b99207a8a135ea1b970bd610ac8fa8fe2741a (diff) | |
download | django-wkhtmltopdf-39b61bff13f41b7c779d57e16eef717dfffbe6b9.tar.gz django-wkhtmltopdf-39b61bff13f41b7c779d57e16eef717dfffbe6b9.tar.bz2 django-wkhtmltopdf-39b61bff13f41b7c779d57e16eef717dfffbe6b9.zip |
Add test for temporary file is closed/deleted.
-rw-r--r-- | wkhtmltopdf/tests/tests.py | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/wkhtmltopdf/tests/tests.py b/wkhtmltopdf/tests/tests.py index 822f529..b3c9ea1 100644 --- a/wkhtmltopdf/tests/tests.py +++ b/wkhtmltopdf/tests/tests.py @@ -14,7 +14,8 @@ from django.utils.encoding import smart_str from wkhtmltopdf.subprocess import CalledProcessError from wkhtmltopdf.utils import (_options_to_args, make_absolute_paths, - wkhtmltopdf, render_to_temporary_file) + wkhtmltopdf, render_to_temporary_file, + RenderedFile) from wkhtmltopdf.views import PDFResponse, PDFTemplateView, PDFTemplateResponse @@ -30,6 +31,7 @@ class UnicodeContentPDFTemplateView(PDFTemplateView): context['title'] = u'♥' return context + class TestUtils(TestCase): def setUp(self): # Clear standard error @@ -94,6 +96,28 @@ class TestUtils(TestCase): self.assertTrue(title in saved_content) temp_file.close() + def _render_file(self, template, context): + """Helper method for test_rendered_filed_deletion test.""" + render = RenderedFile(template=template, context=context) + render.temporary_file.seek(0) + saved_content = smart_str(render.temporary_file.read()) + + return (saved_content, render.filename) + + def test_rendered_filed_deletion(self): + """If WKHTMLTOPDF_DEBUG=False, delete rendered file on object close.""" + title = 'A test template.' + template = loader.get_template('sample.html') + debug = getattr(settings, 'WKHTMLTOPDF_DEBUG', settings.DEBUG) + + saved_content, filename = self._render_file(template=template, + context={'title': title}) + # First verify temp file was actually rendered. + self.assertTrue(title in saved_content) + + # Then check if file is deleted when DEBUG=False. + self.assertEqual(os.path.isfile(filename), debug) + class TestViews(TestCase): template = 'sample.html' |