diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d2b0a888db7..97c6ac64e83 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,6 +16,7 @@ jobs: requirements-file: [ django-4.2.txt, django-5.0.txt, + django-5.1.txt, ] os: [ ubuntu-20.04, @@ -23,10 +24,12 @@ jobs: exclude: - requirements-file: django-5.0.txt python-version: 3.9 + - requirements-file: django-5.1.txt + python-version: 3.9 services: postgres: - image: postgres:12 + image: postgres:15 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres @@ -69,6 +72,7 @@ jobs: requirements-file: [ django-4.2.txt, django-5.0.txt, + django-5.1.txt, ] os: [ ubuntu-20.04, @@ -76,6 +80,8 @@ jobs: exclude: - requirements-file: django-5.0.txt python-version: 3.9 + - requirements-file: django-5.1.txt + python-version: 3.9 services: mysql: @@ -121,6 +127,7 @@ jobs: requirements-file: [ django-4.2.txt, django-5.0.txt, + django-5.1.txt, ] os: [ ubuntu-20.04, @@ -128,6 +135,8 @@ jobs: exclude: - requirements-file: django-5.0.txt python-version: 3.9 + - requirements-file: django-5.1.txt + python-version: 3.9 steps: - uses: actions/checkout@v4 @@ -196,7 +205,7 @@ jobs: services: postgres: - image: postgres:13 + image: postgres:15 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/cms/test_utils/testcases.py b/cms/test_utils/testcases.py index c970fb01e8d..8567727020c 100644 --- a/cms/test_utils/testcases.py +++ b/cms/test_utils/testcases.py @@ -91,8 +91,8 @@ def showWarning(message, category, filename, lineno, file=None, line=None): class BaseCMSTestCase: counter = 1 - def _fixture_setup(self): - super()._fixture_setup() + def _pre_setup(self): + super()._pre_setup() self.create_fixtures() activate("en") diff --git a/cms/tests/test_page_admin.py b/cms/tests/test_page_admin.py index 72d4872e029..4449231e8d6 100644 --- a/cms/tests/test_page_admin.py +++ b/cms/tests/test_page_admin.py @@ -1609,6 +1609,29 @@ def test_add_page_no_redirect(self): self.assertEqual(Page.objects.all().count(), 2) class PermissionsTestCase(PageTestBase): + def assertContainsPermissions(self, response): + try: + # Django >= 5.1 + self.assertContains( + response, + '

Page permissions

', + html=True, + ) + except AssertionError: + # Django < 5.1 + self.assertContains(response, '

Page permissions

', html=True) + + def assertNotContainsPermissions(self, response): + try: + # Django >= 5.1 + self.assertNotContains( + response, + '

Page permissions

', + html=True, + ) + except AssertionError: + # Django < 5.1 + self.assertNotContains(response, '

Page permissions

', html=True) def _add_translation_to_page(self, page): translation = create_page_content( @@ -2186,7 +2209,7 @@ def test_user_can_add_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -2223,7 +2246,7 @@ def test_user_cant_add_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertFalse(self._page_permission_exists(user=staff_user_2)) @@ -2265,7 +2288,7 @@ def test_user_can_edit_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -2315,7 +2338,7 @@ def test_user_cant_edit_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertFalse( self._page_permission_exists( @@ -2357,7 +2380,7 @@ def test_user_can_delete_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -2397,7 +2420,7 @@ def test_user_cant_delete_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertTrue(self._page_permission_exists(user=staff_user_2)) @@ -2431,7 +2454,7 @@ def test_user_can_add_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -2468,7 +2491,7 @@ def test_user_cant_add_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertFalse(self._page_permission_exists(user=staff_user_2, can_view=True)) @@ -2509,7 +2532,7 @@ def test_user_can_edit_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -2557,7 +2580,7 @@ def test_user_cant_edit_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertFalse( self._page_permission_exists( @@ -2601,7 +2624,7 @@ def test_user_can_delete_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -2643,7 +2666,7 @@ def test_user_cant_delete_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertTrue(self._page_permission_exists(user=staff_user_2, can_view=True)) @@ -3630,7 +3653,7 @@ def test_user_can_add_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -3667,7 +3690,7 @@ def test_user_cant_add_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertFalse(self._page_permission_exists(user=staff_user_2)) @@ -3709,7 +3732,7 @@ def test_user_can_edit_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -3759,7 +3782,7 @@ def test_user_cant_edit_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertFalse( self._page_permission_exists( @@ -3801,7 +3824,7 @@ def test_user_can_delete_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -3841,7 +3864,7 @@ def test_user_cant_delete_page_permissions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertTrue(self._page_permission_exists(user=staff_user_2)) @@ -3875,7 +3898,7 @@ def test_user_can_add_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -3912,7 +3935,7 @@ def test_user_cant_add_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertFalse(self._page_permission_exists(user=staff_user_2, can_view=True)) @@ -3953,7 +3976,7 @@ def test_user_can_edit_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -4001,7 +4024,7 @@ def test_user_cant_edit_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertFalse( self._page_permission_exists( @@ -4045,7 +4068,7 @@ def test_user_can_delete_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertContains(response, '

Page permissions

', html=True) + self.assertContainsPermissions(response) response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 302) self.assertRedirects(response, endpoint) @@ -4087,7 +4110,7 @@ def test_user_cant_delete_page_view_restrictions(self): with self.login_user_context(staff_user): response = self.client.get(endpoint) - self.assertNotContains(response, '

Page permissions

', html=True) + self.assertNotContainsPermissions(response) self.client.post(endpoint, data) self.assertTrue(self._page_permission_exists(user=staff_user_2, can_view=True)) diff --git a/test_requirements/databases.txt b/test_requirements/databases.txt index 56751b37886..83d819cb513 100644 --- a/test_requirements/databases.txt +++ b/test_requirements/databases.txt @@ -1,2 +1,2 @@ -psycopg2==2.9.5 +psycopg>=3.1.8 mysqlclient==2.0.3 diff --git a/test_requirements/django-5.0.txt b/test_requirements/django-5.0.txt index aaa0b59c03b..439f96ad9a6 100644 --- a/test_requirements/django-5.0.txt +++ b/test_requirements/django-5.0.txt @@ -1,2 +1,2 @@ -r requirements_base.txt -Django>=5.0a1,<5.1 +Django>=5.0,<5.1 diff --git a/test_requirements/django-5.1.txt b/test_requirements/django-5.1.txt new file mode 100644 index 00000000000..62b070b6118 --- /dev/null +++ b/test_requirements/django-5.1.txt @@ -0,0 +1,2 @@ +-r requirements_base.txt +Django>=5.1,<5.2