12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import os
- from django.conf import settings
- from django.http import HttpResponse, StreamingHttpResponse
- from django.test import TestCase
- from misago.core import fileserver
- class FileServerTests(TestCase):
- def test_send_file(self):
- """send file produces valid response"""
- with self.settings(MISAGO_SENDFILE_HEADER='X-Test'):
- response = fileserver.make_file_response(__file__, 'text/python')
- self.assertTrue(isinstance(response, HttpResponse))
- self.assertEqual(response['X-Test'], __file__)
- with self.settings(MISAGO_SENDFILE_HEADER=''):
- response = fileserver.make_file_response(__file__, 'text/python')
- self.assertTrue(isinstance(response, StreamingHttpResponse))
- def test_rewrite_file_path(self):
- """file paths are rewritten"""
- with self.settings(MISAGO_SENDFILE_LOCATIONS_PATH='mymisagopath'):
- test_path = '%s/somefile.png' % settings.MISAGO_AVATAR_STORE
- rewritten_path = fileserver.rewrite_file_path(test_path)
- self.assertTrue(rewritten_path.startswith('/mymisagopath/'))
- with self.assertRaises(ValueError):
- fileserver.rewrite_file_path('some/non_rewrriten/path.zip')
- def test_send_header(self):
- """call to header response function returns HttpResponse"""
- with self.settings(MISAGO_SENDFILE_HEADER='X-Test'):
- response = fileserver.make_header_response(
- __file__, 'text/python', 9)
- self.assertTrue(isinstance(response, HttpResponse))
- self.assertEqual(response['X-Test'], __file__)
- def test_send_stream(self):
- """call to streaming response function returns StreamingHttpResponse"""
- response = fileserver.make_stream_response(__file__, 'text/python', 9)
- self.assertTrue(isinstance(response, StreamingHttpResponse))
|