From 15e74e89cb1ec9b60c9e3bb7302e5388df763f0f Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Sat, 29 Jun 2019 13:43:31 +0000 Subject: [PATCH] Converted instances of assertTrue(text in response.content) to the recommended assertContains(response, text), and similar for assertFalse(... in ...) - Legacy-Id: 16336 --- ietf/community/tests.py | 10 +- ietf/doc/tests.py | 201 +++++++++++++++--------------- ietf/doc/tests_ballot.py | 12 +- ietf/doc/tests_charter.py | 4 +- ietf/doc/tests_conflict_review.py | 2 +- ietf/doc/tests_draft.py | 2 +- ietf/doc/tests_material.py | 2 +- ietf/doc/tests_review.py | 8 +- ietf/doc/tests_status_change.py | 4 +- ietf/group/tests.py | 4 +- ietf/group/tests_info.py | 114 ++++++++--------- ietf/group/tests_review.py | 4 +- ietf/iesg/tests.py | 12 +- ietf/ietfauth/tests.py | 2 +- ietf/ipr/tests.py | 56 ++++----- ietf/liaisons/tests.py | 26 ++-- ietf/mailtrigger/tests.py | 9 +- ietf/meeting/tests_views.py | 56 ++++----- ietf/message/tests.py | 8 +- ietf/nomcom/tests.py | 6 +- ietf/secr/sreq/tests.py | 6 +- ietf/stats/tests.py | 2 +- ietf/submit/tests.py | 12 +- ietf/sync/tests.py | 12 +- 24 files changed, 286 insertions(+), 288 deletions(-) diff --git a/ietf/community/tests.py b/ietf/community/tests.py index b730697c3..f74ca7569 100644 --- a/ietf/community/tests.py +++ b/ietf/community/tests.py @@ -96,7 +96,7 @@ class CommunityListTests(TestCase): ) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) + self.assertContains(r, draft.name) def test_manage_personal_list(self): PersonFactory(user__username='plain') @@ -118,7 +118,7 @@ class CommunityListTests(TestCase): # document shows up on GET r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) + self.assertContains(r, draft.name) # remove document r = self.client.post(url, { "action": "remove_document", "document": draft.name }) @@ -259,7 +259,7 @@ class CommunityListTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) # this is a simple-minded test, we don't actually check the fields - self.assertTrue(draft.name in unicontent(r)) + self.assertContains(r, draft.name) def test_csv_for_group(self): draft = WgDraftFactory() @@ -293,12 +293,12 @@ class CommunityListTests(TestCase): ) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) + self.assertContains(r, draft.name) # only significant r = self.client.get(url + "?significant=1") self.assertEqual(r.status_code, 200) - self.assertTrue('' not in unicontent(r)) + self.assertContains(r, '' not) def test_feed_for_group(self): draft = WgDraftFactory() diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 66f038e98..bdc7b4758 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -56,72 +56,72 @@ class SearchTests(TestCase): # no match r = self.client.get(base_url + "?activedrafts=on&name=thisisnotadocumentname") self.assertEqual(r.status_code, 200) - self.assertTrue("no documents match" in str(r.content).lower()) + self.assertContains(r, "No documents match") r = self.client.get(base_url + "?rfcs=on&name=xyzzy") self.assertEqual(r.status_code, 200) - self.assertTrue("no documents match" in unicontent(r).lower()) + self.assertContains(r, "No documents match") r = self.client.get(base_url + "?olddrafts=on&name=bar") self.assertEqual(r.status_code, 200) - self.assertTrue("no documents match" in unicontent(r).lower()) + self.assertContains(r, "No documents match") r = self.client.get(base_url + "?olddrafts=on&name=foo") self.assertEqual(r.status_code, 200) - self.assertTrue("draft-foo-mars-test" in unicontent(r).lower()) + self.assertContains(r, "draft-foo-mars-test") # find by rfc/active/inactive draft.set_state(State.objects.get(type="draft", slug="rfc")) r = self.client.get(base_url + "?rfcs=on&name=%s" % draft.name) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) draft.set_state(State.objects.get(type="draft", slug="active")) r = self.client.get(base_url + "?activedrafts=on&name=%s" % draft.name) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) draft.set_state(State.objects.get(type="draft", slug="expired")) r = self.client.get(base_url + "?olddrafts=on&name=%s" % draft.name) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) draft.set_state(State.objects.get(type="draft", slug="active")) # find by title r = self.client.get(base_url + "?activedrafts=on&name=%s" % draft.title.split()[0]) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) # find by author r = self.client.get(base_url + "?activedrafts=on&by=author&author=%s" % draft.documentauthor_set.first().person.name_parts()[1]) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) # find by group r = self.client.get(base_url + "?activedrafts=on&by=group&group=%s" % draft.group.acronym) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) # find by area r = self.client.get(base_url + "?activedrafts=on&by=area&area=%s" % draft.group.parent_id) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) # find by area r = self.client.get(base_url + "?activedrafts=on&by=area&area=%s" % draft.group.parent_id) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) # find by AD r = self.client.get(base_url + "?activedrafts=on&by=ad&ad=%s" % draft.ad_id) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) # find by IESG state r = self.client.get(base_url + "?activedrafts=on&by=state&state=%s&substate=" % draft.get_state("draft-iesg").pk) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) def test_search_for_name(self): draft = WgDraftFactory(name='draft-ietf-mars-test',group=GroupFactory(acronym='mars',parent=Group.objects.get(acronym='farfut')),authors=[PersonFactory()],ad=PersonFactory()) @@ -211,7 +211,7 @@ class SearchTests(TestCase): def test_frontpage(self): r = self.client.get("/") self.assertEqual(r.status_code, 200) - self.assertTrue("Document Search" in unicontent(r)) + self.assertContains(r, "Document Search") def test_docs_for_ad(self): ad = PersonFactory() @@ -229,13 +229,11 @@ class SearchTests(TestCase): r = self.client.get(urlreverse('ietf.doc.views_search.docs_for_ad', kwargs=dict(name=ad.full_name_as_key()))) self.assertEqual(r.status_code, 200) - response_content = unicontent(r) - #debug.show('response_content') - self.assertTrue(draft.name in response_content) - self.assertTrue(rfc.canonical_name() in response_content) - self.assertTrue(conflrev.name in response_content) - self.assertTrue(statchg.name in response_content) - self.assertTrue(charter.name in response_content) + self.assertContains(r, draft.name) + self.assertContains(r, rfc.canonical_name()) + self.assertContains(r, conflrev.name) + self.assertContains(r, statchg.name) + self.assertContains(r, charter.name) def test_drafts_in_last_call(self): @@ -243,7 +241,7 @@ class SearchTests(TestCase): draft.set_state(State.objects.get(type="draft-iesg", slug="lc")) r = self.client.get(urlreverse('ietf.doc.views_search.drafts_in_last_call')) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) def test_in_iesg_process(self): doc_in_process = IndividualDraftFactory() @@ -251,8 +249,8 @@ class SearchTests(TestCase): doc_not_in_process = IndividualDraftFactory() r = self.client.get(urlreverse('ietf.doc.views_search.drafts_in_iesg_process')) self.assertEqual(r.status_code, 200) - self.assertTrue(doc_in_process.title in unicontent(r)) - self.assertFalse(doc_not_in_process.title in unicontent(r)) + self.assertContains(r, doc_in_process.title) + self.assertNotContains(r, doc_not_in_process.title) def test_indexes(self): draft = IndividualDraftFactory() @@ -260,12 +258,12 @@ class SearchTests(TestCase): r = self.client.get(urlreverse('ietf.doc.views_search.index_all_drafts')) self.assertEqual(r.status_code, 200) - self.assertIn(draft.name, unicontent(r)) - self.assertIn(rfc.canonical_name().upper(),unicontent(r)) + self.assertContains(r, draft.name) + self.assertContains(r, rfc.canonical_name().upper()) r = self.client.get(urlreverse('ietf.doc.views_search.index_active_drafts')) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, draft.title) def test_ajax_search_docs(self): draft = IndividualDraftFactory() @@ -509,53 +507,53 @@ Man Expires September 22, 2015 [Page 3] r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("Active Internet-Draft" in unicontent(r)) - self.assertTrue("Show full document text" in unicontent(r)) - self.assertFalse("Deimos street" in unicontent(r)) + self.assertContains(r, "Active Internet-Draft") + self.assertContains(r, "Show full document text") + self.assertNotContains(r, "Deimos street") r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=0") self.assertEqual(r.status_code, 200) - self.assertTrue("Active Internet-Draft" in unicontent(r)) - self.assertFalse("Show full document text" in unicontent(r)) - self.assertTrue("Deimos street" in unicontent(r)) + self.assertContains(r, "Active Internet-Draft") + self.assertNotContains(r, "Show full document text") + self.assertContains(r, "Deimos street") r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=foo") self.assertEqual(r.status_code, 200) - self.assertTrue("Active Internet-Draft" in unicontent(r)) - self.assertFalse("Show full document text" in unicontent(r)) - self.assertTrue("Deimos street" in unicontent(r)) + self.assertContains(r, "Active Internet-Draft") + self.assertNotContains(r, "Show full document text") + self.assertContains(r, "Deimos street") r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=1") self.assertEqual(r.status_code, 200) - self.assertTrue("Active Internet-Draft" in unicontent(r)) - self.assertFalse("Show full document text" in unicontent(r)) - self.assertTrue("Deimos street" in unicontent(r)) + self.assertContains(r, "Active Internet-Draft") + self.assertNotContains(r, "Show full document text") + self.assertContains(r, "Deimos street") self.client.cookies = SimpleCookie({'full_draft': 'on'}) r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("Active Internet-Draft" in unicontent(r)) - self.assertFalse("Show full document text" in unicontent(r)) - self.assertTrue("Deimos street" in unicontent(r)) + self.assertContains(r, "Active Internet-Draft") + self.assertNotContains(r, "Show full document text") + self.assertContains(r, "Deimos street") self.client.cookies = SimpleCookie({'full_draft': 'off'}) r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("Active Internet-Draft" in unicontent(r)) - self.assertTrue("Show full document text" in unicontent(r)) - self.assertFalse("Deimos street" in unicontent(r)) + self.assertContains(r, "Active Internet-Draft") + self.assertContains(r, "Show full document text") + self.assertNotContains(r, "Deimos street") self.client.cookies = SimpleCookie({'full_draft': 'foo'}) r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("Active Internet-Draft" in unicontent(r)) - self.assertTrue("Show full document text" in unicontent(r)) - self.assertFalse("Deimos street" in unicontent(r)) + self.assertContains(r, "Active Internet-Draft") + self.assertContains(r, "Show full document text") + self.assertNotContains(r, "Deimos street") r = self.client.get(urlreverse("ietf.doc.views_doc.document_html", kwargs=dict(name=draft.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("Versions:" in unicontent(r)) - self.assertTrue("Deimos street" in unicontent(r)) + self.assertContains(r, "Versions:") + self.assertContains(r, "Deimos street") q = PyQuery(r.content) self.assertEqual(len(q('.rfcmarkup pre')), 4) self.assertEqual(len(q('.rfcmarkup span.h1')), 2) @@ -569,7 +567,7 @@ Man Expires September 22, 2015 [Page 3] r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("Expired Internet-Draft" in unicontent(r)) + self.assertContains(r, "Expired Internet-Draft") # replaced draft draft.set_state(State.objects.get(type="draft", slug="repl")) @@ -588,8 +586,8 @@ Man Expires September 22, 2015 [Page 3] r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("Replaced Internet-Draft" in unicontent(r)) - self.assertTrue(replacement.name in unicontent(r)) + self.assertContains(r, "Replaced Internet-Draft") + self.assertContains(r, replacement.name) rel.delete() # draft published as RFC @@ -610,8 +608,8 @@ Man Expires September 22, 2015 [Page 3] r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=rfc_alias.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("RFC 123456" in unicontent(r)) - self.assertTrue(draft.name in unicontent(r)) + self.assertContains(r, "RFC 123456") + self.assertContains(r, draft.name) # naked RFC - also wierd that we test a PS from the ISE rfc = IndividualDraftFactory( @@ -621,7 +619,7 @@ Man Expires September 22, 2015 [Page 3] std_level_id="ps") r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=rfc.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("RFC 1234567" in unicontent(r)) + self.assertContains(r, "RFC 1234567") # unknown draft r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name="draft-xyz123"))) @@ -658,14 +656,14 @@ Man Expires September 22, 2015 [Page 3] r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - self.assertTrue("%s-01"%docname in unicontent(r)) + self.assertContains(r, "%s-01"%docname) r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name,rev="01"))) self.assertEqual(r.status_code, 302) r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name,rev="00"))) self.assertEqual(r.status_code, 200) - self.assertTrue("%s-00"%docname in unicontent(r)) + self.assertContains(r, "%s-00"%docname) class DocTestCase(TestCase): def test_document_charter(self): @@ -730,12 +728,12 @@ class DocTestCase(TestCase): r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - self.assertTrue(pos.comment in unicontent(r)) + self.assertContains(r, pos.comment) # test with ballot_id r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name, ballot_id=ballot.pk))) self.assertEqual(r.status_code, 200) - self.assertTrue(pos.comment in unicontent(r)) + self.assertContains(r, pos.comment) # test popup too while we're at it r = self.client.get(urlreverse("ietf.doc.views_doc.ballot_popup", kwargs=dict(name=doc.name, ballot_id=ballot.pk))) @@ -748,7 +746,7 @@ class DocTestCase(TestCase): doc.save_with_history([e]) r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - self.assertTrue( '(%s for -%s)' % (pos.comment_time.strftime('%Y-%m-%d'), oldrev) in unicontent(r)) + self.assertContains(r, '(%s for -%s)' % (pos.comment_time.strftime('%Y-%m-%d'), oldrev)) def test_document_ballot_needed_positions(self): # draft @@ -758,10 +756,10 @@ class DocTestCase(TestCase): create_ballot_if_not_open(None, doc, ad, 'approve') r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name))) - self.assertTrue('more YES or NO' in unicontent(r)) + self.assertContains(r, 'more YES or NO') Document.objects.filter(pk=doc.pk).update(intended_std_level='inf') r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name))) - self.assertFalse('more YES or NO' in unicontent(r)) + self.assertNotContains(r, 'more YES or NO') # status change DocAlias.objects.create(name='rfc9998').docs.add(IndividualDraftFactory()) @@ -772,16 +770,16 @@ class DocTestCase(TestCase): r = self.client.post(urlreverse('ietf.doc.views_status_change.change_state',kwargs=dict(name=doc.name)),dict(new_state=iesgeval_pk)) self.assertEqual(r.status_code, 302) r = self.client.get(r._headers["location"][1]) - self.assertTrue(">IESG Evaluation<" in unicontent(r)) + self.assertContains(r, ">IESG Evaluation<") doc.relateddocument_set.create(target=DocAlias.objects.get(name='rfc9998'),relationship_id='tohist') r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name))) - self.assertFalse('Needs a YES' in unicontent(r)) - self.assertFalse('more YES or NO' in unicontent(r)) + self.assertNotContains(r, 'Needs a YES') + self.assertNotContains(r, 'more YES or NO') doc.relateddocument_set.create(target=DocAlias.objects.get(name='rfc9999'),relationship_id='tois') r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name))) - self.assertTrue('more YES or NO' in unicontent(r)) + self.assertContains(r, 'more YES or NO') def test_document_json(self): doc = IndividualDraftFactory() @@ -793,8 +791,7 @@ class DocTestCase(TestCase): self.assertEqual(doc.pages,data['pages']) def test_writeup(self): - doc = IndividualDraftFactory(states = [('draft','active'),('draft-iesg','iesg-eva')], -) + doc = IndividualDraftFactory(states = [('draft','active'),('draft-iesg','iesg-eva')],) appr = WriteupDocEvent.objects.create( doc=doc, @@ -823,9 +820,9 @@ class DocTestCase(TestCase): url = urlreverse('ietf.doc.views_doc.document_writeup', kwargs=dict(name=doc.name)) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(appr.text in unicontent(r)) - self.assertTrue(notes.text in unicontent(r)) - self.assertTrue(rfced_note.text in r.content) + self.assertContains(r, appr.text) + self.assertContains(r, notes.text) + self.assertContains(r, rfced_note.text) def test_history(self): doc = IndividualDraftFactory() @@ -840,7 +837,7 @@ class DocTestCase(TestCase): url = urlreverse('ietf.doc.views_doc.document_history', kwargs=dict(name=doc.name)) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(e.desc in unicontent(r)) + self.assertContains(r, e.desc) def test_document_feed(self): doc = IndividualDraftFactory() @@ -854,7 +851,7 @@ class DocTestCase(TestCase): r = self.client.get("/feed/document-changes/%s/" % doc.name) self.assertEqual(r.status_code, 200) - self.assertTrue(e.desc in unicontent(r)) + self.assertContains(r, e.desc) def test_last_call_feed(self): doc = IndividualDraftFactory() @@ -871,7 +868,7 @@ class DocTestCase(TestCase): r = self.client.get("/feed/last-call/") self.assertEqual(r.status_code, 200) - self.assertTrue(doc.name in unicontent(r)) + self.assertContains(r, doc.name) def test_rfc_feed(self): WgRfcFactory() @@ -884,7 +881,7 @@ class DocTestCase(TestCase): url = urlreverse('ietf.doc.views_help.state_help', kwargs=dict(type="draft-iesg")) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(State.objects.get(type="draft-iesg", slug="lc").name in unicontent(r)) + self.assertContains(r, State.objects.get(type="draft-iesg", slug="lc").name) def test_document_nonietf_pubreq_button(self): doc = IndividualDraftFactory() @@ -892,17 +889,17 @@ class DocTestCase(TestCase): self.client.login(username='iab-chair', password='iab-chair+password') r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - self.assertNotIn("Request publication", unicontent(r)) + self.assertNotContains(r, "Request publication") Document.objects.filter(pk=doc.pk).update(stream='iab') r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - self.assertIn("Request publication", unicontent(r)) + self.assertContains(r, "Request publication") doc.states.add(State.objects.get(type_id='draft-stream-iab',slug='rfc-edit')) r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - self.assertNotIn("Request publication", unicontent(r)) + self.assertNotContains(r, "Request publication") def test_document_bibtex(self): @@ -918,7 +915,7 @@ class DocTestCase(TestCase): # url = urlreverse('ietf.doc.views_doc.document_bibtex', kwargs=dict(name=rfc.name)) r = self.client.get(url) - entry = bibtexparser.loads(r.content).get_entry_dict()["rfc%s"%num] + entry = bibtexparser.loads(unicontent(r)).get_entry_dict()["rfc%s"%num] self.assertEqual(entry['series'], 'Request for Comments') self.assertEqual(entry['number'], num) self.assertEqual(entry['doi'], '10.17487/RFC%s'%num) @@ -938,7 +935,7 @@ class DocTestCase(TestCase): # url = urlreverse('ietf.doc.views_doc.document_bibtex', kwargs=dict(name=april1.name)) r = self.client.get(url) - entry = bibtexparser.loads(r.content).get_entry_dict()['rfc%s'%num] + entry = bibtexparser.loads(unicontent(r)).get_entry_dict()['rfc%s'%num] self.assertEqual(entry['series'], 'Request for Comments') self.assertEqual(entry['number'], num) self.assertEqual(entry['doi'], '10.17487/RFC%s'%num) @@ -951,7 +948,7 @@ class DocTestCase(TestCase): bibname = docname[6:] # drop the 'draft-' prefix url = urlreverse('ietf.doc.views_doc.document_bibtex', kwargs=dict(name=draft.name)) r = self.client.get(url) - entry = bibtexparser.loads(r.content).get_entry_dict()[bibname] + entry = bibtexparser.loads(unicontent(r)).get_entry_dict()[bibname] self.assertEqual(entry['note'], 'Work in Progress') self.assertEqual(entry['number'], docname) self.assertEqual(entry['year'], str(draft.pub_date().year)) @@ -969,7 +966,7 @@ class AddCommentTestCase(TestCase): # normal get r = self.client.get(url) self.assertEqual(r.status_code, 200) - q = PyQuery(r.content) + q = PyQuery(unicontent(r)) self.assertEqual(len(q('form textarea[name=comment]')), 1) # request resurrect @@ -983,9 +980,9 @@ class AddCommentTestCase(TestCase): self.assertEqual("This is a test.", draft.latest_event().desc) self.assertEqual("added_comment", draft.latest_event().type) self.assertEqual(len(outbox), mailbox_before + 1) - self.assertTrue("Comment added" in outbox[-1]['Subject']) - self.assertTrue(draft.name in outbox[-1]['Subject']) - self.assertTrue('draft-ietf-mars-test@' in outbox[-1]['To']) + self.assertIn("Comment added", outbox[-1]['Subject']) + self.assertIn(draft.name, outbox[-1]['Subject']) + self.assertIn('draft-ietf-mars-test@', outbox[-1]['To']) # Make sure we can also do it as IANA self.client.login(username="iana", password="iana+password") @@ -993,7 +990,7 @@ class AddCommentTestCase(TestCase): # normal get r = self.client.get(url) self.assertEqual(r.status_code, 200) - q = PyQuery(r.content) + q = PyQuery(unicontent(r)) self.assertEqual(len(q('form textarea[name=comment]')), 1) @@ -1013,11 +1010,11 @@ class ReferencesTest(TestCase): url = urlreverse('ietf.doc.views_doc.document_references', kwargs=dict(name=doc1.name)) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(doc2.name in unicontent(r)) + self.assertContains(r, doc2.name) url = urlreverse('ietf.doc.views_doc.document_referenced_by', kwargs=dict(name=doc2.name)) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(doc1.name in unicontent(r)) + self.assertContains(r, doc1.name) class EmailAliasesTests(TestCase): @@ -1025,7 +1022,7 @@ class EmailAliasesTests(TestCase): def setUp(self): WgDraftFactory(name='draft-ietf-mars-test',group__acronym='mars') WgDraftFactory(name='draft-ietf-ames-test',group__acronym='ames') - self.doc_alias_file = NamedTemporaryFile(delete=False) + self.doc_alias_file = NamedTemporaryFile(delete=False, encoding='utf-8', mode='w+') self.doc_alias_file.write("""# Generated by hand at 2015-02-12_16:26:45 virtual.ietf.org anything draft-ietf-mars-test@ietf.org xfilter-draft-ietf-mars-test @@ -1071,8 +1068,8 @@ expand-draft-ietf-ames-test.all@virtual.ietf.org ames-author@example.ames, ames url = urlreverse('ietf.doc.views_doc.document_email', kwargs=dict(name="draft-ietf-mars-test")) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue('draft-ietf-mars-test.all@ietf.org' in unicontent(r)) - self.assertTrue('ballot_saved' in unicontent(r)) + self.assertContains(r, 'draft-ietf-mars-test.all@ietf.org') + self.assertContains(r, 'ballot_saved') class DocumentMeetingTests(TestCase): @@ -1266,17 +1263,17 @@ class ChartTests(ResourceTestCaseMixin, TestCase): # No qurey arguments; expect an empty json object r = self.client.get(conf_url) self.assertValidJSONResponse(r) - self.assertEqual(r.content, '{}') + self.assertEqual(unicontent(r), '{}') # No match r = self.client.get(conf_url + '?activedrafts=on&name=thisisnotadocumentname') self.assertValidJSONResponse(r) - d = json.loads(r.content) + d = json.loads(unicontent(r)) self.assertEqual(d['chart']['type'], settings.CHART_TYPE_COLUMN_OPTIONS['chart']['type']) r = self.client.get(conf_url + '?activedrafts=on&name=%s'%doc.name[6:12]) self.assertValidJSONResponse(r) - d = json.loads(r.content) + d = json.loads(unicontent(r)) self.assertEqual(d['chart']['type'], settings.CHART_TYPE_COLUMN_OPTIONS['chart']['type']) self.assertEqual(len(d['series'][0]['data']), 0) @@ -1288,17 +1285,17 @@ class ChartTests(ResourceTestCaseMixin, TestCase): # No qurey arguments; expect an empty json list r = self.client.get(data_url) self.assertValidJSONResponse(r) - self.assertEqual(r.content, '[]') + self.assertEqual(unicontent(r), '[]') # No match r = self.client.get(data_url + '?activedrafts=on&name=thisisnotadocumentname') self.assertValidJSONResponse(r) - d = json.loads(r.content) - self.assertEqual(r.content, '[]') + d = json.loads(unicontent(r)) + self.assertEqual(unicontent(r), '[]') r = self.client.get(data_url + '?activedrafts=on&name=%s'%doc.name[6:12]) self.assertValidJSONResponse(r) - d = json.loads(r.content) + d = json.loads(unicontent(r)) self.assertEqual(len(d), 1) self.assertEqual(len(d[0]), 2) @@ -1322,7 +1319,7 @@ class ChartTests(ResourceTestCaseMixin, TestCase): r = self.client.get(conf_url) self.assertValidJSONResponse(r) - d = json.loads(r.content) + d = json.loads(unicontent(r)) self.assertEqual(d['chart']['type'], settings.CHART_TYPE_COLUMN_OPTIONS['chart']['type']) self.assertEqual("New draft revisions over time for %s" % person.name, d['title']['text']) @@ -1330,7 +1327,7 @@ class ChartTests(ResourceTestCaseMixin, TestCase): r = self.client.get(data_url) self.assertValidJSONResponse(r) - d = json.loads(r.content) + d = json.loads(unicontent(r)) self.assertEqual(len(d), 1) self.assertEqual(len(d[0]), 2) diff --git a/ietf/doc/tests_ballot.py b/ietf/doc/tests_ballot.py index 59e195dfb..9284f8172 100644 --- a/ietf/doc/tests_ballot.py +++ b/ietf/doc/tests_ballot.py @@ -363,7 +363,7 @@ class BallotWriteupsTests(TestCase): q = PyQuery(r.content) self.assertEqual(len(q('textarea[name=ballot_writeup]')), 1) self.assertTrue(q('[type=submit]:contains("Save")')) - self.assertTrue("IANA does not" in unicontent(r)) + self.assertContains(r, "IANA does not") # save r = self.client.post(url, dict( @@ -393,8 +393,8 @@ class BallotWriteupsTests(TestCase): q = PyQuery(r.content) self.assertEqual(len(q('textarea[name=rfc_editor_note]')), 1) self.assertTrue(q('[type=submit]:contains("Save")')) - self.assertTrue("" in r.content) - self.assertTrue("This is a note for the RFC Editor" in r.content) + self.assertContains(r, "") + self.assertContains(r, "This is a note for the RFC Editor") # save with a note empty_outbox() @@ -734,13 +734,13 @@ class ApproveBallotTests(TestCase): login_testing_unauthorized(self, "ad", url) r = self.client.get(url) self.assertEqual(r.status_code, 403) - self.assertTrue("Restricted to role Secretariat" in r.content) + self.assertContains(r, "Restricted to role Secretariat") # There are no downrefs, the page should say so login_testing_unauthorized(self, "secretary", url) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue("No downward references for" in r.content) + self.assertContains(r, "No downward references for") # Add a downref, the page should ask if it should be added to the registry rel = draft.relateddocument_set.create(target=rfc.docalias.get(name='rfc6666'),relationship_id='refnorm') @@ -748,7 +748,7 @@ class ApproveBallotTests(TestCase): original_len = len(d) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue("normatively references rfc6666" in r.content) + self.assertContains(r, "normatively references rfc6666") # POST with the downref checked r = self.client.post(url, dict(checkboxes=rel.pk)) diff --git a/ietf/doc/tests_charter.py b/ietf/doc/tests_charter.py index e30211e78..e38cf2c33 100644 --- a/ietf/doc/tests_charter.py +++ b/ietf/doc/tests_charter.py @@ -394,7 +394,7 @@ class EditCharterTests(TestCase): r = self.client.post(url, dict(txt=test_file)) self.assertEqual(r.status_code, 200) - self.assertTrue("does not appear to be a text file" in unicontent(r)) + self.assertContains(r, "does not appear to be a text file") # post prev_rev = charter.rev @@ -696,7 +696,7 @@ class EditCharterTests(TestCase): url = urlreverse('ietf.doc.views_charter.charter_with_milestones_txt', kwargs=dict(name=charter.name, rev=charter.rev)) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(m.desc in unicontent(r)) + self.assertContains(r, m.desc) def test_chartering_from_bof(self): ad_role = RoleFactory(group__type_id='area',name_id='ad') diff --git a/ietf/doc/tests_conflict_review.py b/ietf/doc/tests_conflict_review.py index 7dcb33410..b328af217 100644 --- a/ietf/doc/tests_conflict_review.py +++ b/ietf/doc/tests_conflict_review.py @@ -368,7 +368,7 @@ class ConflictReviewSubmitTests(TestCase): test_file.name = "unnamed" r = self.client.post(url, dict(txt=test_file,submit_response="1")) self.assertEqual(r.status_code, 200) - self.assertTrue("does not appear to be a text file" in unicontent(r)) + self.assertContains(r, "does not appear to be a text file") # sane post uploading a file test_file = StringIO("This is a new proposal.") diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py index fec704051..c728f477b 100644 --- a/ietf/doc/tests_draft.py +++ b/ietf/doc/tests_draft.py @@ -210,7 +210,7 @@ class ChangeStateTests(TestCase): self.assertTrue(not draft.latest_event(type="changed_ballot_writeup_text")) r = self.client.post(url, dict(state=State.objects.get(used=True, type="draft-iesg", slug="lc-req").pk)) self.assertEqual(r.status_code,200) - self.assertTrue("Your request to issue" in unicontent(r)) + self.assertContains(r, "Your request to issue") # last call text e = draft.latest_event(WriteupDocEvent, type="changed_last_call_text") diff --git a/ietf/doc/tests_material.py b/ietf/doc/tests_material.py index b6028b4c8..1640e38db 100644 --- a/ietf/doc/tests_material.py +++ b/ietf/doc/tests_material.py @@ -68,7 +68,7 @@ class GroupMaterialTests(TestCase): # normal get r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue("Slides" in unicontent(r)) + self.assertContains(r, "Slides") url = urlreverse('ietf.doc.views_material.choose_material_type', kwargs=dict(acronym='mars')) r = self.client.get(url) diff --git a/ietf/doc/tests_review.py b/ietf/doc/tests_review.py index 49dd19bd6..ee55251bf 100644 --- a/ietf/doc/tests_review.py +++ b/ietf/doc/tests_review.py @@ -193,7 +193,7 @@ class ReviewTests(TestCase): self.client.login(username="reviewsecretary", password="reviewsecretary+password") r = self.client.get(req_url) self.assertEqual(r.status_code, 200) - self.assertTrue(close_url in unicontent(r)) + self.assertContains(r, close_url) self.client.logout() # get close page @@ -381,7 +381,7 @@ class ReviewTests(TestCase): self.client.login(username="reviewsecretary", password="reviewsecretary+password") r = self.client.get(req_url) self.assertEqual(r.status_code, 200) - self.assertTrue(assign_url in unicontent(r)) + self.assertContains(r, assign_url) self.client.logout() # get assign page @@ -455,14 +455,14 @@ class ReviewTests(TestCase): self.client.login(username="reviewsecretary", password="reviewsecretary+password") r = self.client.get(req_url) self.assertEqual(r.status_code, 200) - self.assertTrue(reject_url in unicontent(r)) + self.assertContains(r, reject_url) self.client.logout() # get reject page login_testing_unauthorized(self, "reviewsecretary", reject_url) r = self.client.get(reject_url) self.assertEqual(r.status_code, 200) - self.assertTrue(str(assignment.reviewer.person) in unicontent(r)) + self.assertContains(r, str(assignment.reviewer.person)) # reject empty_outbox() diff --git a/ietf/doc/tests_status_change.py b/ietf/doc/tests_status_change.py index 4807b3f5c..0183cf31e 100644 --- a/ietf/doc/tests_status_change.py +++ b/ietf/doc/tests_status_change.py @@ -456,7 +456,7 @@ class StatusChangeSubmitTests(TestCase): test_file.name = "unnamed" r = self.client.post(url, dict(txt=test_file,submit_response="1")) self.assertEqual(r.status_code, 200) - self.assertTrue("does not appear to be a text file" in unicontent(r)) + self.assertContains(r, "does not appear to be a text file") # sane post uploading a file test_file = StringIO("This is a new proposal.") @@ -481,7 +481,7 @@ class StatusChangeSubmitTests(TestCase): url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=doc.name,rev='00')) r = self.client.get(url) self.assertEqual(r.status_code,200) - self.assertTrue("This is the old proposal." in unicontent(r)) + self.assertContains(r, "This is the old proposal.") def setUp(self): DocumentFactory(type_id='statchg',name='status-change-imaginary-mid-review',notify='notify@example.org') diff --git a/ietf/group/tests.py b/ietf/group/tests.py index eb0acba7f..72fd4552f 100644 --- a/ietf/group/tests.py +++ b/ietf/group/tests.py @@ -39,7 +39,7 @@ class StreamTests(TestCase): def test_streams(self): r = self.client.get(urlreverse("ietf.group.views.streams")) self.assertEqual(r.status_code, 200) - self.assertTrue("Independent Submission Editor" in unicontent(r)) + self.assertContains(r, "Independent Submission Editor") def test_stream_documents(self): draft = DocumentFactory(type_id='draft',group__acronym='iab',states=[('draft','active')]) @@ -48,7 +48,7 @@ class StreamTests(TestCase): r = self.client.get(urlreverse("ietf.group.views.stream_documents", kwargs=dict(acronym="iab"))) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) + self.assertContains(r, draft.name) def test_stream_edit(self): EmailFactory(address="ad2@ietf.org") diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py index d4f347911..3f8be633f 100644 --- a/ietf/group/tests_info.py +++ b/ietf/group/tests_info.py @@ -66,10 +66,10 @@ class GroupPagesTests(TestCase): url = urlreverse('ietf.group.views.active_groups', kwargs=dict(group_type="wg")) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(group.parent.name in unicontent(r)) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue(group.name in unicontent(r)) - self.assertTrue(group.ad_role().person.plain_name() in unicontent(r)) + self.assertContains(r, group.parent.name) + self.assertContains(r, group.acronym) + self.assertContains(r, group.name) + self.assertContains(r, group.ad_role().person.plain_name()) for t in ('rg','area','ag','dir','review','team','program'): g = GroupFactory.create(type_id=t,state_id='active') @@ -79,13 +79,13 @@ class GroupPagesTests(TestCase): url = urlreverse('ietf.group.views.active_groups', kwargs=dict(group_type=t)) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(g.acronym in unicontent(r)) + self.assertContains(r, g.acronym) url = urlreverse('ietf.group.views.active_groups', kwargs=dict()) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue("Directorate" in unicontent(r)) - self.assertTrue("AG" in unicontent(r)) + self.assertContains(r, "Directorate") + self.assertContains(r, "AG") for slug in GroupTypeName.objects.exclude(slug__in=['wg','rg','ag','area','dir','review','team', 'program']).values_list('slug',flat=True): with self.assertRaises(NoReverseMatch): @@ -103,12 +103,12 @@ class GroupPagesTests(TestCase): r = self.client.get(url) self.assertRedirects(r, next) r = self.client.get(next) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue(group.name in unicontent(r)) + self.assertContains(r, group.acronym) + self.assertContains(r, group.name) for word in ['Documents', 'Date', 'Status', 'IPR', 'AD', 'Shepherd']: - self.assertTrue(word in unicontent(r)) - self.assertTrue(draft.name in unicontent(r)) - self.assertTrue(draft.title in unicontent(r)) + self.assertContains(r, word) + self.assertContains(r, draft.name) + self.assertContains(r, draft.title) def test_wg_summaries(self): group = CharterFactory(group__type_id='wg',group__parent=GroupFactory(type_id='area')).group @@ -123,35 +123,35 @@ class GroupPagesTests(TestCase): url = urlreverse('ietf.group.views.wg_summary_area', kwargs=dict(group_type="wg")) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(group.parent.name in unicontent(r)) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue(group.name in unicontent(r)) - self.assertTrue(chair.address in unicontent(r)) + self.assertContains(r, group.parent.name) + self.assertContains(r, group.acronym) + self.assertContains(r, group.name) + self.assertContains(r, chair.address) url = urlreverse('ietf.group.views.wg_summary_acronym', kwargs=dict(group_type="wg")) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue(group.name in unicontent(r)) - self.assertTrue(chair.address in unicontent(r)) + self.assertContains(r, group.acronym) + self.assertContains(r, group.name) + self.assertContains(r, chair.address) url = urlreverse('ietf.group.views.wg_charters', kwargs=dict(group_type="wg")) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue(group.name in unicontent(r)) - self.assertTrue(group.ad_role().person.plain_name() in unicontent(r)) - self.assertTrue(chair.address in unicontent(r)) - self.assertTrue("This is a charter." in unicontent(r)) + self.assertContains(r, group.acronym) + self.assertContains(r, group.name) + self.assertContains(r, group.ad_role().person.plain_name()) + self.assertContains(r, chair.address) + self.assertContains(r, "This is a charter.") url = urlreverse('ietf.group.views.wg_charters_by_acronym', kwargs=dict(group_type="wg")) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue(group.name in unicontent(r)) - self.assertTrue(group.ad_role().person.plain_name() in unicontent(r)) - self.assertTrue(chair.address in unicontent(r)) - self.assertTrue("This is a charter." in unicontent(r)) + self.assertContains(r, group.acronym) + self.assertContains(r, group.name) + self.assertContains(r, group.ad_role().person.plain_name()) + self.assertContains(r, chair.address) + self.assertContains(r, "This is a charter.") def test_chartering_groups(self): group = CharterFactory(group__type_id='wg',group__parent=GroupFactory(type_id='area'),states=[('charter','intrev')]).group @@ -209,10 +209,10 @@ class GroupPagesTests(TestCase): for url in group_urlreverse_list(group, 'ietf.group.views.group_documents'): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) - self.assertTrue(group.name in unicontent(r)) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue(draft2.name in unicontent(r)) + self.assertContains(r, draft.name) + self.assertContains(r, group.name) + self.assertContains(r, group.acronym) + self.assertContains(r, draft2.name) # Make sure that a logged in user is presented with an opportunity to add results to their community list self.client.login(username="secretary", password="secretary+password") @@ -224,8 +224,8 @@ class GroupPagesTests(TestCase): for url in group_urlreverse_list(group, 'ietf.group.views.group_documents_txt'): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) - self.assertTrue(draft2.name in unicontent(r)) + self.assertContains(r, draft.name) + self.assertContains(r, draft2.name) def test_group_charter(self): group = CharterFactory().group @@ -244,11 +244,11 @@ class GroupPagesTests(TestCase): for url in [group.about_url(),] + group_urlreverse_list(group, 'ietf.group.views.group_about'): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(group.name in unicontent(r)) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue("This is a charter." in unicontent(r)) - self.assertTrue(milestone.desc in unicontent(r)) - self.assertTrue(milestone.docs.all()[0].name in unicontent(r)) + self.assertContains(r, group.name) + self.assertContains(r, group.acronym) + self.assertContains(r, "This is a charter.") + self.assertContains(r, milestone.desc) + self.assertContains(r, milestone.docs.all()[0].name) def test_group_about(self): @@ -306,9 +306,9 @@ class GroupPagesTests(TestCase): url = group.about_url() r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(group.name in unicontent(r)) - self.assertTrue(group.acronym in unicontent(r)) - self.assertTrue(group.description in unicontent(r)) + self.assertContains(r, group.name) + self.assertContains(r, group.acronym) + self.assertContains(r, group.description) for url in group_urlreverse_list(group, 'ietf.group.views.edit'): @@ -334,8 +334,8 @@ class GroupPagesTests(TestCase): for url in group_urlreverse_list(group, 'ietf.group.views.materials'): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(doc.title in unicontent(r)) - self.assertTrue(doc.name in unicontent(r)) + self.assertContains(r, doc.title) + self.assertContains(r, doc.name) url = urlreverse("ietf.group.views.materials", kwargs={ 'acronym': group.acronym }) @@ -344,7 +344,7 @@ class GroupPagesTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(doc.title not in unicontent(r)) + self.assertContains(r, doc.title not) def test_history(self): group = GroupFactory() @@ -358,7 +358,7 @@ class GroupPagesTests(TestCase): for url in group_urlreverse_list(group, 'ietf.group.views.history'): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(e.desc in unicontent(r)) + self.assertContains(r, e.desc) def test_feed(self): group = CharterFactory().group @@ -378,8 +378,8 @@ class GroupPagesTests(TestCase): r = self.client.get("/feed/group-changes/%s/" % group.acronym) self.assertEqual(r.status_code, 200) - self.assertTrue(ge.desc in unicontent(r)) - self.assertTrue(de.desc in unicontent(r)) + self.assertContains(r, ge.desc) + self.assertContains(r, de.desc) def test_chair_photos(self): @@ -790,8 +790,8 @@ class MilestoneTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(m1.desc in unicontent(r)) - self.assertTrue(m2.desc not in unicontent(r)) + self.assertContains(r, m1.desc) + self.assertContains(r, m2.desc not) self.client.logout() login_testing_unauthorized(self, "secretary", url) @@ -799,8 +799,8 @@ class MilestoneTests(TestCase): for url in group_urlreverse_list(group, 'ietf.group.milestones.edit_milestones;charter'): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(m1.desc not in unicontent(r)) - self.assertTrue(m2.desc in unicontent(r)) + self.assertContains(r, m1.desc not) + self.assertContains(r, m2.desc) def test_add_milestone(self): m1, m2, group = self.create_test_milestones() @@ -1148,7 +1148,7 @@ expand-ames-chairs@virtual.ietf.org mars_chair@ietf url = urlreverse('ietf.group.views.email_aliases', kwargs=dict(group_type="wg")) r = self.client.get(url) self.assertEqual(r.status_code,200) - self.assertTrue('mars-ads@' in unicontent(r)) + self.assertContains(r, 'mars-ads@') url = urlreverse('ietf.group.views.email_aliases', kwargs=dict(group_type="rg")) r = self.client.get(url) @@ -1159,9 +1159,9 @@ expand-ames-chairs@virtual.ietf.org mars_chair@ietf url = urlreverse('ietf.group.views.email', kwargs=dict(acronym="mars")) r = self.client.get(url) self.assertEqual(r.status_code,200) - self.assertTrue('Email aliases' in unicontent(r)) - self.assertTrue('mars-ads@ietf.org' in unicontent(r)) - self.assertTrue('group_personnel_change' in unicontent(r)) + self.assertContains(r, 'Email aliases') + self.assertContains(r, 'mars-ads@ietf.org') + self.assertContains(r, 'group_personnel_change') diff --git a/ietf/group/tests_review.py b/ietf/group/tests_review.py index 65000b939..7c9a5bfcf 100644 --- a/ietf/group/tests_review.py +++ b/ietf/group/tests_review.py @@ -51,7 +51,7 @@ class ReviewTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(review_req.doc.name in unicontent(r)) + self.assertContains(r, review_req.doc.name) def test_suggested_review_requests(self): review_req = ReviewRequestFactory(state_id='assigned') @@ -198,7 +198,7 @@ class ReviewTests(TestCase): # get r = self.client.get(unassigned_url) self.assertEqual(r.status_code, 200) - self.assertTrue(review_req1.doc.name in unicontent(r)) + self.assertContains(r, review_req1.doc.name) # Test that conflicts are detected r = self.client.post(unassigned_url, { diff --git a/ietf/iesg/tests.py b/ietf/iesg/tests.py index a7a008cd0..bdb7d33ec 100644 --- a/ietf/iesg/tests.py +++ b/ietf/iesg/tests.py @@ -42,8 +42,8 @@ class IESGTests(TestCase): r = self.client.get(urlreverse("ietf.iesg.views.discusses")) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) - self.assertTrue(pos.ad.plain_name() in unicontent(r)) + self.assertContains(r, draft.name) + self.assertContains(r, pos.ad.plain_name()) def test_milestones_needing_review(self): draft = WgDraftFactory() @@ -58,7 +58,7 @@ class IESGTests(TestCase): login_testing_unauthorized(self, "ad", url) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(m.desc in unicontent(r)) + self.assertContains(r, m.desc) draft.group.state_id = 'conclude' draft.group.save() r = self.client.get(url) @@ -79,7 +79,7 @@ class IESGTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) + self.assertContains(r, draft.name) def test_photos(self): url = urlreverse("ietf.iesg.views.photos") @@ -305,8 +305,8 @@ class IESGAgendaTests(TestCase): self.assertEqual(r.status_code, 200) for d in list(self.telechat_docs.values()): - self.assertTrue(d.name in unicontent(r)) - self.assertTrue(d.title in unicontent(r)) + self.assertContains(r, d.name) + self.assertContains(r, d.title) def test_agenda_json(self): r = self.client.get(urlreverse("ietf.iesg.views.agenda_json")) diff --git a/ietf/ietfauth/tests.py b/ietf/ietfauth/tests.py index 03cbe9ef5..958784f4a 100644 --- a/ietf/ietfauth/tests.py +++ b/ietf/ietfauth/tests.py @@ -379,7 +379,7 @@ class IetfAuthTests(TestCase): # get r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(review_req.doc.name in unicontent(r)) + self.assertContains(r, review_req.doc.name) # wish to review r = self.client.post(url, { diff --git a/ietf/ipr/tests.py b/ietf/ipr/tests.py index 557a6a9ac..5a4c656d1 100644 --- a/ietf/ipr/tests.py +++ b/ietf/ipr/tests.py @@ -73,13 +73,13 @@ class IprTests(TestCase): ipr = HolderIprDisclosureFactory() r = self.client.get(urlreverse("ietf.ipr.views.showlist")) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) def test_show_posted(self): ipr = HolderIprDisclosureFactory() r = self.client.get(urlreverse("ietf.ipr.views.show", kwargs=dict(id=ipr.pk))) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) def test_show_parked(self): ipr = HolderIprDisclosureFactory(state_id='parked') @@ -100,21 +100,21 @@ class IprTests(TestCase): ipr = HolderIprDisclosureFactory(state_id='removed') r = self.client.get(urlreverse("ietf.ipr.views.show", kwargs=dict(id=ipr.pk))) self.assertEqual(r.status_code, 200) - self.assertTrue('This IPR disclosure was removed' in unicontent(r)) + self.assertContains(r, 'This IPR disclosure was removed') def test_ipr_history(self): ipr = HolderIprDisclosureFactory() r = self.client.get(urlreverse("ietf.ipr.views.history", kwargs=dict(id=ipr.pk))) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) def test_iprs_for_drafts(self): draft=WgDraftFactory() ipr = HolderIprDisclosureFactory(docs=[draft,]) r = self.client.get(urlreverse("ietf.ipr.views.by_draft_txt")) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) - self.assertTrue(str(ipr.pk) in unicontent(r)) + self.assertContains(r, draft.name) + self.assertContains(r, str(ipr.pk)) def test_iprs_for_drafts_recursive(self): draft = WgDraftFactory(relations=[('replaces', IndividualDraftFactory())]) @@ -122,15 +122,15 @@ class IprTests(TestCase): replaced = draft.all_related_that_doc('replaces') r = self.client.get(urlreverse("ietf.ipr.views.by_draft_recursive_txt")) self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) + self.assertContains(r, draft.name) for alias in replaced: - self.assertTrue(alias.name in unicontent(r)) - self.assertTrue(str(ipr.pk) in unicontent(r)) + self.assertContains(r, alias.name) + self.assertContains(r, str(ipr.pk)) def test_about(self): r = self.client.get(urlreverse("ietf.ipr.views.about")) self.assertEqual(r.status_code, 200) - self.assertTrue("File a disclosure" in unicontent(r)) + self.assertContains(r, "File a disclosure") def test_search(self): WgDraftFactory() # The test matching the prefix "draft" needs more than one thing to find @@ -147,66 +147,66 @@ class IprTests(TestCase): # find by id r = self.client.get(url + "?submit=draft&id=%s" % draft.name) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) # find draft r = self.client.get(url + "?submit=draft&draft=%s" % draft.name) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) # search + select document r = self.client.get(url + "?submit=draft&draft=draft") self.assertEqual(r.status_code, 200) - self.assertTrue(draft.name in unicontent(r)) - self.assertTrue(ipr.title not in unicontent(r)) + self.assertContains(r, draft.name) + self.assertContains(r, ipr.title not) DocAlias.objects.create(name="rfc321").docs.add(draft) # find RFC r = self.client.get(url + "?submit=rfc&rfc=321") self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) # find by patent owner r = self.client.get(url + "?submit=holder&holder=%s" % ipr.holder_legal_name) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) # find by patent info r = self.client.get(url + "?submit=patent&patent=%s" % ipr.patent_info) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) r = self.client.get(url + "?submit=patent&patent=US12345") self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) # find by group acronym r = self.client.get(url + "?submit=group&group=%s" % draft.group.pk) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) # find by doc title r = self.client.get(url + "?submit=doctitle&doctitle=%s" % urllib.parse.quote(draft.title)) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) # find by ipr title r = self.client.get(url + "?submit=iprtitle&iprtitle=%s" % urllib.parse.quote(ipr.title)) self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) def test_feed(self): ipr = HolderIprDisclosureFactory() r = self.client.get("/feed/ipr/") self.assertEqual(r.status_code, 200) - self.assertTrue(ipr.title in unicontent(r)) + self.assertContains(r, ipr.title) def test_sitemap(self): ipr = HolderIprDisclosureFactory() r = self.client.get("/sitemap-ipr.xml") self.assertEqual(r.status_code, 200) - self.assertTrue("/ipr/%s/" % ipr.pk in unicontent(r)) + self.assertContains(r, "/ipr/%s/" % ipr.pk) def test_new_generic(self): """Add a new generic disclosure. Note: submitter does not need to be logged in. @@ -233,7 +233,7 @@ class IprTests(TestCase): "notes": "some notes" }) self.assertEqual(r.status_code, 200) - self.assertTrue("Your IPR disclosure has been submitted" in unicontent(r)) + self.assertContains(r, "Your IPR disclosure has been submitted") self.assertEqual(len(outbox),1) self.assertTrue('New IPR Submission' in outbox[0]['Subject']) self.assertTrue('ietf-ipr@' in outbox[0]['To']) @@ -276,7 +276,7 @@ class IprTests(TestCase): "submitter_email": "test@holder.com", }) self.assertEqual(r.status_code, 200) - self.assertTrue("Your IPR disclosure has been submitted" in unicontent(r)) + self.assertContains(r, "Your IPR disclosure has been submitted") iprs = IprDisclosureBase.objects.filter(title__icontains=draft.name) self.assertEqual(len(iprs), 1) @@ -319,7 +319,7 @@ class IprTests(TestCase): "submitter_email": "test@holder.com", }) self.assertEqual(r.status_code, 200) - self.assertTrue("Your IPR disclosure has been submitted" in unicontent(r)) + self.assertContains(r, "Your IPR disclosure has been submitted") iprs = IprDisclosureBase.objects.filter(title__icontains="belonging to Test Legal") self.assertEqual(len(iprs), 1) @@ -416,7 +416,7 @@ class IprTests(TestCase): "submitter_email": "test@holder.com", }) self.assertEqual(r.status_code, 200) - self.assertTrue("Your IPR disclosure has been submitted" in unicontent(r)) + self.assertContains(r, "Your IPR disclosure has been submitted") iprs = IprDisclosureBase.objects.filter(title__icontains=draft.name) self.assertEqual(len(iprs), 1) @@ -473,7 +473,7 @@ class IprTests(TestCase): # private comment r = self.client.post(url, dict(comment='Private comment',private=True),follow=True) self.assertEqual(r.status_code,200) - self.assertTrue('Private comment' in unicontent(r)) + self.assertContains(r, 'Private comment') self.client.logout() r = self.client.get(url) self.assertFalse('Private comment' in unicontent(r)) diff --git a/ietf/liaisons/tests.py b/ietf/liaisons/tests.py index 22cef5911..ab8f2a22f 100644 --- a/ietf/liaisons/tests.py +++ b/ietf/liaisons/tests.py @@ -58,40 +58,40 @@ class LiaisonTests(TestCase): r = self.client.get(urlreverse('ietf.liaisons.views.liaison_list')) self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) def test_details(self): liaison = LiaisonStatementFactory() r = self.client.get(urlreverse("ietf.liaisons.views.liaison_detail", kwargs={ 'object_id': liaison.pk })) self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) def test_feeds(self): liaison = LiaisonStatementFactory(title="Comment from United League of Marsmen") r = self.client.get('/feed/liaison/recent/') self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) r = self.client.get('/feed/liaison/from/%s/' % liaison.from_groups.first().acronym) self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) r = self.client.get('/feed/liaison/to/%s/' % liaison.to_groups.first().acronym) self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) r = self.client.get('/feed/liaison/subject/marsmen/') self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) def test_sitemap(self): liaison = LiaisonStatementFactory() r = self.client.get('/sitemap-liaison.xml') self.assertEqual(r.status_code, 200) - self.assertTrue(urlreverse("ietf.liaisons.views.liaison_detail", kwargs={ 'object_id': liaison.pk }) in unicontent(r)) + self.assertContains(r, urlreverse("ietf.liaisons.views.liaison_detail", kwargs={ 'object_id': liaison.pk })) def test_help_pages(self): self.assertEqual(self.client.get('/liaison/help/').status_code, 200) @@ -300,7 +300,7 @@ class LiaisonManagementTests(TestCase): # private comment r = self.client.post(addurl, dict(comment='Private comment',private=True),follow=True) self.assertEqual(r.status_code,200) - self.assertTrue('Private comment' in r.content) + self.assertContains(r, 'Private comment') self.client.logout() r = self.client.get(url) self.assertFalse('Private comment' in r.content) @@ -344,14 +344,14 @@ class LiaisonManagementTests(TestCase): login_testing_unauthorized(self, "ad", url) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) # check the detail page / unauthorized url = urlreverse('ietf.liaisons.views.liaison_detail', kwargs=dict(object_id=liaison.pk)) self.client.logout() r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) q = PyQuery(r.content) self.assertEqual(len(q('form input[name=approved]')), 0) @@ -359,7 +359,7 @@ class LiaisonManagementTests(TestCase): self.client.login(username="ulm-liaiman", password="ulm-liaiman+password") r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(liaison.title in unicontent(r)) + self.assertContains(r, liaison.title) q = PyQuery(r.content) from ietf.liaisons.utils import can_edit_liaison user = User.objects.get(username='ulm-liaiman') @@ -1091,7 +1091,7 @@ class LiaisonManagementTests(TestCase): r = self.client.post(url,get_liaison_post_data(),follow=True) self.assertEqual(r.status_code, 200) - self.assertTrue('As an IETF Liaison Manager you can not send incoming liaison statements' in unicontent(r)) + self.assertContains(r, 'As an IETF Liaison Manager you can not send incoming liaison statements') def test_deadline_field(self): '''Required for action, comment, not info, response''' @@ -1131,7 +1131,7 @@ class LiaisonManagementTests(TestCase): r = self.client.post(url,post_data,follow=True) self.assertEqual(r.status_code, 200) - self.assertTrue('You must provide a body or attachment files' in unicontent(r)) + self.assertContains(r, 'You must provide a body or attachment files') def test_send_sdo_reminder(self): RoleFactory(name_id='liaiman',person__user__username='ulm-liaiman',person__user__email='ulm-liaiman@somewhere.example',group__type_id='sdo',group__acronym='ulm') diff --git a/ietf/mailtrigger/tests.py b/ietf/mailtrigger/tests.py index 058f9c037..6868c5b77 100644 --- a/ietf/mailtrigger/tests.py +++ b/ietf/mailtrigger/tests.py @@ -1,3 +1,4 @@ +# Copyright The IETF Trust 2015-2019, All Rights Reserved from django.urls import reverse as urlreverse from ietf.utils.test_utils import TestCase, unicontent @@ -9,22 +10,22 @@ class EventMailTests(TestCase): url = urlreverse('ietf.mailtrigger.views.show_triggers') r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue('ballot_saved' in unicontent(r)) + self.assertContains(r, 'ballot_saved') url = urlreverse('ietf.mailtrigger.views.show_triggers',kwargs=dict(mailtrigger_slug='ballot_saved')) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue('ballot_saved' in unicontent(r)) + self.assertContains(r, 'ballot_saved') def test_show_recipients(self): url = urlreverse('ietf.mailtrigger.views.show_recipients') r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue('doc_group_mail_list' in unicontent(r)) + self.assertContains(r, 'doc_group_mail_list') url = urlreverse('ietf.mailtrigger.views.show_recipients',kwargs=dict(recipient_slug='doc_group_mail_list')) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue('doc_group_mail_list' in unicontent(r)) + self.assertContains(r, 'doc_group_mail_list') diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 6b67f4009..8c7ff4ad0 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -153,7 +153,7 @@ class MeetingTests(TestCase): r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number,name=meeting.unofficial_schedule.name,owner=meeting.unofficial_schedule.owner.email()))) self.assertEqual(r.status_code, 200) - self.assertTrue('not the official schedule' in unicontent(r)) + self.assertContains(r, 'not the official schedule') # future meeting, no agenda r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=future_meeting.number, ext=".txt"))) @@ -170,8 +170,8 @@ class MeetingTests(TestCase): self.assertTrue(session.group.parent.acronym.upper() in agenda_content) self.assertTrue(slot.location.name in agenda_content) - self.assertTrue(session.materials.get(type='agenda').uploaded_filename in unicontent(r)) - self.assertTrue(session.materials.filter(type='slides').exclude(states__type__slug='slides',states__slug='deleted').first().uploaded_filename in unicontent(r)) + self.assertContains(r, session.materials.get(type='agenda').uploaded_filename) + self.assertContains(r, session.materials.filter(type='slides').exclude(states__type__slug='slides',states__slug='deleted').first().uploaded_filename) self.assertFalse(session.materials.filter(type='slides',states__type__slug='slides',states__slug='deleted').first().uploaded_filename in unicontent(r)) # iCal @@ -185,8 +185,8 @@ class MeetingTests(TestCase): self.assertTrue("BEGIN:VTIMEZONE" in agenda_content) self.assertTrue("END:VTIMEZONE" in agenda_content) - self.assertTrue(session.agenda().href() in unicontent(r)) - self.assertTrue(session.materials.filter(type='slides').exclude(states__type__slug='slides',states__slug='deleted').first().href() in unicontent(r)) + self.assertContains(r, session.agenda().href()) + self.assertContains(r, session.materials.filter(type='slides').exclude(states__type__slug='slides',states__slug='deleted').first().href()) # TODO - the ics view uses .all on a queryset in a view so it's showing the deleted slides. #self.assertFalse(session.materials.filter(type='slides',states__type__slug='slides',states__slug='deleted').first().get_absolute_url() in unicontent(r)) @@ -214,7 +214,7 @@ class MeetingTests(TestCase): make_meeting_test_data(meeting=meeting) url = urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number)) r = self.client.get(url) - self.assertTrue("Audio stream" in unicontent(r)) + self.assertContains(r, "Audio stream") def test_agenda_by_room(self): meeting = make_meeting_test_data() @@ -303,14 +303,14 @@ class MeetingTests(TestCase): q = PyQuery(r.content) debug.show('q(".alert").text()') self.assertEqual(r.status_code, 200) - self.assertTrue("1. WG status" in unicontent(r)) + self.assertContains(r, "1. WG status") # session minutes url = urlreverse("ietf.meeting.views.materials_document", kwargs=dict(num=meeting.number, document=session.minutes())) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue("1. More work items underway" in unicontent(r)) + self.assertContains(r, "1. More work items underway") # test with explicit meeting number in url if meeting.number.isdigit(): @@ -362,22 +362,22 @@ class MeetingTests(TestCase): self.client.login(username="marschairman", password="marschairman+password") r = self.client.get(urlreverse("ietf.meeting.views.materials_editable_groups", kwargs={'num':meeting.number})) self.assertEqual(r.status_code, 200) - self.assertTrue(meeting.number in unicontent(r)) - self.assertTrue("mars" in unicontent(r)) + self.assertContains(r, meeting.number) + self.assertContains(r, "mars") self.assertFalse("No session requested" in unicontent(r)) self.client.login(username="ad", password="ad+password") r = self.client.get(urlreverse("ietf.meeting.views.materials_editable_groups", kwargs={'num':meeting.number})) self.assertEqual(r.status_code, 200) - self.assertTrue(meeting.number in unicontent(r)) - self.assertTrue("frfarea" in unicontent(r)) - self.assertTrue("No session requested" in unicontent(r)) + self.assertContains(r, meeting.number) + self.assertContains(r, "frfarea") + self.assertContains(r, "No session requested") self.client.login(username="plain",password="plain+password") r = self.client.get(urlreverse("ietf.meeting.views.materials_editable_groups", kwargs={'num':meeting.number})) self.assertEqual(r.status_code, 200) - self.assertTrue(meeting.number in unicontent(r)) - self.assertTrue("You cannot manage the meeting materials for any groups" in unicontent(r)) + self.assertContains(r, meeting.number) + self.assertContains(r, "You cannot manage the meeting materials for any groups") def test_proceedings(self): meeting = make_meeting_test_data() @@ -445,8 +445,8 @@ class MeetingTests(TestCase): r = self.client.get("/feed/wg-proceedings/") self.assertEqual(r.status_code, 200) - self.assertTrue("agenda" in unicontent(r)) - self.assertTrue(session.group.acronym in unicontent(r)) + self.assertContains(r, "agenda") + self.assertContains(r, session.group.acronym) def test_important_dates(self): meeting=MeetingFactory(type_id='ietf') @@ -595,7 +595,7 @@ class EditTests(TestCase): self.client.login(username="secretary", password="secretary+password") r = self.client.get(urlreverse("ietf.meeting.views.edit_agenda", kwargs=dict(num=meeting.number))) self.assertEqual(r.status_code, 200) - self.assertTrue("load_assignments" in unicontent(r)) + self.assertContains(r, "load_assignments") def test_save_agenda_as_and_read_permissions(self): meeting = make_meeting_test_data() @@ -691,7 +691,7 @@ class EditTests(TestCase): self.client.login(username="secretary", password="secretary+password") r = self.client.get(urlreverse("ietf.meeting.views.edit_timeslots", kwargs=dict(num=meeting.number))) self.assertEqual(r.status_code, 200) - self.assertTrue(meeting.room_set.all().first().name in unicontent(r)) + self.assertContains(r, meeting.room_set.all().first().name) def test_edit_timeslot_type(self): timeslot = TimeSlotFactory(meeting__type_id='ietf') @@ -759,7 +759,7 @@ class SessionDetailsTests(TestCase): self.client.login(username=group_chair.user.username, password='%s+password'%group_chair.user.username) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(old_draft.name in unicontent(r)) + self.assertContains(r, old_draft.name) r = self.client.post(url,dict(drafts=[new_draft.pk, old_draft.pk])) self.assertTrue(r.status_code, 200) @@ -881,7 +881,7 @@ class InterimTests(TestCase): login_testing_unauthorized(self, "secretary", url) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(meeting.number in r.content) + self.assertContains(r, meeting.number) def test_interim_skip_announcement(self): make_meeting_test_data() @@ -946,7 +946,7 @@ class InterimTests(TestCase): url = urlreverse('ietf.meeting.views.past') r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue('IETF - %02d'%int(ietf.meeting.number) in unicontent(r)) + self.assertContains(r, 'IETF - %02d'%int(ietf.meeting.number)) q = PyQuery(r.content) id="-%s" % interim.group.acronym self.assertTrue('CANCELLED' in q('[id*="'+id+'"]').text()) @@ -959,9 +959,9 @@ class InterimTests(TestCase): today = datetime.date.today() mars_interim = Meeting.objects.filter(date__gt=today, type='interim', session__group__acronym='mars', session__status='sched').first() ames_interim = Meeting.objects.filter(date__gt=today, type='interim', session__group__acronym='ames', session__status='canceled').first() - self.assertTrue(mars_interim.number in r.content) - self.assertTrue(ames_interim.number in r.content) - self.assertTrue('IETF - 42' in r.content) + self.assertContains(r, mars_interim.number) + self.assertContains(r, ames_interim.number) + self.assertContains(r, 'IETF - 42') # cancelled session q = PyQuery(r.content) self.assertTrue('CANCELLED' in q('[id*="-ames"]').text()) @@ -1242,7 +1242,7 @@ class InterimTests(TestCase): r = self.client.post(urlreverse("ietf.meeting.views.interim_request"),data) self.assertEqual(r.status_code, 200) - self.assertTrue('days must be consecutive' in r.content) + self.assertContains(r, 'days must be consecutive') def test_interim_request_series(self): make_meeting_test_data() @@ -2144,8 +2144,8 @@ class SessionTests(TestCase): url = urlreverse('ietf.meeting.views.meeting_requests',kwargs={'num':meeting.number}) r = self.client.get(url) self.assertEqual(r.status_code,200) - self.assertTrue(requested_session.group.acronym in unicontent(r)) - self.assertTrue(not_meeting.group.acronym in unicontent(r)) + self.assertContains(r, requested_session.group.acronym) + self.assertContains(r, not_meeting.group.acronym) def test_request_minutes(self): meeting = MeetingFactory(type_id='ietf') diff --git a/ietf/message/tests.py b/ietf/message/tests.py index a9ca78b67..679404e2a 100644 --- a/ietf/message/tests.py +++ b/ietf/message/tests.py @@ -26,10 +26,10 @@ class MessageTests(TestCase): r = self.client.get(urlreverse("ietf.message.views.message", kwargs=dict(message_id=msg.id))) self.assertEqual(r.status_code, 200) - self.assertTrue(msg.subject in unicontent(r)) - self.assertTrue(msg.to in unicontent(r)) - self.assertTrue(msg.frm in unicontent(r)) - self.assertTrue("Hello World!" in unicontent(r)) + self.assertContains(r, msg.subject) + self.assertContains(r, msg.to) + self.assertContains(r, msg.frm) + self.assertContains(r, "Hello World!") class SendScheduledAnnouncementsTests(TestCase): diff --git a/ietf/nomcom/tests.py b/ietf/nomcom/tests.py index 7cb02fdb2..061ce5e9b 100644 --- a/ietf/nomcom/tests.py +++ b/ietf/nomcom/tests.py @@ -487,9 +487,9 @@ class NomcomViewsTest(TestCase): r = self.client.get(reverse('ietf.nomcom.views.announcements')) self.assertEqual(r.status_code, 200) - self.assertTrue(("Messages from %s" % nomcom.time.year) in unicontent(r)) - self.assertTrue(nomcom.role_set.filter(name="chair")[0].person.email_address() in unicontent(r)) - self.assertTrue(msg.subject in unicontent(r)) + self.assertContains(r, ("Messages from %s" % nomcom.time.year)) + self.assertContains(r, nomcom.role_set.filter(name="chair")[0].person.email_address()) + self.assertContains(r, msg.subject) def test_requirements_view(self): diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index ef7908011..18f7750c5 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -147,7 +147,7 @@ class SubmitRequestCase(TestCase): self.assertEqual(r.status_code, 200) q = PyQuery(r.content) self.assertEqual(len(q('#session-request-form')),1) - self.assertTrue('You must enter a length for all sessions' in unicontent(r)) + self.assertContains(r, 'You must enter a length for all sessions') def test_request_notification(self): meeting = MeetingFactory(type_id='ietf', date=datetime.date.today()) @@ -248,11 +248,11 @@ class NotMeetingCase(TestCase): # This is a sign of a problem - a get shouldn't have a side-effect like this one does self.assertEqual(r.status_code, 200) - self.assertTrue('A message was sent to notify not having a session' in unicontent(r)) + self.assertContains(r, 'A message was sent to notify not having a session') r = self.client.get(url,follow=True) self.assertEqual(r.status_code, 200) - self.assertTrue('is already marked as not meeting' in unicontent(r)) + self.assertContains(r, 'is already marked as not meeting') self.assertEqual(len(outbox),1) self.assertTrue('Not having a session' in outbox[0]['Subject']) diff --git a/ietf/stats/tests.py b/ietf/stats/tests.py index f0c6888ae..cbcfe4626 100644 --- a/ietf/stats/tests.py +++ b/ietf/stats/tests.py @@ -158,7 +158,7 @@ class StatisticsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue("United States" in unicontent(r)) + self.assertContains(r, "United States") def test_review_stats(self): reviewer = PersonFactory() diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index 1302c3b4b..be5f7cc58 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -393,7 +393,7 @@ class SubmitTests(TestCase): status_url = r["Location"] r = self.client.get(status_url) self.assertEqual(r.status_code, 200) - self.assertTrue("The submission is pending approval by the authors" in unicontent(r)) + self.assertContains(r, "The submission is pending approval by the authors") self.assertEqual(len(outbox), mailbox_before + 1) confirm_email = outbox[-1] @@ -547,7 +547,7 @@ class SubmitTests(TestCase): status_url = r["Location"] r = self.client.get(status_url) self.assertEqual(r.status_code, 200) - self.assertTrue("The submission is pending email authentication" in unicontent(r)) + self.assertContains(r, "The submission is pending email authentication") self.assertEqual(len(outbox), mailbox_before + 1) confirm_email = outbox[-1] @@ -598,16 +598,16 @@ class SubmitTests(TestCase): replaced_alias = draft.docalias.first() r = self.supply_extra_metadata(name, status_url, "Submitter Name", "author@example.com", replaces=str(replaced_alias.pk)) self.assertEqual(r.status_code, 200) - self.assertTrue('cannot replace itself' in unicontent(r)) + self.assertContains(r, 'cannot replace itself') replaced_alias = DocAlias.objects.get(name='draft-ietf-random-thing') r = self.supply_extra_metadata(name, status_url, "Submitter Name", "author@example.com", replaces=str(replaced_alias.pk)) self.assertEqual(r.status_code, 200) - self.assertTrue('cannot replace an RFC' in unicontent(r)) + self.assertContains(r, 'cannot replace an RFC') replaced_alias.document.set_state(State.objects.get(type='draft-iesg',slug='approved')) replaced_alias.document.set_state(State.objects.get(type='draft',slug='active')) r = self.supply_extra_metadata(name, status_url, "Submitter Name", "author@example.com", replaces=str(replaced_alias.pk)) self.assertEqual(r.status_code, 200) - self.assertTrue('approved by the IESG and cannot' in unicontent(r)) + self.assertContains(r, 'approved by the IESG and cannot') r = self.supply_extra_metadata(name, status_url, "Submitter Name", "author@example.com", replaces='') self.assertEqual(r.status_code, 302) status_url = r["Location"] @@ -805,7 +805,7 @@ class SubmitTests(TestCase): # search status page r = self.client.get(urlreverse("ietf.submit.views.search_submission")) self.assertEqual(r.status_code, 200) - self.assertTrue("submission status" in unicontent(r)) + self.assertContains(r, "submission status") # search r = self.client.post(urlreverse("ietf.submit.views.search_submission"), dict(name=name)) diff --git a/ietf/sync/tests.py b/ietf/sync/tests.py index 78bf1bd36..edb1439cf 100644 --- a/ietf/sync/tests.py +++ b/ietf/sync/tests.py @@ -205,7 +205,7 @@ ICANN login_testing_unauthorized(self, "secretary", url) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue("new changes at" in unicontent(r)) + self.assertContains(r, "new changes at") # we don't actually try posting as that would trigger a real run @@ -430,7 +430,7 @@ class DiscrepanciesTests(TestCase): doc.set_state(State.objects.get(used=True, type="draft-iesg", slug="ann")) r = self.client.get(urlreverse("ietf.sync.views.discrepancies")) - self.assertTrue(doc.name in unicontent(r)) + self.assertContains(r, doc.name) # draft with IANA state "In Progress" but RFC Editor state not IANA doc = Document.objects.create(name="draft-ietf-test2", type_id="draft") @@ -439,7 +439,7 @@ class DiscrepanciesTests(TestCase): doc.set_state(State.objects.get(used=True, type="draft-rfceditor", slug="auth")) r = self.client.get(urlreverse("ietf.sync.views.discrepancies")) - self.assertTrue(doc.name in unicontent(r)) + self.assertContains(r, doc.name) # draft with IANA state "Waiting on RFC Editor" or "RFC-Ed-Ack" # but RFC Editor state is IANA @@ -449,7 +449,7 @@ class DiscrepanciesTests(TestCase): doc.set_state(State.objects.get(used=True, type="draft-rfceditor", slug="iana")) r = self.client.get(urlreverse("ietf.sync.views.discrepancies")) - self.assertTrue(doc.name in unicontent(r)) + self.assertContains(r, doc.name) # draft with state other than "RFC Ed Queue" or "RFC Published" # that are in RFC Editor or IANA queues @@ -458,7 +458,7 @@ class DiscrepanciesTests(TestCase): doc.set_state(State.objects.get(used=True, type="draft-rfceditor", slug="auth")) r = self.client.get(urlreverse("ietf.sync.views.discrepancies")) - self.assertTrue(doc.name in unicontent(r)) + self.assertContains(r, doc.name) class RFCEditorUndoTests(TestCase): def test_rfceditor_undo(self): @@ -480,7 +480,7 @@ class RFCEditorUndoTests(TestCase): # get r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertTrue(e2.doc.name in unicontent(r)) + self.assertContains(r, e2.doc.name) # delete e2 deleted_before = DeletedEvent.objects.count()