|
7 | 7 | from django.urls import clear_url_caches, resolve, reverse |
8 | 8 |
|
9 | 9 | from martor.utils import markdownify |
10 | | -from martor.views import markdown_imgur_uploader, markdown_search_user, markdownfy_view |
11 | 10 |
|
12 | 11 |
|
13 | 12 | class SimpleTest(TestCase): |
14 | 13 | def _on_settings_changed(self, sender, **kwargs): |
15 | 14 | # Reload settings.py and urls.py when @override_settings is called |
16 | 15 | clear_url_caches() |
17 | 16 | reload(sys.modules["martor.settings"]) |
| 17 | + if "martor.views" in sys.modules: |
| 18 | + reload(sys.modules["martor.views"]) |
18 | 19 | reload(sys.modules["martor.urls"]) |
19 | 20 | reload(sys.modules["martor.tests.urls"]) |
20 | 21 |
|
@@ -135,20 +136,42 @@ def test_markdownify_xss_handled(self): |
135 | 136 | '<p><a href="" onmouseover=alert(document.domain)">xss</a>)</p>', # noqa: E501 |
136 | 137 | ) |
137 | 138 |
|
| 139 | + @override_settings( |
| 140 | + MARTOR_ENABLE_CONFIGS={ |
| 141 | + "mention": "false", |
| 142 | + } |
| 143 | + ) |
| 144 | + def test_search_user_mention_disabled(self): |
| 145 | + response = self.client.get(reverse("search_user_json") + "?username=user") |
| 146 | + self.assertEqual(response.status_code, 200) |
| 147 | + self.assertEqual(response.json()["status"], 403) |
| 148 | + self.assertEqual(response.json()["error"], "This feature is disabled, check the documentation") |
| 149 | + |
| 150 | + @override_settings( |
| 151 | + MARTOR_ENABLE_CONFIGS={ |
| 152 | + "mention": "true", |
| 153 | + } |
| 154 | + ) |
| 155 | + def test_search_user_mention_enabled(self): |
| 156 | + response = self.client.get(reverse("search_user_json") + "?username=user1") |
| 157 | + self.assertEqual(response.status_code, 200) |
| 158 | + self.assertEqual(response.json()["status"], 200) |
| 159 | + self.assertEqual(response.json()["data"], ["user1"]) |
| 160 | + |
138 | 161 | def test_urls(self): |
139 | 162 | with override_settings( |
140 | 163 | MARTOR_MARKDOWNIFY_URL="test/url", |
141 | 164 | MARTOR_UPLOAD_URL="test/upload", |
142 | 165 | MARTOR_SEARCH_USERS_URL="test/search", |
143 | 166 | ): |
144 | 167 | found = resolve(reverse("martor_markdownfy")) |
145 | | - self.assertEqual(found.func, markdownfy_view) |
| 168 | + self.assertEqual(found.func.__name__, "markdownfy_view") |
146 | 169 |
|
147 | 170 | found = resolve(reverse("imgur_uploader")) |
148 | | - self.assertEqual(found.func, markdown_imgur_uploader) |
| 171 | + self.assertEqual(found.func.__name__, "markdown_imgur_uploader") |
149 | 172 |
|
150 | 173 | found = resolve(reverse("search_user_json")) |
151 | | - self.assertEqual(found.func, markdown_search_user) |
| 174 | + self.assertEqual(found.func.__name__, "markdown_search_user") |
152 | 175 |
|
153 | 176 |
|
154 | 177 | class MarkdownifyTest(TestCase): |
|
0 commit comments