|
1 | 1 | import os
|
2 | 2 | import unittest
|
3 | 3 | from datetime import datetime
|
4 |
| - |
| 4 | + |
5 | 5 | from django.conf import settings
|
6 | 6 |
|
7 | 7 | from ckeditor import views
|
8 | 8 |
|
| 9 | + |
9 | 10 | class ViewsTestCase(unittest.TestCase):
|
10 | 11 | def setUp(self):
|
11 | 12 | # Retain original settings.
|
12 | 13 | self.orig_MEDIA_ROOT = settings.MEDIA_ROOT
|
13 | 14 | self.orig_CKEDITOR_UPLOAD_PATH = settings.CKEDITOR_UPLOAD_PATH
|
14 | 15 | self.orig_MEDIA_URL = settings.MEDIA_URL
|
15 |
| - self.orig_CKEDITOR_RESTRICT_BY_USER = getattr(settings, 'CKEDITOR_RESTRICT_BY_USER', False) |
| 16 | + self.orig_CKEDITOR_RESTRICT_BY_USER = getattr(settings, \ |
| 17 | + 'CKEDITOR_RESTRICT_BY_USER', False) |
16 | 18 |
|
17 | 19 | # Set some test settings.
|
18 | 20 | settings.MEDIA_ROOT = '/media/root/'
|
19 |
| - settings.CKEDITOR_UPLOAD_PATH = os.path.join(settings.MEDIA_ROOT, 'uploads') |
| 21 | + settings.CKEDITOR_UPLOAD_PATH = os.path.join(settings.MEDIA_ROOT, \ |
| 22 | + 'uploads') |
20 | 23 | settings.MEDIA_URL = '/media/'
|
21 | 24 |
|
22 | 25 | # Create dummy test upload path.
|
23 |
| - self.test_path = os.path.join(settings.CKEDITOR_UPLOAD_PATH, 'arbitrary', 'path', 'and', 'filename.ext') |
24 |
| - |
| 26 | + self.test_path = os.path.join(settings.CKEDITOR_UPLOAD_PATH, \ |
| 27 | + 'arbitrary', 'path', 'and', 'filename.ext') |
| 28 | + |
25 | 29 | # Create mock user.
|
26 |
| - self.mock_user = type('User', (object,), dict(username='test_user', is_superuser=False)) |
| 30 | + self.mock_user = type('User', (object,), dict(username='test_user', \ |
| 31 | + is_superuser=False)) |
27 | 32 |
|
28 | 33 | def tearDown(self):
|
29 | 34 | # Reset original settings.
|
30 | 35 | settings.MEDIA_ROOT = self.orig_MEDIA_ROOT
|
31 | 36 | settings.CKEDITOR_UPLOAD_PATH = self.orig_CKEDITOR_UPLOAD_PATH
|
32 | 37 | settings.MEDIA_URL = self.orig_MEDIA_URL
|
33 |
| - settings.CKEDITOR_RESTRICT_BY_USER = self.orig_CKEDITOR_RESTRICT_BY_USER |
| 38 | + settings.CKEDITOR_RESTRICT_BY_USER = \ |
| 39 | + self.orig_CKEDITOR_RESTRICT_BY_USER |
34 | 40 |
|
35 | 41 | def test_get_media_url(self):
|
36 |
| - # If provided prefix URL with CKEDITOR_UPLOAD_PREFIX. |
| 42 | + # If provided prefix URL with CKEDITOR_UPLOAD_PREFIX. |
37 | 43 | settings.CKEDITOR_UPLOAD_PREFIX = '/media/ckuploads/'
|
38 | 44 | prefix_url = '/media/ckuploads/arbitrary/path/and/filename.ext'
|
39 | 45 | self.failUnless(views.get_media_url(self.test_path) == prefix_url)
|
40 |
| - |
41 |
| - # If CKEDITOR_UPLOAD_PREFIX is not provided, the media URL will fall back to MEDIA_URL with the difference of MEDIA_ROOT and the uploaded resource's full path and filename appended. |
| 46 | + |
| 47 | + # If CKEDITOR_UPLOAD_PREFIX is not provided, the media URL will fall |
| 48 | + # back to MEDIA_URL with the difference of MEDIA_ROOT and the |
| 49 | + # uploaded resource's full path and filename appended. |
42 | 50 | settings.CKEDITOR_UPLOAD_PREFIX = None
|
43 | 51 | no_prefix_url = '/media/uploads/arbitrary/path/and/filename.ext'
|
44 | 52 | self.failUnless(views.get_media_url(self.test_path) == no_prefix_url)
|
45 |
| - |
| 53 | + |
46 | 54 | # Resulting URL should never include '//'.
|
47 | 55 | self.failIf('//' in views.get_media_url(self.test_path))
|
48 | 56 |
|
49 | 57 | def test_get_thumb_filename(self):
|
50 |
| - # Thumnbnail filename is the same as original with _thumb inserted before the extension. |
51 |
| - self.failUnless(views.get_thumb_filename(self.test_path) == self.test_path.replace('.ext', '_thumb.ext')) |
52 |
| - # Without an extension thumnbnail filename is the same as original with _thumb appened. |
| 58 | + # Thumnbnail filename is the same as original |
| 59 | + # with _thumb inserted before the extension. |
| 60 | + self.failUnless(views.get_thumb_filename(self.test_path) == \ |
| 61 | + self.test_path.replace('.ext', '_thumb.ext')) |
| 62 | + # Without an extension thumnbnail filename is the same as original |
| 63 | + # with _thumb appened. |
53 | 64 | no_ext_path = self.test_path.replace('.ext', '')
|
54 |
| - self.failUnless(views.get_thumb_filename(no_ext_path) == no_ext_path + '_thumb') |
55 |
| - |
| 65 | + self.failUnless(views.get_thumb_filename(no_ext_path) == \ |
| 66 | + no_ext_path + '_thumb') |
| 67 | + |
56 | 68 | def test_get_image_browse_urls(self):
|
57 | 69 | settings.MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'media')
|
58 |
| - settings.CKEDITOR_UPLOAD_PATH = os.path.join(settings.MEDIA_ROOT, 'test_uploads') |
| 70 | + settings.CKEDITOR_UPLOAD_PATH = os.path.join(settings.MEDIA_ROOT, \ |
| 71 | + 'test_uploads') |
59 | 72 | #settings.CKEDITOR_RESTRICT_BY_USER = True
|
60 |
| - |
61 |
| - # The test_uploads path contains subfolders, we should eventually reach a single dummy resource. |
| 73 | + |
| 74 | + # The test_uploads path contains subfolders, we should eventually reach |
| 75 | + # a single dummy resource. |
62 | 76 | self.failUnless(views.get_image_browse_urls())
|
63 |
| - |
64 |
| - # Ignore thumbnails. |
| 77 | + |
| 78 | + # Ignore thumbnails. |
65 | 79 | self.failUnless(len(views.get_image_browse_urls()) == 1)
|
66 | 80 |
|
67 |
| - # Don't limit browse to user specific path if CKEDITOR_RESTRICT_BY_USER is False. |
| 81 | + # Don't limit browse to user specific path if CKEDITOR_RESTRICT_BY_USER |
| 82 | + # is False. |
68 | 83 | settings.CKEDITOR_RESTRICT_BY_USER = False
|
69 | 84 | self.failUnless(len(views.get_image_browse_urls(self.mock_user)) == 1)
|
70 |
| - |
71 |
| - # Don't limit browse to user specific path if CKEDITOR_RESTRICT_BY_USER is True but user is a superuser. |
| 85 | + |
| 86 | + # Don't limit browse to user specific path if CKEDITOR_RESTRICT_BY_USER |
| 87 | + # is True but user is a superuser. |
72 | 88 | settings.CKEDITOR_RESTRICT_BY_USER = True
|
73 | 89 | self.mock_user.is_superuser = True
|
74 | 90 | self.failUnless(len(views.get_image_browse_urls(self.mock_user)) == 1)
|
75 |
| - |
76 |
| - # Limit browse to user specific path if CKEDITOR_RESTRICT_BY_USER is True and user is not a superuser. |
| 91 | + |
| 92 | + # Limit browse to user specific path if CKEDITOR_RESTRICT_BY_USER is |
| 93 | + # True and user is not a superuser. |
77 | 94 | settings.CKEDITOR_RESTRICT_BY_USER = True
|
78 | 95 | self.mock_user.is_superuser = False
|
79 | 96 | self.failIf(views.get_image_browse_urls(self.mock_user))
|
80 |
| - |
81 |
| - settings.CKEDITOR_RESTRICT_BY_USER = self.orig_CKEDITOR_RESTRICT_BY_USER |
| 97 | + |
| 98 | + settings.CKEDITOR_RESTRICT_BY_USER = \ |
| 99 | + self.orig_CKEDITOR_RESTRICT_BY_USER |
82 | 100 |
|
83 | 101 | def test_get_upload_filename(self):
|
84 | 102 | settings.CKEDITOR_UPLOAD_PATH = self.orig_CKEDITOR_UPLOAD_PATH
|
85 | 103 | date_path = datetime.now().strftime('%Y/%m/%d')
|
86 |
| - |
87 |
| - # Don't upload to user specific path if CKEDITOR_RESTRICT_BY_USER is False. |
| 104 | + |
| 105 | + # Don't upload to user specific path if CKEDITOR_RESTRICT_BY_USER |
| 106 | + # is False. |
88 | 107 | settings.CKEDITOR_RESTRICT_BY_USER = False
|
89 | 108 | filename = views.get_upload_filename('test.jpg', self.mock_user)
|
90 |
| - self.failIf(filename.replace('/%s/test.jpg' % date_path, '').endswith(self.mock_user.username)) |
91 |
| - |
| 109 | + self.failIf(filename.replace('/%s/test.jpg' % date_path, '').\ |
| 110 | + endswith(self.mock_user.username)) |
| 111 | + |
92 | 112 | # Upload to user specific path if CKEDITOR_RESTRICT_BY_USER is True.
|
93 | 113 | settings.CKEDITOR_RESTRICT_BY_USER = True
|
94 | 114 | filename = views.get_upload_filename('test.jpg', self.mock_user)
|
95 |
| - self.failUnless(filename.replace('/%s/test.jpg' % date_path, '').endswith(self.mock_user.username)) |
| 115 | + self.failUnless(filename.replace('/%s/test.jpg' % date_path, '').\ |
| 116 | + endswith(self.mock_user.username)) |
96 | 117 |
|
97 |
| - # Upload path should end in current date structure. |
| 118 | + # Upload path should end in current date structure. |
98 | 119 | filename = views.get_upload_filename('test.jpg', self.mock_user)
|
99 | 120 | self.failUnless(filename.replace('/test.jpg', '').endswith(date_path))
|
100 |
| - |
101 |
| - settings.CKEDITOR_RESTRICT_BY_USER = self.orig_CKEDITOR_RESTRICT_BY_USER |
| 121 | + |
| 122 | + settings.CKEDITOR_RESTRICT_BY_USER = \ |
| 123 | + self.orig_CKEDITOR_RESTRICT_BY_USER |
0 commit comments