From e70315ed267dbd5bccffe54fb81dbf0c03686d3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sascha=20I=C3=9Fbr=C3=BCcker?= Date: Tue, 26 Sep 2023 08:34:43 +0200 Subject: [PATCH] Test that bookmark actions URL is encoded --- bookmarks/tests/test_bookmark_archived_view.py | 10 ++++++++++ bookmarks/tests/test_bookmark_index_view.py | 10 ++++++++++ bookmarks/tests/test_bookmark_shared_view.py | 14 ++++++++++++-- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/bookmarks/tests/test_bookmark_archived_view.py b/bookmarks/tests/test_bookmark_archived_view.py index ca7a6f3..0b0f4c4 100644 --- a/bookmarks/tests/test_bookmark_archived_view.py +++ b/bookmarks/tests/test_bookmark_archived_view.py @@ -327,3 +327,13 @@ class BookmarkArchivedViewTestCase(TestCase, BookmarkFactoryMixin, HtmlTestMixin ''', html) + + def test_url_encode_bookmark_actions_url(self): + url = reverse('bookmarks:archived') + '?q=%23foo' + response = self.client.get(url) + html = response.content.decode() + soup = self.make_soup(html) + actions_form = soup.select('form.bookmark-actions')[0] + + self.assertEqual(actions_form.attrs['action'], + '/bookmarks/archived/action?q=%23foo&return_url=%2Fbookmarks%2Farchived%3Fq%3D%2523foo') diff --git a/bookmarks/tests/test_bookmark_index_view.py b/bookmarks/tests/test_bookmark_index_view.py index 8810669..86e6c91 100644 --- a/bookmarks/tests/test_bookmark_index_view.py +++ b/bookmarks/tests/test_bookmark_index_view.py @@ -327,3 +327,13 @@ class BookmarkIndexViewTestCase(TestCase, BookmarkFactoryMixin, HtmlTestMixin): ''', html) + + def test_url_encode_bookmark_actions_url(self): + url = reverse('bookmarks:index') + '?q=%23foo' + response = self.client.get(url) + html = response.content.decode() + soup = self.make_soup(html) + actions_form = soup.select('form.bookmark-actions')[0] + + self.assertEqual(actions_form.attrs['action'], + '/bookmarks/action?q=%23foo&return_url=%2Fbookmarks%3Fq%3D%2523foo') diff --git a/bookmarks/tests/test_bookmark_shared_view.py b/bookmarks/tests/test_bookmark_shared_view.py index 955bbb8..ecf01e6 100644 --- a/bookmarks/tests/test_bookmark_shared_view.py +++ b/bookmarks/tests/test_bookmark_shared_view.py @@ -6,10 +6,10 @@ from django.test import TestCase from django.urls import reverse from bookmarks.models import Bookmark, Tag, UserProfile -from bookmarks.tests.helpers import BookmarkFactoryMixin, collapse_whitespace +from bookmarks.tests.helpers import BookmarkFactoryMixin, collapse_whitespace, HtmlTestMixin -class BookmarkSharedViewTestCase(TestCase, BookmarkFactoryMixin): +class BookmarkSharedViewTestCase(TestCase, BookmarkFactoryMixin, HtmlTestMixin): def authenticate(self) -> None: user = self.get_or_create_test_user() @@ -369,3 +369,13 @@ class BookmarkSharedViewTestCase(TestCase, BookmarkFactoryMixin): response = self.client.get(base_url + url_params) self.assertEditLink(response, url) + + def test_url_encode_bookmark_actions_url(self): + url = reverse('bookmarks:shared') + '?q=%23foo' + response = self.client.get(url) + html = response.content.decode() + soup = self.make_soup(html) + actions_form = soup.select('form.bookmark-actions')[0] + + self.assertEqual(actions_form.attrs['action'], + '/bookmarks/shared/action?q=%23foo&return_url=%2Fbookmarks%2Fshared%3Fq%3D%2523foo')