From 844a24bbb97af663ebf8dbeab4499acafe105943 Mon Sep 17 00:00:00 2001 From: Carl Meyer Date: Tue, 31 Jan 2012 20:36:11 +0000 Subject: Fixed #16921 -- Added assertHTMLEqual and assertHTMLNotEqual assertions, and converted Django tests to use them where appropriate. Thanks Greg Müllegger. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.djangoproject.com/svn/django/trunk@17414 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/modeltests/generic_relations/tests.py | 8 +- tests/modeltests/model_forms/tests.py | 48 +-- tests/modeltests/model_formsets/tests.py | 84 ++--- tests/regressiontests/admin_inlines/tests.py | 6 +- tests/regressiontests/admin_views/tests.py | 51 ++- tests/regressiontests/admin_widgets/tests.py | 38 +- .../regressiontests/forms/tests/error_messages.py | 11 +- tests/regressiontests/forms/tests/extra.py | 35 +- tests/regressiontests/forms/tests/fields.py | 3 +- tests/regressiontests/forms/tests/forms.py | 357 +++++++++--------- tests/regressiontests/forms/tests/formsets.py | 38 +- tests/regressiontests/forms/tests/models.py | 4 +- tests/regressiontests/forms/tests/regressions.py | 28 +- tests/regressiontests/forms/tests/util.py | 27 +- tests/regressiontests/forms/tests/widgets.py | 404 ++++++++++----------- .../regressiontests/generic_inline_admin/tests.py | 16 +- tests/regressiontests/i18n/tests.py | 10 +- tests/regressiontests/localflavor/ar/tests.py | 2 +- tests/regressiontests/localflavor/at/tests.py | 2 +- tests/regressiontests/localflavor/au/tests.py | 2 +- tests/regressiontests/localflavor/be/tests.py | 4 +- tests/regressiontests/localflavor/br/tests.py | 2 +- tests/regressiontests/localflavor/ca/tests.py | 2 +- tests/regressiontests/localflavor/ch/tests.py | 2 +- tests/regressiontests/localflavor/cl/tests.py | 2 +- tests/regressiontests/localflavor/cn/tests.py | 2 +- tests/regressiontests/localflavor/co/tests.py | 2 +- tests/regressiontests/localflavor/cz/tests.py | 2 +- tests/regressiontests/localflavor/de/tests.py | 2 +- tests/regressiontests/localflavor/ec/tests.py | 2 +- tests/regressiontests/localflavor/es/tests.py | 4 +- tests/regressiontests/localflavor/fi/tests.py | 2 +- tests/regressiontests/localflavor/fr/tests.py | 2 +- tests/regressiontests/localflavor/hr/tests.py | 6 +- tests/regressiontests/localflavor/id/tests.py | 4 +- tests/regressiontests/localflavor/ie/tests.py | 2 +- tests/regressiontests/localflavor/in_/tests.py | 2 +- tests/regressiontests/localflavor/is_/tests.py | 2 +- tests/regressiontests/localflavor/it/tests.py | 2 +- tests/regressiontests/localflavor/jp/tests.py | 2 +- tests/regressiontests/localflavor/mk/tests.py | 4 +- tests/regressiontests/localflavor/mx/tests.py | 4 +- tests/regressiontests/localflavor/nl/tests.py | 2 +- tests/regressiontests/localflavor/pl/tests.py | 4 +- tests/regressiontests/localflavor/py/tests.py | 4 +- tests/regressiontests/localflavor/ro/tests.py | 2 +- tests/regressiontests/localflavor/ru/tests.py | 4 +- tests/regressiontests/localflavor/se/tests.py | 2 +- tests/regressiontests/localflavor/si/tests.py | 2 +- tests/regressiontests/localflavor/sk/tests.py | 4 +- tests/regressiontests/localflavor/us/tests.py | 6 +- tests/regressiontests/localflavor/uy/tests.py | 2 +- tests/regressiontests/model_forms_regress/tests.py | 2 +- tests/regressiontests/modeladmin/tests.py | 4 +- tests/regressiontests/test_utils/tests.py | 254 +++++++++++++ .../views/tests/generic/create_update.py | 2 +- 56 files changed, 893 insertions(+), 633 deletions(-) (limited to 'tests') diff --git a/tests/modeltests/generic_relations/tests.py b/tests/modeltests/generic_relations/tests.py index adfba82cd6..0ac552cf77 100644 --- a/tests/modeltests/generic_relations/tests.py +++ b/tests/modeltests/generic_relations/tests.py @@ -200,11 +200,11 @@ class GenericRelationsTests(TestCase): def test_generic_inline_formsets(self): GenericFormSet = generic_inlineformset_factory(TaggedItem, extra=1) formset = GenericFormSet() - self.assertEqual(u''.join(form.as_p() for form in formset.forms), u"""

