diff options
| author | Claude Paroz <claude@2xlibre.net> | 2018-04-28 15:20:27 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-05-07 09:34:00 -0400 |
| commit | 607970f31cc07c317f2ebb684c8f3ccc36a95b3e (patch) | |
| tree | b11c0976fb161d3339025400b048a27ce5e2f19f /tests/admin_views/tests.py | |
| parent | 7d3fe36c626a3268413eb86d37920f132eb4a54f (diff) | |
Replaced django.test.utils.patch_logger() with assertLogs().
Thanks Tim Graham for the review.
Diffstat (limited to 'tests/admin_views/tests.py')
| -rw-r--r-- | tests/admin_views/tests.py | 43 |
1 files changed, 18 insertions, 25 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index e2421cb31a..cbd545a663 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -25,7 +25,7 @@ from django.template.response import TemplateResponse from django.test import ( TestCase, modify_settings, override_settings, skipUnlessDBFeature, ) -from django.test.utils import override_script_prefix, patch_logger +from django.test.utils import override_script_prefix from django.urls import NoReverseMatch, resolve, reverse from django.utils import formats, translation from django.utils.cache import get_max_age @@ -747,12 +747,11 @@ class AdminViewBasicTest(AdminViewBasicTestCase): self.assertContains(response, '%Y-%m-%d %H:%M:%S') def test_disallowed_filtering(self): - with patch_logger('django.security.DisallowedModelAdminLookup', 'error') as calls: + with self.assertLogs('django.security.DisallowedModelAdminLookup', 'ERROR'): response = self.client.get( "%s?owner__email__startswith=fuzzy" % reverse('admin:admin_views_album_changelist') ) - self.assertEqual(response.status_code, 400) - self.assertEqual(len(calls), 1) + self.assertEqual(response.status_code, 400) # Filters are allowed if explicitly included in list_filter response = self.client.get("%s?color__value__startswith=red" % reverse('admin:admin_views_thing_changelist')) @@ -777,18 +776,16 @@ class AdminViewBasicTest(AdminViewBasicTestCase): self.assertEqual(response.status_code, 200) def test_disallowed_to_field(self): - with patch_logger('django.security.DisallowedModelAdminToField', 'error') as calls: - url = reverse('admin:admin_views_section_changelist') + url = reverse('admin:admin_views_section_changelist') + with self.assertLogs('django.security.DisallowedModelAdminToField', 'ERROR'): response = self.client.get(url, {TO_FIELD_VAR: 'missing_field'}) - self.assertEqual(response.status_code, 400) - self.assertEqual(len(calls), 1) + self.assertEqual(response.status_code, 400) # Specifying a field that is not referred by any other model registered # to this admin site should raise an exception. - with patch_logger('django.security.DisallowedModelAdminToField', 'error') as calls: + with self.assertLogs('django.security.DisallowedModelAdminToField', 'ERROR'): response = self.client.get(reverse('admin:admin_views_section_changelist'), {TO_FIELD_VAR: 'name'}) - self.assertEqual(response.status_code, 400) - self.assertEqual(len(calls), 1) + self.assertEqual(response.status_code, 400) # #23839 - Primary key should always be allowed, even if the referenced model isn't registered. response = self.client.get(reverse('admin:admin_views_notreferenced_changelist'), {TO_FIELD_VAR: 'id'}) @@ -815,30 +812,26 @@ class AdminViewBasicTest(AdminViewBasicTestCase): # #25622 - Specifying a field of a model only referred by a generic # relation should raise DisallowedModelAdminToField. url = reverse('admin:admin_views_referencedbygenrel_changelist') - with patch_logger('django.security.DisallowedModelAdminToField', 'error') as calls: + with self.assertLogs('django.security.DisallowedModelAdminToField', 'ERROR'): response = self.client.get(url, {TO_FIELD_VAR: 'object_id'}) - self.assertEqual(response.status_code, 400) - self.assertEqual(len(calls), 1) + self.assertEqual(response.status_code, 400) # We also want to prevent the add, change, and delete views from # leaking a disallowed field value. - with patch_logger('django.security.DisallowedModelAdminToField', 'error') as calls: + with self.assertLogs('django.security.DisallowedModelAdminToField', 'ERROR'): response = self.client.post(reverse('admin:admin_views_section_add'), {TO_FIELD_VAR: 'name'}) - self.assertEqual(response.status_code, 400) - self.assertEqual(len(calls), 1) + self.assertEqual(response.status_code, 400) section = Section.objects.create() - with patch_logger('django.security.DisallowedModelAdminToField', 'error') as calls: - url = reverse('admin:admin_views_section_change', args=(section.pk,)) + url = reverse('admin:admin_views_section_change', args=(section.pk,)) + with self.assertLogs('django.security.DisallowedModelAdminToField', 'ERROR'): response = self.client.post(url, {TO_FIELD_VAR: 'name'}) - self.assertEqual(response.status_code, 400) - self.assertEqual(len(calls), 1) + self.assertEqual(response.status_code, 400) - with patch_logger('django.security.DisallowedModelAdminToField', 'error') as calls: - url = reverse('admin:admin_views_section_delete', args=(section.pk,)) + url = reverse('admin:admin_views_section_delete', args=(section.pk,)) + with self.assertLogs('django.security.DisallowedModelAdminToField', 'ERROR'): response = self.client.post(url, {TO_FIELD_VAR: 'name'}) - self.assertEqual(response.status_code, 400) - self.assertEqual(len(calls), 1) + self.assertEqual(response.status_code, 400) def test_allowed_filtering_15103(self): """ |