+ self.assertHTMLEqual(u''.join(form.as_p() for form in formset.forms), u"""

""") formset = GenericFormSet(instance=Animal()) - self.assertEqual(u''.join(form.as_p() for form in formset.forms), u"""

+ self.assertHTMLEqual(u''.join(form.as_p() for form in formset.forms), u"""

""") platypus = Animal.objects.create( @@ -216,13 +216,13 @@ class GenericRelationsTests(TestCase): tagged_item_id = TaggedItem.objects.get( tag='shiny', object_id=platypus.id ).id - self.assertEqual(u''.join(form.as_p() for form in formset.forms), u"""

+ self.assertHTMLEqual(u''.join(form.as_p() for form in formset.forms), u"""

""" % tagged_item_id) lion = Animal.objects.create(common_name="Lion", latin_name="Panthera leo") formset = GenericFormSet(instance=lion, prefix='x') - self.assertEqual(u''.join(form.as_p() for form in formset.forms), u"""

+ self.assertHTMLEqual(u''.join(form.as_p() for form in formset.forms), u"""

""") def test_gfk_manager(self): diff --git a/tests/modeltests/model_forms/tests.py b/tests/modeltests/model_forms/tests.py index c4abdbbc6e..a2ad024827 100644 --- a/tests/modeltests/model_forms/tests.py +++ b/tests/modeltests/model_forms/tests.py @@ -298,7 +298,7 @@ class ModelFormBaseTest(TestCase): class Meta(SomeCategoryForm.Meta): exclude = ['url'] - self.assertEqual( + self.assertHTMLEqual( str(SubclassMeta()), """ @@ -313,7 +313,7 @@ class ModelFormBaseTest(TestCase): self.assertEqual(OrderFields.base_fields.keys(), ['url', 'name']) - self.assertEqual( + self.assertHTMLEqual( str(OrderFields()), """ """ @@ -344,15 +344,15 @@ class TestWidgetForm(forms.ModelForm): class TestWidgets(TestCase): def test_base_widgets(self): frm = TestWidgetForm() - self.assertEqual( + self.assertHTMLEqual( str(frm['name']), '' ) - self.assertEqual( + self.assertHTMLEqual( str(frm['url']), '' ) - self.assertEqual( + self.assertHTMLEqual( str(frm['slug']), '' ) @@ -563,25 +563,25 @@ class OldFormForXTests(TestCase): def test_base_form(self): self.assertEqual(Category.objects.count(), 0) f = BaseCategoryForm() - self.assertEqual( + self.assertHTMLEqual( str(f), """ """ ) - self.assertEqual( + self.assertHTMLEqual( str(f.as_ul()), """
  • """ ) - self.assertEqual( + self.assertHTMLEqual( str(f["name"]), """""") def test_auto_id(self): f = BaseCategoryForm(auto_id=False) - self.assertEqual( + self.assertHTMLEqual( str(f.as_ul()), """
  • Name:
  • Slug:
  • @@ -653,7 +653,7 @@ class OldFormForXTests(TestCase): # ManyToManyFields are represented by a MultipleChoiceField, ForeignKeys and any # fields with the 'choices' attribute are represented by a ChoiceField. f = ArticleForm(auto_id=False) - self.assertEqual(unicode(f), '''Headline: + self.assertHTMLEqual(unicode(f), '''Headline: Slug: Pub date: Writer: + self.assertHTMLEqual(unicode(f), '''Headline: Pub date:''') # When the ModelForm is passed an instance, that instance's current values are # inserted as 'initial' data in each Field. w = Writer.objects.get(name='Mike Royko') f = RoykoForm(auto_id=False, instance=w) - self.assertEqual(unicode(f), '''Name:
    Use both first and last names.''') + self.assertHTMLEqual(unicode(f), '''Name:
    Use both first and last names.''') art = Article( headline='Test article', @@ -701,7 +701,7 @@ class OldFormForXTests(TestCase): art_id_1 = art.id self.assertEqual(art_id_1 is not None, True) f = TestArticleForm(auto_id=False, instance=art) - self.assertEqual(f.as_ul(), '''
  • Headline:
  • + self.assertHTMLEqual(f.as_ul(), '''
  • Headline:
  • Slug:
  • Pub date:
  • Writer:
  • + self.assertHTMLEqual(f.as_ul(), '''
  • Headline:
  • Slug:
  • Pub date:
  • ''') self.assertEqual(f.is_valid(), True) @@ -755,7 +755,7 @@ class OldFormForXTests(TestCase): new_art.categories.add(Category.objects.get(name='Entertainment')) self.assertEqual(map(lambda o: o.name, new_art.categories.all()), ["Entertainment"]) f = TestArticleForm(auto_id=False, instance=new_art) - self.assertEqual(f.as_ul(), '''
  • Headline:
  • + self.assertHTMLEqual(f.as_ul(), '''
  • Headline:
  • Slug:
  • Pub date:
  • Writer:
  • + self.assertHTMLEqual(f.as_ul(), '''
  • Headline:
  • Slug:
  • Pub date:
  • Writer:
  • + self.assertHTMLEqual(f.as_ul(), '''
  • Headline:
  • Slug:
  • Pub date:
  • Writer:
  • + self.assertHTMLEqual(f.as_ul(), '''
  • Headline:
  • Slug:
  • Pub date:
  • Writer: + self.assertHTMLEqual(form.as_p(), '''

    + self.assertHTMLEqual(form.as_p(), '''

    + self.assertHTMLEqual(unicode(form['parent']), ''' + self.assertHTMLEqual(unicode(CategoryForm()), ''' ''') # to_field_name should also work on ModelMultipleChoiceField ################## @@ -1479,5 +1479,5 @@ class OldFormForXTests(TestCase): def test_model_field_that_returns_none_to_exclude_itself_with_explicit_fields(self): self.assertEqual(CustomFieldForExclusionForm.base_fields.keys(), ['name']) - self.assertEqual(unicode(CustomFieldForExclusionForm()), + self.assertHTMLEqual(unicode(CustomFieldForExclusionForm()), '''''') diff --git a/tests/modeltests/model_formsets/tests.py b/tests/modeltests/model_formsets/tests.py index 2be3a0ddff..46941471b1 100644 --- a/tests/modeltests/model_formsets/tests.py +++ b/tests/modeltests/model_formsets/tests.py @@ -95,11 +95,11 @@ class ModelFormsetTest(TestCase): formset = AuthorFormSet(queryset=qs) self.assertEqual(len(formset.forms), 3) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ') - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ') - self.assertEqual(formset.forms[2].as_p(), + self.assertHTMLEqual(formset.forms[2].as_p(), '

    ') data = { @@ -133,11 +133,11 @@ class ModelFormsetTest(TestCase): formset = AuthorFormSet(queryset=qs) self.assertEqual(len(formset.forms), 3) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ' % author2.id) - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ' % author1.id) - self.assertEqual(formset.forms[2].as_p(), + self.assertHTMLEqual(formset.forms[2].as_p(), '

    ') data = { @@ -171,16 +171,16 @@ class ModelFormsetTest(TestCase): formset = AuthorFormSet(queryset=qs) self.assertEqual(len(formset.forms), 4) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    \n' '

    ' % author2.id) - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    \n' '

    ' % author1.id) - self.assertEqual(formset.forms[2].as_p(), + self.assertHTMLEqual(formset.forms[2].as_p(), '

    \n' '

    ' % author3.id) - self.assertEqual(formset.forms[3].as_p(), + self.assertHTMLEqual(formset.forms[3].as_p(), '

    \n' '

    ') @@ -381,7 +381,7 @@ class ModelFormsetTest(TestCase): BetterAuthorFormSet = modelformset_factory(BetterAuthor) formset = BetterAuthorFormSet() self.assertEqual(len(formset.forms), 1) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    \n' '

    ') @@ -404,10 +404,10 @@ class ModelFormsetTest(TestCase): formset = BetterAuthorFormSet() self.assertEqual(len(formset.forms), 2) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    \n' '

    ' % hemingway_id) - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    \n' '

    ') @@ -436,11 +436,11 @@ class ModelFormsetTest(TestCase): formset = AuthorBooksFormSet(instance=author) self.assertEqual(len(formset.forms), 3) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ' % author.id) - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ' % author.id) - self.assertEqual(formset.forms[2].as_p(), + self.assertHTMLEqual(formset.forms[2].as_p(), '

    ' % author.id) data = { @@ -470,11 +470,11 @@ class ModelFormsetTest(TestCase): formset = AuthorBooksFormSet(instance=author) self.assertEqual(len(formset.forms), 3) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ' % (author.id, book1.id)) - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ' % author.id) - self.assertEqual(formset.forms[2].as_p(), + self.assertHTMLEqual(formset.forms[2].as_p(), '

    ' % author.id) data = { @@ -534,9 +534,9 @@ class ModelFormsetTest(TestCase): formset = AuthorBooksFormSet(prefix="test") self.assertEqual(len(formset.forms), 2) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ') - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ') def test_inline_formsets_with_custom_pk(self): @@ -548,7 +548,7 @@ class ModelFormsetTest(TestCase): formset = AuthorBooksFormSet2(instance=author) self.assertEqual(len(formset.forms), 1) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    \n' '

    ') @@ -580,7 +580,7 @@ class ModelFormsetTest(TestCase): formset = AuthorBooksFormSet3(instance=author) self.assertEqual(len(formset.forms), 1) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    \n' '

    ') @@ -671,15 +671,15 @@ class ModelFormsetTest(TestCase): custom_qs = Book.objects.order_by('-title') formset = AuthorBooksFormSet(instance=author, queryset=custom_qs) self.assertEqual(len(formset.forms), 5) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ') - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ') - self.assertEqual(formset.forms[2].as_p(), + self.assertHTMLEqual(formset.forms[2].as_p(), '

    ') - self.assertEqual(formset.forms[3].as_p(), + self.assertHTMLEqual(formset.forms[3].as_p(), '

    ') - self.assertEqual(formset.forms[4].as_p(), + self.assertHTMLEqual(formset.forms[4].as_p(), '

    ') data = { @@ -700,11 +700,11 @@ class ModelFormsetTest(TestCase): custom_qs = Book.objects.filter(title__startswith='F') formset = AuthorBooksFormSet(instance=author, queryset=custom_qs) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ') - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ') - self.assertEqual(formset.forms[2].as_p(), + self.assertHTMLEqual(formset.forms[2].as_p(), '

    ') data = { @@ -725,7 +725,7 @@ class ModelFormsetTest(TestCase): CustomPrimaryKeyFormSet = modelformset_factory(CustomPrimaryKey) formset = CustomPrimaryKeyFormSet() self.assertEqual(len(formset.forms), 1) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    \n' '

    ') @@ -736,9 +736,9 @@ class ModelFormsetTest(TestCase): FormSet = inlineformset_factory(Place, Owner, extra=2, can_delete=False) formset = FormSet(instance=place) self.assertEqual(len(formset.forms), 2) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ') - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ') data = { @@ -760,12 +760,12 @@ class ModelFormsetTest(TestCase): formset = FormSet(instance=place) self.assertEqual(len(formset.forms), 3) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ' % owner1.auto_id) - self.assertEqual(formset.forms[1].as_p(), + self.assertHTMLEqual(formset.forms[1].as_p(), '

    ') - self.assertEqual(formset.forms[2].as_p(), + self.assertHTMLEqual(formset.forms[2].as_p(), '

    ') data = { @@ -791,7 +791,7 @@ class ModelFormsetTest(TestCase): FormSet = modelformset_factory(OwnerProfile) formset = FormSet() - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ' % owner1.auto_id) @@ -827,7 +827,7 @@ class ModelFormsetTest(TestCase): formset = FormSet(instance=owner1) self.assertEqual(len(formset.forms), 1) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    ' % owner1.auto_id) @@ -856,7 +856,7 @@ class ModelFormsetTest(TestCase): formset = FormSet(instance=place) self.assertEqual(len(formset.forms), 1) - self.assertEqual(formset.forms[0].as_p(), + self.assertHTMLEqual(formset.forms[0].as_p(), '

    \n' '

    ') @@ -982,7 +982,7 @@ class ModelFormsetTest(TestCase): now = form.fields['date_joined'].initial() result = form.as_p() result = re.sub(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?', '__DATETIME__', result) - self.assertEqual(result, + self.assertHTMLEqual(result, '

    \n' '

    ' % person.id) diff --git a/tests/regressiontests/admin_inlines/tests.py b/tests/regressiontests/admin_inlines/tests.py index 3ea2ce476e..e00a56d364 100644 --- a/tests/regressiontests/admin_inlines/tests.py +++ b/tests/regressiontests/admin_inlines/tests.py @@ -34,7 +34,7 @@ class TestInline(TestCase): can_delete should be passed to inlineformset factory. """ response = self.client.get(self.change_url) - inner_formset = response.context[-1]['inline_admin_formsets'][0].formset + inner_formset = response.context['inline_admin_formsets'][0].formset expected = InnerInline.can_delete actual = inner_formset.can_delete self.assertEqual(expected, actual, 'can_delete must be equal') @@ -134,7 +134,7 @@ class TestInline(TestCase): 'id="id_-1-0-capo_famiglia" />') self.assertContains(response, '') + 'name="-1-0-name" maxlength="100" />', html=True) self.assertContains(response, '') @@ -143,7 +143,7 @@ class TestInline(TestCase): 'id="id_-2-0-capo_famiglia" />') self.assertContains(response, '') + 'name="-2-0-name" maxlength="100" />', html=True) class TestInlineMedia(TestCase): urls = "regressiontests.admin_inlines.urls" diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py index 6037c2b187..b0120cef1d 100644 --- a/tests/regressiontests/admin_views/tests.py +++ b/tests/regressiontests/admin_views/tests.py @@ -1696,7 +1696,7 @@ class AdminViewListEditable(TestCase): "_save": "Save", } response = self.client.post('/test_admin/admin/admin_views/fooddelivery/', data) - self.assertContains(response, '', 1) + self.assertContains(response, '', 1, html=True) data = { "form-TOTAL_FORMS": "3", @@ -1723,7 +1723,7 @@ class AdminViewListEditable(TestCase): "_save": "Save", } response = self.client.post('/test_admin/admin/admin_views/fooddelivery/', data) - self.assertContains(response, '', 2) + self.assertContains(response, '', 2, html=True) def test_non_form_errors(self): # test if non-form errors are handled; ticket #12716 @@ -1880,7 +1880,7 @@ class AdminViewListEditable(TestCase): response = self.client.get('/test_admin/admin/admin_views/story/') self.assertContains(response, 'id="id_form-0-id"', 1) # Only one hidden field, in a separate place than the table. self.assertContains(response, 'id="id_form-1-id"', 1) - self.assertContains(response, '
    \n\n
    ' % (story2.id, story1.id)) + self.assertContains(response, '
    \n\n
    ' % (story2.id, story1.id), html=True) self.assertContains(response, '%d' % story1.id, 1) self.assertContains(response, '%d' % story2.id, 1) @@ -1894,7 +1894,7 @@ class AdminViewListEditable(TestCase): response = self.client.get('/test_admin/admin/admin_views/otherstory/') self.assertContains(response, 'id="id_form-0-id"', 1) # Only one hidden field, in a separate place than the table. self.assertContains(response, 'id="id_form-1-id"', 1) - self.assertContains(response, '
    \n\n
    ' % (story2.id, story1.id)) + self.assertContains(response, '
    \n\n
    ' % (story2.id, story1.id), html=True) self.assertContains(response, '%d' % (story1.id, story1.id), 1) self.assertContains(response, '%d' % (story2.id, story2.id), 1) @@ -1923,7 +1923,7 @@ class AdminSearchTest(TestCase): from django.contrib.admin.views.main import TO_FIELD_VAR response = self.client.get('/test_admin/admin/auth/user/?q=joe&%s=username' % TO_FIELD_VAR) self.assertContains(response, "\n1 user\n") - self.assertContains(response, '') + self.assertContains(response, '', html=True) def test_exact_matches(self): response = self.client.get('/test_admin/admin/admin_views/recommendation/?q=bar') @@ -2114,8 +2114,8 @@ class AdminActionsTest(TestCase): response = self.client.post("/test_admin/admin/admin_views/question/", action_data) self.assertContains(response, "would require deleting the following protected related objects") - self.assertContains(response, '
  • Answer: Because.
  • ' % a1.pk) - self.assertContains(response, '
  • Answer: Yes.
  • ' % a2.pk) + self.assertContains(response, '
  • Answer: Because.
  • ' % a1.pk, html=True) + self.assertContains(response, '
  • Answer: Yes.
  • ' % a2.pk, html=True) def test_custom_function_mail_action(self): "Tests a custom action defined in a function" @@ -2159,13 +2159,12 @@ class AdminActionsTest(TestCase): Refs #15964. """ response = self.client.get('/test_admin/admin/admin_views/externalsubscriber/') - self.assertTrue('''