Modified the test data to use some AD and WG chair names that contain non-ascii characters, and fixed test issues found.
- Legacy-Id: 10418
This commit is contained in:
parent
ebfebde27a
commit
cf7d794b09
3
debug.py
3
debug.py
|
@ -190,6 +190,7 @@ def info(name):
|
|||
if debug:
|
||||
frame = inspect.stack()[1][0]
|
||||
value = eval(name, frame.f_globals, frame.f_locals)
|
||||
vtype = eval("type(%s)"%name, frame.f_globals, frame.f_locals)
|
||||
indent = ' ' * (_report_indent[0])
|
||||
sys.stderr.write("%s%s: %s %s\n" % (indent, name, value, type(value)))
|
||||
sys.stderr.write("%s%s: '%s' (%s)\n" % (indent, name, value, vtype))
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ from ietf.name.models import SessionStatusName
|
|||
from ietf.person.models import Person
|
||||
from ietf.utils.mail import outbox
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
from ietf.utils.test_utils import login_testing_unauthorized, unicontent
|
||||
from ietf.utils.test_utils import TestCase
|
||||
|
||||
class SearchTests(TestCase):
|
||||
|
@ -46,68 +46,68 @@ class SearchTests(TestCase):
|
|||
|
||||
r = self.client.get(base_url + "?rfcs=on&name=xyzzy")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("no documents match" in r.content.lower())
|
||||
self.assertTrue("no documents match" in unicontent(r).lower())
|
||||
|
||||
r = self.client.get(base_url + "?olddrafts=on&name=bar")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("no documents match" in r.content.lower())
|
||||
self.assertTrue("no documents match" in unicontent(r).lower())
|
||||
|
||||
r = self.client.get(base_url + "?olddrafts=on&name=foo")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("draft-foo-mars-test" in r.content.lower())
|
||||
self.assertTrue("draft-foo-mars-test" in unicontent(r).lower())
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
# find by author
|
||||
r = self.client.get(base_url + "?activedrafts=on&by=author&author=%s" % draft.authors.all()[0].person.name_parts()[1])
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.title in r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
def test_search_for_name(self):
|
||||
draft = make_test_data()
|
||||
|
@ -189,30 +189,30 @@ class SearchTests(TestCase):
|
|||
make_test_data()
|
||||
r = self.client.get("/")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Document Search" in r.content)
|
||||
self.assertTrue("Document Search" in unicontent(r))
|
||||
|
||||
def test_drafts_pages(self):
|
||||
draft = make_test_data()
|
||||
|
||||
r = self.client.get(urlreverse("docs_for_ad", kwargs=dict(name=draft.ad.full_name_as_key())))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.title in r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
draft.set_state(State.objects.get(type="draft-iesg", slug="lc"))
|
||||
r = self.client.get(urlreverse("drafts_in_last_call"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.title in r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
def test_indexes(self):
|
||||
draft = make_test_data()
|
||||
|
||||
r = self.client.get(urlreverse("index_all_drafts"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
|
||||
r = self.client.get(urlreverse("index_active_drafts"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.title in r.content)
|
||||
self.assertTrue(draft.title in unicontent(r))
|
||||
|
||||
def test_ajax_search_docs(self):
|
||||
draft = make_test_data()
|
||||
|
@ -437,55 +437,55 @@ Man Expires September 22, 2015 [Page 3]
|
|||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Internet-Draft" in r.content)
|
||||
self.assertTrue("Show full document text" in r.content)
|
||||
self.assertFalse("Deimos street" in r.content)
|
||||
self.assertTrue("Active Internet-Draft" in unicontent(r))
|
||||
self.assertTrue("Show full document text" in unicontent(r))
|
||||
self.assertFalse("Deimos street" in unicontent(r))
|
||||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)) + "?include_text=0")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Internet-Draft" in r.content)
|
||||
self.assertFalse("Show full document text" in r.content)
|
||||
self.assertTrue("Deimos street" in r.content)
|
||||
self.assertTrue("Active Internet-Draft" in unicontent(r))
|
||||
self.assertFalse("Show full document text" in unicontent(r))
|
||||
self.assertTrue("Deimos street" in unicontent(r))
|
||||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)) + "?include_text=foo")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Internet-Draft" in r.content)
|
||||
self.assertFalse("Show full document text" in r.content)
|
||||
self.assertTrue("Deimos street" in r.content)
|
||||
self.assertTrue("Active Internet-Draft" in unicontent(r))
|
||||
self.assertFalse("Show full document text" in unicontent(r))
|
||||
self.assertTrue("Deimos street" in unicontent(r))
|
||||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)) + "?include_text=1")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Internet-Draft" in r.content)
|
||||
self.assertFalse("Show full document text" in r.content)
|
||||
self.assertTrue("Deimos street" in r.content)
|
||||
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.client.cookies = SimpleCookie({'full_draft': 'on'})
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Internet-Draft" in r.content)
|
||||
self.assertFalse("Show full document text" in r.content)
|
||||
self.assertTrue("Deimos street" in r.content)
|
||||
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.client.cookies = SimpleCookie({'full_draft': 'off'})
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Internet-Draft" in r.content)
|
||||
self.assertTrue("Show full document text" in r.content)
|
||||
self.assertFalse("Deimos street" in r.content)
|
||||
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.client.cookies = SimpleCookie({'full_draft': 'foo'})
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Internet-Draft" in r.content)
|
||||
self.assertTrue("Show full document text" in r.content)
|
||||
self.assertFalse("Deimos street" in r.content)
|
||||
self.assertTrue("Active Internet-Draft" in unicontent(r))
|
||||
self.assertTrue("Show full document text" in unicontent(r))
|
||||
self.assertFalse("Deimos street" in unicontent(r))
|
||||
|
||||
# expired draft
|
||||
draft.set_state(State.objects.get(type="draft", slug="expired"))
|
||||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Expired Internet-Draft" in r.content)
|
||||
self.assertTrue("Expired Internet-Draft" in unicontent(r))
|
||||
|
||||
# replaced draft
|
||||
draft.set_state(State.objects.get(type="draft", slug="repl"))
|
||||
|
@ -506,8 +506,8 @@ Man Expires September 22, 2015 [Page 3]
|
|||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Replaced Internet-Draft" in r.content)
|
||||
self.assertTrue(replacement.name in r.content)
|
||||
self.assertTrue("Replaced Internet-Draft" in unicontent(r))
|
||||
self.assertTrue(replacement.name in unicontent(r))
|
||||
rel.delete()
|
||||
|
||||
# draft published as RFC
|
||||
|
@ -527,8 +527,8 @@ Man Expires September 22, 2015 [Page 3]
|
|||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=rfc_alias.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("RFC 123456" in r.content)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue("RFC 123456" in unicontent(r))
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
|
||||
# naked RFC
|
||||
rfc = Document.objects.create(
|
||||
|
@ -541,7 +541,7 @@ Man Expires September 22, 2015 [Page 3]
|
|||
DocAlias.objects.create(name=rfc.name, document=rfc)
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=rfc.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("RFC 1234567" in r.content)
|
||||
self.assertTrue("RFC 1234567" in unicontent(r))
|
||||
|
||||
# unknown draft
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name="draft-xyz123")))
|
||||
|
@ -567,14 +567,14 @@ Man Expires September 22, 2015 [Page 3]
|
|||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("%s-01"%docname in r.content)
|
||||
self.assertTrue("%s-01"%docname in unicontent(r))
|
||||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name,rev="01")))
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name,rev="00")))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("%s-00"%docname in r.content)
|
||||
self.assertTrue("%s-00"%docname in unicontent(r))
|
||||
|
||||
class DocTestCase(TestCase):
|
||||
def test_document_charter(self):
|
||||
|
@ -634,12 +634,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 r.content)
|
||||
self.assertTrue(pos.comment in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(pos.comment in unicontent(r))
|
||||
|
||||
# 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)))
|
||||
|
@ -653,7 +653,7 @@ class DocTestCase(TestCase):
|
|||
doc.save()
|
||||
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 r.content)
|
||||
self.assertTrue( '(%s for -%s)' % (pos.comment_time.strftime('%Y-%m-%d'), oldrev) in unicontent(r))
|
||||
|
||||
def test_document_ballot_needed_positions(self):
|
||||
make_test_data()
|
||||
|
@ -661,10 +661,10 @@ class DocTestCase(TestCase):
|
|||
# draft
|
||||
doc = Document.objects.get(name='draft-ietf-mars-test')
|
||||
r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name)))
|
||||
self.assertTrue('more YES or NO' in r.content)
|
||||
self.assertTrue('more YES or NO' in unicontent(r))
|
||||
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 r.content)
|
||||
self.assertFalse('more YES or NO' in unicontent(r))
|
||||
|
||||
# status change
|
||||
doc = Document.objects.get(name='status-change-imaginary-mid-review')
|
||||
|
@ -673,16 +673,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 r.content)
|
||||
self.assertTrue(">IESG Evaluation<" in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertFalse('more YES or NO' in r.content)
|
||||
self.assertFalse('Needs a YES' in unicontent(r))
|
||||
self.assertFalse('more YES or NO' in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertTrue('more YES or NO' in unicontent(r))
|
||||
|
||||
def test_document_json(self):
|
||||
doc = make_test_data()
|
||||
|
@ -710,8 +710,8 @@ class DocTestCase(TestCase):
|
|||
url = urlreverse('doc_writeup', kwargs=dict(name=doc.name))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(appr.text in r.content)
|
||||
self.assertTrue(notes.text in r.content)
|
||||
self.assertTrue(appr.text in unicontent(r))
|
||||
self.assertTrue(notes.text in unicontent(r))
|
||||
|
||||
def test_history(self):
|
||||
doc = make_test_data()
|
||||
|
@ -725,7 +725,7 @@ class DocTestCase(TestCase):
|
|||
url = urlreverse('doc_history', kwargs=dict(name=doc.name))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(e.desc in r.content)
|
||||
self.assertTrue(e.desc in unicontent(r))
|
||||
|
||||
def test_document_feed(self):
|
||||
doc = make_test_data()
|
||||
|
@ -738,7 +738,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 r.content)
|
||||
self.assertTrue(e.desc in unicontent(r))
|
||||
|
||||
def test_last_call_feed(self):
|
||||
doc = make_test_data()
|
||||
|
@ -754,7 +754,7 @@ class DocTestCase(TestCase):
|
|||
|
||||
r = self.client.get("/feed/last-call/")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(doc.name in r.content)
|
||||
self.assertTrue(doc.name in unicontent(r))
|
||||
|
||||
def test_rfc_feed(self):
|
||||
make_test_data()
|
||||
|
@ -765,7 +765,7 @@ class DocTestCase(TestCase):
|
|||
url = urlreverse('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 r.content)
|
||||
self.assertTrue(State.objects.get(type="draft-iesg", slug="lc").name in unicontent(r))
|
||||
|
||||
def test_document_nonietf_pubreq_button(self):
|
||||
doc = make_test_data()
|
||||
|
@ -773,12 +773,12 @@ class DocTestCase(TestCase):
|
|||
self.client.login(username='iab-chair', password='iab-chair+password')
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Request publication" not in r.content)
|
||||
self.assertTrue("Request publication" not in unicontent(r))
|
||||
|
||||
Document.objects.filter(pk=doc.pk).update(stream='iab')
|
||||
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Request publication" in r.content)
|
||||
self.assertTrue("Request publication" in unicontent(r))
|
||||
|
||||
|
||||
class AddCommentTestCase(TestCase):
|
||||
|
@ -835,11 +835,11 @@ class ReferencesTest(TestCase):
|
|||
url = urlreverse('doc_references', kwargs=dict(name=doc1.name))
|
||||
r = self.client.get(url)
|
||||
self.assertEquals(r.status_code, 200)
|
||||
self.assertTrue(doc2.name in r.content)
|
||||
self.assertTrue(doc2.name in unicontent(r))
|
||||
url = urlreverse('doc_referenced_by', kwargs=dict(name=doc2.name))
|
||||
r = self.client.get(url)
|
||||
self.assertEquals(r.status_code, 200)
|
||||
self.assertTrue(doc1.name in r.content)
|
||||
self.assertTrue(doc1.name in unicontent(r))
|
||||
|
||||
|
||||
class EmailAliasesTests(TestCase):
|
||||
|
@ -884,12 +884,12 @@ expand-draft-ietf-ames-test.all@virtual.ietf.org ames-author@example.ames, ames
|
|||
login_testing_unauthorized(self, "plain", url)
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(all([x in r.content for x in ['mars-test@','mars-test.authors@','mars-test.chairs@']]))
|
||||
self.assertTrue(all([x in r.content for x in ['ames-test@','ames-test.authors@','ames-test.chairs@']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['mars-test@','mars-test.authors@','mars-test.chairs@']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['ames-test@','ames-test.authors@','ames-test.chairs@']]))
|
||||
|
||||
def testExpansions(self):
|
||||
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 r.content)
|
||||
self.assertTrue('ballot_saved' in r.content)
|
||||
self.assertTrue('draft-ietf-mars-test.all@ietf.org' in unicontent(r))
|
||||
self.assertTrue('ballot_saved' in unicontent(r))
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from pyquery import PyQuery
|
||||
|
||||
|
@ -11,7 +12,7 @@ from ietf.group.models import Group, Role
|
|||
from ietf.name.models import BallotPositionName
|
||||
from ietf.iesg.models import TelechatDate
|
||||
from ietf.person.models import Person
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
from ietf.utils.mail import outbox, empty_outbox
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
|
@ -24,7 +25,7 @@ class EditPositionTests(TestCase):
|
|||
ballot_id=draft.latest_event(BallotDocEvent, type="created_ballot").pk))
|
||||
login_testing_unauthorized(self, "ad", url)
|
||||
|
||||
ad = Person.objects.get(name="Aread Irector")
|
||||
ad = Person.objects.get(name="Areað Irector")
|
||||
|
||||
# normal get
|
||||
r = self.client.get(url)
|
||||
|
@ -84,7 +85,7 @@ class EditPositionTests(TestCase):
|
|||
draft = make_test_data()
|
||||
url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name,
|
||||
ballot_id=draft.latest_event(BallotDocEvent, type="created_ballot").pk))
|
||||
ad = Person.objects.get(name="Aread Irector")
|
||||
ad = Person.objects.get(name="Areað Irector")
|
||||
url += "?ad=%s" % ad.pk
|
||||
login_testing_unauthorized(self, "secretary", url)
|
||||
|
||||
|
@ -127,7 +128,7 @@ class EditPositionTests(TestCase):
|
|||
draft.notify = "somebody@example.com"
|
||||
draft.save()
|
||||
|
||||
ad = Person.objects.get(name="Aread Irector")
|
||||
ad = Person.objects.get(name="Areað Irector")
|
||||
|
||||
ballot = draft.latest_event(BallotDocEvent, type="created_ballot")
|
||||
|
||||
|
@ -263,7 +264,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 r.content)
|
||||
self.assertTrue("IANA does not" in unicontent(r))
|
||||
|
||||
# save
|
||||
r = self.client.post(url, dict(
|
||||
|
@ -455,7 +456,7 @@ class DeferUndeferTestCase(TestCase):
|
|||
|
||||
e = TelechatDocEvent(type="scheduled_for_telechat",
|
||||
doc = doc,
|
||||
by = Person.objects.get(name="Aread Irector"),
|
||||
by = Person.objects.get(name="Areað Irector"),
|
||||
telechat_date = first_date,
|
||||
returning_item = False,
|
||||
)
|
||||
|
@ -511,7 +512,7 @@ class DeferUndeferTestCase(TestCase):
|
|||
|
||||
e = TelechatDocEvent(type="scheduled_for_telechat",
|
||||
doc = doc,
|
||||
by = Person.objects.get(name="Aread Irector"),
|
||||
by = Person.objects.get(name="Areað Irector"),
|
||||
telechat_date = second_date,
|
||||
returning_item = True,
|
||||
)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright The IETF Trust 2011, All Rights Reserved
|
||||
|
||||
import os, shutil, datetime
|
||||
|
@ -13,7 +14,7 @@ from ietf.doc.utils_charter import next_revision, default_review_text, default_a
|
|||
from ietf.group.models import Group, GroupMilestone
|
||||
from ietf.iesg.models import TelechatDate
|
||||
from ietf.person.models import Person
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
from ietf.utils.mail import outbox, empty_outbox
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
|
@ -252,7 +253,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 r.content)
|
||||
self.assertTrue("does not appear to be a text file" in unicontent(r))
|
||||
|
||||
# post
|
||||
prev_rev = charter.rev
|
||||
|
@ -420,7 +421,7 @@ class EditCharterTests(TestCase):
|
|||
with open(os.path.join(self.charter_dir, "%s-%s.txt" % (charter.canonical_name(), charter.rev)), "w") as f:
|
||||
f.write("This is a charter.")
|
||||
|
||||
p = Person.objects.get(name="Aread Irector")
|
||||
p = Person.objects.get(name="Areað Irector")
|
||||
|
||||
BallotDocEvent.objects.create(
|
||||
type="created_ballot",
|
||||
|
@ -504,4 +505,4 @@ class EditCharterTests(TestCase):
|
|||
url = urlreverse('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 r.content)
|
||||
self.assertTrue(m.desc in unicontent(r))
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import shutil
|
||||
|
||||
|
@ -14,7 +15,7 @@ from ietf.doc.views_conflict_review import default_approval_text
|
|||
from ietf.group.models import Person
|
||||
from ietf.iesg.models import TelechatDate
|
||||
from ietf.name.models import StreamName
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
from ietf.utils.mail import outbox, empty_outbox
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
|
@ -55,14 +56,14 @@ class ConflictReviewTests(TestCase):
|
|||
self.assertEqual(Document.objects.filter(name='conflict-review-imaginary-independent-submission').count() , 0)
|
||||
|
||||
# successful review start
|
||||
ad_strpk = str(Person.objects.get(name='Aread Irector').pk)
|
||||
ad_strpk = str(Person.objects.get(name='Areað Irector').pk)
|
||||
state_strpk = str(State.objects.get(used=True, slug='needshep',type__slug='conflrev').pk)
|
||||
r = self.client.post(url,dict(ad=ad_strpk,create_in_state=state_strpk,notify='ipu@ietf.org'))
|
||||
self.assertEqual(r.status_code, 302)
|
||||
review_doc = Document.objects.get(name='conflict-review-imaginary-independent-submission')
|
||||
self.assertEqual(review_doc.get_state('conflrev').slug,'needshep')
|
||||
self.assertEqual(review_doc.rev,u'00')
|
||||
self.assertEqual(review_doc.ad.name,u'Aread Irector')
|
||||
self.assertEqual(review_doc.ad.name,u'Areað Irector')
|
||||
self.assertEqual(review_doc.notify,u'ipu@ietf.org')
|
||||
doc = Document.objects.get(name='draft-imaginary-independent-submission')
|
||||
self.assertTrue(doc in [x.target.document for x in review_doc.relateddocument_set.filter(relationship__slug='conflrev')])
|
||||
|
@ -72,7 +73,7 @@ class ConflictReviewTests(TestCase):
|
|||
self.assertTrue('Conflict Review requested' in outbox[-1]['Subject'])
|
||||
|
||||
# verify you can't start a review when a review is already in progress
|
||||
r = self.client.post(url,dict(ad="Aread Irector",create_in_state="Needs Shepherd",notify='ipu@ietf.org'))
|
||||
r = self.client.post(url,dict(ad="Areað Irector",create_in_state="Needs Shepherd",notify='ipu@ietf.org'))
|
||||
self.assertEqual(r.status_code, 404)
|
||||
|
||||
|
||||
|
@ -365,7 +366,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 r.content)
|
||||
self.assertTrue("does not appear to be a text file" in unicontent(r))
|
||||
|
||||
# sane post uploading a file
|
||||
test_file = StringIO("This is a new proposal.")
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import shutil
|
||||
import datetime
|
||||
|
@ -18,7 +19,7 @@ from ietf.group.models import Group
|
|||
from ietf.person.models import Person, Email
|
||||
from ietf.meeting.models import Meeting, MeetingTypeName
|
||||
from ietf.iesg.models import TelechatDate
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
from ietf.utils.test_utils import login_testing_unauthorized, unicontent
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.mail import outbox, empty_outbox
|
||||
from ietf.utils.test_utils import TestCase
|
||||
|
@ -158,7 +159,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.assertTrue("Your request to issue" in r.content)
|
||||
self.assertTrue("Your request to issue" in unicontent(r))
|
||||
|
||||
# last call text
|
||||
e = draft.latest_event(WriteupDocEvent, type="changed_last_call_text")
|
||||
|
@ -353,7 +354,7 @@ class EditInfoTests(TestCase):
|
|||
events_before = draft.docevent_set.count()
|
||||
mailbox_before = len(outbox)
|
||||
|
||||
ad = Person.objects.get(name="Aread Irector")
|
||||
ad = Person.objects.get(name="Areað Irector")
|
||||
|
||||
r = self.client.post(url,
|
||||
dict(intended_std_level=str(draft.intended_std_level_id),
|
||||
|
@ -446,7 +447,7 @@ class ResurrectTests(TestCase):
|
|||
self.assertEqual(draft.docevent_set.count(), events_before + 1)
|
||||
e = draft.latest_event(type="requested_resurrect")
|
||||
self.assertTrue(e)
|
||||
self.assertEqual(e.by, Person.objects.get(name="Aread Irector"))
|
||||
self.assertEqual(e.by, Person.objects.get(name="Areað Irector"))
|
||||
self.assertTrue("Resurrection" in e.desc)
|
||||
self.assertEqual(len(outbox), mailbox_before + 1)
|
||||
self.assertTrue("Resurrection" in outbox[-1]['Subject'])
|
||||
|
@ -458,7 +459,7 @@ class ResurrectTests(TestCase):
|
|||
|
||||
DocEvent.objects.create(doc=draft,
|
||||
type="requested_resurrect",
|
||||
by=Person.objects.get(name="Aread Irector"))
|
||||
by=Person.objects.get(name="Areað Irector"))
|
||||
|
||||
url = urlreverse('doc_resurrect', kwargs=dict(name=draft.name))
|
||||
|
||||
|
@ -905,7 +906,7 @@ class IndividualInfoFormsTests(TestCase):
|
|||
self.assertTrue(any(['Document shepherd changed to (None)' in x.desc for x in self.doc.docevent_set.filter(time=self.doc.time,type='added_comment')]))
|
||||
|
||||
# test buggy change
|
||||
ad = Person.objects.get(name='Aread Irector')
|
||||
ad = Person.objects.get(name='Areað Irector')
|
||||
two_answers = "%s,%s" % (plain_email, ad.email_set.all()[0])
|
||||
r = self.client.post(url, dict(shepherd=two_answers))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
|
|
@ -15,7 +15,7 @@ from ietf.group.models import Group
|
|||
from ietf.meeting.models import Meeting, Session, SessionPresentation
|
||||
from ietf.name.models import SessionStatusName
|
||||
from ietf.person.models import Person
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
|
||||
from ietf.utils.test_data import make_test_data
|
||||
|
||||
from ietf.meeting.test_data import make_meeting_test_data
|
||||
|
@ -59,7 +59,7 @@ class GroupMaterialTests(TestCase):
|
|||
# normal get
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Slides" in r.content)
|
||||
self.assertTrue("Slides" in unicontent(r))
|
||||
|
||||
url = urlreverse('ietf.doc.views_material.choose_material_type', kwargs=dict(acronym='mars'))
|
||||
r = self.client.get(url)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import shutil
|
||||
|
||||
|
@ -14,7 +15,7 @@ from ietf.doc.utils import create_ballot_if_not_open
|
|||
from ietf.doc.views_status_change import default_approval_text
|
||||
from ietf.group.models import Person
|
||||
from ietf.iesg.models import TelechatDate
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
from ietf.utils.mail import outbox
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
|
@ -32,7 +33,7 @@ class StatusChangeTests(TestCase):
|
|||
q = PyQuery(r.content)
|
||||
self.assertEqual(len(q('form select[name=create_in_state]')),1)
|
||||
|
||||
ad_strpk = str(Person.objects.get(name='Aread Irector').pk)
|
||||
ad_strpk = str(Person.objects.get(name='Areað Irector').pk)
|
||||
state_strpk = str(State.objects.get(slug='adrev',type__slug='statchg').pk)
|
||||
|
||||
# faulty posts
|
||||
|
@ -69,7 +70,7 @@ class StatusChangeTests(TestCase):
|
|||
status_change = Document.objects.get(name='status-change-imaginary-new')
|
||||
self.assertEqual(status_change.get_state('statchg').slug,'adrev')
|
||||
self.assertEqual(status_change.rev,u'00')
|
||||
self.assertEqual(status_change.ad.name,u'Aread Irector')
|
||||
self.assertEqual(status_change.ad.name,u'Areað Irector')
|
||||
self.assertEqual(status_change.notify,u'ipu@ietf.org')
|
||||
self.assertTrue(status_change.relateddocument_set.filter(relationship__slug='tois',target__document__name='draft-ietf-random-thing'))
|
||||
|
||||
|
@ -451,7 +452,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 r.content)
|
||||
self.assertTrue("does not appear to be a text file" in unicontent(r))
|
||||
|
||||
# sane post uploading a file
|
||||
test_file = StringIO("This is a new proposal.")
|
||||
|
@ -476,7 +477,7 @@ class StatusChangeSubmitTests(TestCase):
|
|||
url = urlreverse('doc_view',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 r.content)
|
||||
self.assertTrue("This is the old proposal." in unicontent(r))
|
||||
|
||||
def setUp(self):
|
||||
make_test_data()
|
||||
|
|
|
@ -42,8 +42,8 @@ urlpatterns = patterns('',
|
|||
url(r'^(?P<name>[A-Za-z0-9\._\+\-]+)$', views_search.search_for_name, name="doc_search_for_name"),
|
||||
url(r'^search/$', views_search.search, name="doc_search"),
|
||||
url(r'^in-last-call/$', views_search.drafts_in_last_call, name="drafts_in_last_call"),
|
||||
url(r'^ad/(?P<name>[A-Za-z0-9.-]+)/$', views_search.docs_for_ad, name="docs_for_ad"),
|
||||
(r'^ad2/(?P<name>[A-Za-z0-9.-]+)/$', RedirectView.as_view(url='/doc/ad/%(name)s/', permanent=True)),
|
||||
url(r'^ad/(?P<name>[\w.-]+)/$(?u)', views_search.docs_for_ad, name="docs_for_ad"),
|
||||
(r'^ad2/(?P<name>[\w.-]+)/$(?u)', RedirectView.as_view(url='/doc/ad/%(name)s/', permanent=True)),
|
||||
url(r'^rfc-status-changes/$', views_status_change.rfc_status_changes, name='rfc_status_changes'),
|
||||
url(r'^start-rfc-status-change/(?P<name>[A-Za-z0-9._+-]*)$', views_status_change.start_rfc_status_change, name='start_rfc_status_change'),
|
||||
url(r'^iesg/(?P<last_call_only>[A-Za-z0-9.-]+/)?$', views_search.drafts_in_iesg_process, name="drafts_in_iesg_process"),
|
||||
|
|
|
@ -8,7 +8,7 @@ from django.test import Client
|
|||
|
||||
from ietf.group.models import Role, Group
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import login_testing_unauthorized, TestCase
|
||||
from ietf.utils.test_utils import login_testing_unauthorized, TestCase, unicontent
|
||||
|
||||
if getattr(settings,'SKIP_DOT_TO_PDF', False):
|
||||
skip_dot_to_pdf = True
|
||||
|
@ -28,7 +28,7 @@ class StreamTests(TestCase):
|
|||
make_test_data()
|
||||
r = self.client.get(urlreverse("ietf.group.views_stream.streams"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Independent Submission Editor" in r.content)
|
||||
self.assertTrue("Independent Submission Editor" in unicontent(r))
|
||||
|
||||
def test_stream_documents(self):
|
||||
draft = make_test_data()
|
||||
|
@ -37,7 +37,7 @@ class StreamTests(TestCase):
|
|||
|
||||
r = self.client.get(urlreverse("ietf.group.views_stream.stream_documents", kwargs=dict(acronym="iab")))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
|
||||
def test_stream_edit(self):
|
||||
make_test_data()
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import shutil
|
||||
import calendar
|
||||
|
@ -17,7 +18,7 @@ from ietf.group.models import Group, GroupEvent, GroupMilestone, GroupStateTrans
|
|||
from ietf.group.utils import save_group_in_history
|
||||
from ietf.name.models import DocTagName, GroupStateName, GroupTypeName
|
||||
from ietf.person.models import Person, Email
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
from ietf.utils.mail import outbox, empty_outbox
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
|
@ -38,41 +39,41 @@ class GroupPagesTests(TestCase):
|
|||
url = urlreverse('ietf.group.info.active_groups', kwargs=dict(group_type="wg"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(group.parent.name in r.content)
|
||||
self.assertTrue(group.acronym in r.content)
|
||||
self.assertTrue(group.name in r.content)
|
||||
self.assertTrue(group.ad_role().person.plain_name() in r.content)
|
||||
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))
|
||||
|
||||
url = urlreverse('ietf.group.info.active_groups', kwargs=dict(group_type="rg"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue('Active Research Groups' in r.content)
|
||||
self.assertTrue('Active Research Groups' in unicontent(r))
|
||||
|
||||
url = urlreverse('ietf.group.info.active_groups', kwargs=dict(group_type="area"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Far Future (farfut)" in r.content)
|
||||
self.assertTrue("Far Future (farfut)" in unicontent(r))
|
||||
|
||||
url = urlreverse('ietf.group.info.active_groups', kwargs=dict(group_type="ag"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Area Groups" in r.content)
|
||||
self.assertTrue("Active Area Groups" in unicontent(r))
|
||||
|
||||
url = urlreverse('ietf.group.info.active_groups', kwargs=dict(group_type="dir"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Directorates" in r.content)
|
||||
self.assertTrue("Active Directorates" in unicontent(r))
|
||||
|
||||
url = urlreverse('ietf.group.info.active_groups', kwargs=dict(group_type="team"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Active Teams" in r.content)
|
||||
self.assertTrue("Active Teams" in unicontent(r))
|
||||
|
||||
url = urlreverse('ietf.group.info.active_groups', kwargs=dict())
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Directorate" in r.content)
|
||||
self.assertTrue("AG" in r.content)
|
||||
self.assertTrue("Directorate" in unicontent(r))
|
||||
self.assertTrue("AG" in unicontent(r))
|
||||
|
||||
for slug in GroupTypeName.objects.exclude(slug__in=['wg','rg','ag','area','dir','team']).values_list('slug',flat=True):
|
||||
with self.assertRaises(NoReverseMatch):
|
||||
|
@ -90,35 +91,35 @@ class GroupPagesTests(TestCase):
|
|||
url = urlreverse('ietf.group.info.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 r.content)
|
||||
self.assertTrue(group.acronym in r.content)
|
||||
self.assertTrue(group.name in r.content)
|
||||
self.assertTrue(chair.address in r.content)
|
||||
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))
|
||||
|
||||
url = urlreverse('ietf.group.info.wg_summary_acronym', kwargs=dict(group_type="wg"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(group.acronym in r.content)
|
||||
self.assertTrue(group.name in r.content)
|
||||
self.assertTrue(chair.address in r.content)
|
||||
self.assertTrue(group.acronym in unicontent(r))
|
||||
self.assertTrue(group.name in unicontent(r))
|
||||
self.assertTrue(chair.address in unicontent(r))
|
||||
|
||||
url = urlreverse('ietf.group.info.wg_charters', kwargs=dict(group_type="wg"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(group.acronym in r.content)
|
||||
self.assertTrue(group.name in r.content)
|
||||
self.assertTrue(group.ad_role().person.plain_name() in r.content)
|
||||
self.assertTrue(chair.address in r.content)
|
||||
self.assertTrue("This is a charter." in r.content)
|
||||
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))
|
||||
|
||||
url = urlreverse('ietf.group.info.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 r.content)
|
||||
self.assertTrue(group.name in r.content)
|
||||
self.assertTrue(group.ad_role().person.plain_name() in r.content)
|
||||
self.assertTrue(chair.address in r.content)
|
||||
self.assertTrue("This is a charter." in r.content)
|
||||
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))
|
||||
|
||||
def test_chartering_groups(self):
|
||||
draft = make_test_data()
|
||||
|
@ -186,11 +187,11 @@ class GroupPagesTests(TestCase):
|
|||
url = urlreverse('ietf.group.info.group_documents', kwargs=dict(group_type=group.type_id, acronym=group.acronym))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(group.name in r.content)
|
||||
self.assertTrue(group.acronym in r.content)
|
||||
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 r.content)
|
||||
self.assertTrue(draft2.name in unicontent(r))
|
||||
|
||||
# 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")
|
||||
|
@ -202,8 +203,8 @@ class GroupPagesTests(TestCase):
|
|||
url = urlreverse('ietf.group.info.group_documents_txt', kwargs=dict(group_type=group.type_id, acronym=group.acronym))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(draft2.name in r.content)
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
self.assertTrue(draft2.name in unicontent(r))
|
||||
|
||||
def test_group_charter(self):
|
||||
draft = make_test_data()
|
||||
|
@ -225,11 +226,11 @@ class GroupPagesTests(TestCase):
|
|||
]:
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(group.name in r.content)
|
||||
self.assertTrue(group.acronym in r.content)
|
||||
self.assertTrue("This is a charter." in r.content)
|
||||
self.assertTrue(milestone.desc in r.content)
|
||||
self.assertTrue(milestone.docs.all()[0].name in r.content)
|
||||
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))
|
||||
|
||||
def test_group_about(self):
|
||||
make_test_data()
|
||||
|
@ -248,9 +249,9 @@ class GroupPagesTests(TestCase):
|
|||
url = group.about_url()
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(group.name in r.content)
|
||||
self.assertTrue(group.acronym in r.content)
|
||||
self.assertTrue(group.description in r.content)
|
||||
self.assertTrue(group.name in unicontent(r))
|
||||
self.assertTrue(group.acronym in unicontent(r))
|
||||
self.assertTrue(group.description in unicontent(r))
|
||||
|
||||
def test_materials(self):
|
||||
make_test_data()
|
||||
|
@ -271,8 +272,8 @@ class GroupPagesTests(TestCase):
|
|||
]:
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(doc.title in r.content)
|
||||
self.assertTrue(doc.name in r.content)
|
||||
self.assertTrue(doc.title in unicontent(r))
|
||||
self.assertTrue(doc.name in unicontent(r))
|
||||
|
||||
url = urlreverse("group_materials", kwargs={ 'acronym': group.acronym })
|
||||
|
||||
|
@ -281,7 +282,7 @@ class GroupPagesTests(TestCase):
|
|||
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(doc.title not in r.content)
|
||||
self.assertTrue(doc.title not in unicontent(r))
|
||||
|
||||
def test_history(self):
|
||||
draft = make_test_data()
|
||||
|
@ -296,7 +297,7 @@ class GroupPagesTests(TestCase):
|
|||
url = urlreverse('ietf.group.info.history', kwargs=dict(group_type=group.type_id, acronym=group.acronym))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(e.desc in r.content)
|
||||
self.assertTrue(e.desc in unicontent(r))
|
||||
|
||||
def test_feed(self):
|
||||
draft = make_test_data()
|
||||
|
@ -316,8 +317,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 r.content)
|
||||
self.assertTrue(de.desc in r.content)
|
||||
self.assertTrue(ge.desc in unicontent(r))
|
||||
self.assertTrue(de.desc in unicontent(r))
|
||||
|
||||
|
||||
class GroupEditTests(TestCase):
|
||||
|
@ -477,7 +478,7 @@ class GroupEditTests(TestCase):
|
|||
with open(os.path.join(self.charter_dir, "%s-%s.txt" % (group.charter.canonical_name(), group.charter.rev)), "w") as f:
|
||||
f.write("This is a charter.")
|
||||
area = group.parent
|
||||
ad = Person.objects.get(name="Aread Irector")
|
||||
ad = Person.objects.get(name="Areað Irector")
|
||||
state = GroupStateName.objects.get(slug="bof")
|
||||
empty_outbox()
|
||||
r = self.client.post(url,
|
||||
|
@ -594,15 +595,15 @@ class MilestoneTests(TestCase):
|
|||
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(m1.desc in r.content)
|
||||
self.assertTrue(m2.desc not in r.content)
|
||||
self.assertTrue(m1.desc in unicontent(r))
|
||||
self.assertTrue(m2.desc not in unicontent(r))
|
||||
|
||||
url = urlreverse('group_edit_charter_milestones', kwargs=dict(group_type=group.type_id, acronym=group.acronym))
|
||||
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(m1.desc not in r.content)
|
||||
self.assertTrue(m2.desc in r.content)
|
||||
self.assertTrue(m1.desc not in unicontent(r))
|
||||
self.assertTrue(m2.desc in unicontent(r))
|
||||
|
||||
def test_add_milestone(self):
|
||||
m1, m2, group = self.create_test_milestones()
|
||||
|
@ -936,32 +937,32 @@ expand-ames-chairs@virtual.ietf.org mars_chair@ietf
|
|||
for testdict in [dict(acronym="mars"),dict(acronym="mars",group_type="wg")]:
|
||||
url = urlreverse('old_group_email_aliases', kwargs=testdict)
|
||||
r = self.client.get(url,follow=True)
|
||||
self.assertTrue(all([x in r.content for x in ['mars-ads@','mars-chairs@']]))
|
||||
self.assertFalse(any([x in r.content for x in ['ames-ads@','ames-chairs@']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['mars-ads@','mars-chairs@']]))
|
||||
self.assertFalse(any([x in unicontent(r) for x in ['ames-ads@','ames-chairs@']]))
|
||||
|
||||
url = urlreverse('ietf.group.info.email_aliases', kwargs=dict())
|
||||
login_testing_unauthorized(self, "plain", url)
|
||||
r = self.client.get(url)
|
||||
self.assertTrue(r.status_code,200)
|
||||
self.assertTrue(all([x in r.content for x in ['mars-ads@','mars-chairs@','ames-ads@','ames-chairs@']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['mars-ads@','mars-chairs@','ames-ads@','ames-chairs@']]))
|
||||
|
||||
url = urlreverse('ietf.group.info.email_aliases', kwargs=dict(group_type="wg"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code,200)
|
||||
self.assertTrue('mars-ads@' in r.content)
|
||||
self.assertTrue('mars-ads@' in unicontent(r))
|
||||
|
||||
url = urlreverse('ietf.group.info.email_aliases', kwargs=dict(group_type="rg"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code,200)
|
||||
self.assertFalse('mars-ads@' in r.content)
|
||||
self.assertFalse('mars-ads@' in unicontent(r))
|
||||
|
||||
def testExpansions(self):
|
||||
url = urlreverse('ietf.group.info.email', kwargs=dict(acronym="mars"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code,200)
|
||||
self.assertTrue('Email Aliases' in r.content)
|
||||
self.assertTrue('mars-ads@ietf.org' in r.content)
|
||||
self.assertTrue('group_personnel_change' in r.content)
|
||||
self.assertTrue('Email Aliases' in unicontent(r))
|
||||
self.assertTrue('mars-ads@ietf.org' in unicontent(r))
|
||||
self.assertTrue('group_personnel_change' in unicontent(r))
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -97,9 +97,9 @@ class IndexTests(TestCase):
|
|||
self.assertEqual(t[12], ".pdf,.txt")
|
||||
self.assertEqual(t[13], draft.title)
|
||||
author = draft.documentauthor_set.order_by("order").get()
|
||||
self.assertEqual(t[14], "%s <%s>" % (author.author.person.name, author.author.address))
|
||||
self.assertEqual(t[15], "%s <%s>" % (draft.shepherd.person.name, draft.shepherd.address))
|
||||
self.assertEqual(t[16], "%s <%s>" % (draft.ad, draft.ad.email_address()))
|
||||
self.assertEqual(t[14], u"%s <%s>" % (author.author.person.name, author.author.address))
|
||||
self.assertEqual(t[15], u"%s <%s>" % (draft.shepherd.person.name, draft.shepherd.address))
|
||||
self.assertEqual(t[16], u"%s <%s>" % (draft.ad, draft.ad.email_address()))
|
||||
|
||||
|
||||
# test RFC
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import shutil
|
||||
import json
|
||||
|
@ -16,7 +17,7 @@ from ietf.iesg.models import TelechatDate
|
|||
from ietf.name.models import StreamName
|
||||
from ietf.person.models import Person
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
|
||||
|
||||
class IESGTests(TestCase):
|
||||
def test_feed(self):
|
||||
|
@ -34,8 +35,8 @@ class IESGTests(TestCase):
|
|||
r = self.client.get(urlreverse("ietf.iesg.views.discusses"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(pos.ad.plain_name() in r.content)
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
self.assertTrue(pos.ad.plain_name() in unicontent(r))
|
||||
|
||||
def test_milestones_needing_review(self):
|
||||
draft = make_test_data()
|
||||
|
@ -49,21 +50,21 @@ 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 r.content)
|
||||
self.assertTrue(m.desc in unicontent(r))
|
||||
|
||||
def test_review_decisions(self):
|
||||
draft = make_test_data()
|
||||
|
||||
e = DocEvent(type="iesg_approved")
|
||||
e.doc = draft
|
||||
e.by = Person.objects.get(name="Aread Irector")
|
||||
e.by = Person.objects.get(name="Areað Irector")
|
||||
e.save()
|
||||
|
||||
url = urlreverse('ietf.iesg.views.review_decisions')
|
||||
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
|
||||
class IESGAgendaTests(TestCase):
|
||||
def setUp(self):
|
||||
|
@ -81,7 +82,7 @@ class IESGAgendaTests(TestCase):
|
|||
"charter": Document.objects.filter(type="charter")[0],
|
||||
}
|
||||
|
||||
by = Person.objects.get(name="Aread Irector")
|
||||
by = Person.objects.get(name="Areað Irector")
|
||||
date = get_agenda_date()
|
||||
|
||||
self.draft_dir = os.path.abspath("tmp-agenda-draft-dir")
|
||||
|
@ -112,7 +113,7 @@ class IESGAgendaTests(TestCase):
|
|||
telechat_event = TelechatDocEvent.objects.create(
|
||||
type="scheduled_for_telechat",
|
||||
doc=draft,
|
||||
by=Person.objects.get(name="Aread Irector"),
|
||||
by=Person.objects.get(name="Areað Irector"),
|
||||
telechat_date=date,
|
||||
returning_item=False)
|
||||
date_str = date.isoformat()
|
||||
|
@ -272,8 +273,8 @@ class IESGAgendaTests(TestCase):
|
|||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
for d in self.telechat_docs.values():
|
||||
self.assertTrue(d.name in r.content)
|
||||
self.assertTrue(d.title in r.content)
|
||||
self.assertTrue(d.name in unicontent(r))
|
||||
self.assertTrue(d.title in unicontent(r))
|
||||
|
||||
def test_agenda_json(self):
|
||||
r = self.client.get(urlreverse("ietf.iesg.views.agenda_json"))
|
||||
|
@ -281,11 +282,11 @@ class IESGAgendaTests(TestCase):
|
|||
|
||||
for k, d in self.telechat_docs.iteritems():
|
||||
if d.type_id == "charter":
|
||||
self.assertTrue(d.group.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.group.acronym in r.content, "%s acronym not in response" % k)
|
||||
self.assertTrue(d.group.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.group.acronym in unicontent(r), "%s acronym not in response" % k)
|
||||
else:
|
||||
self.assertTrue(d.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.title in r.content, "%s title not in response" % k)
|
||||
self.assertTrue(d.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.title in unicontent(r), "%s title not in response" % k)
|
||||
|
||||
self.assertTrue(json.loads(r.content))
|
||||
|
||||
|
@ -294,8 +295,8 @@ class IESGAgendaTests(TestCase):
|
|||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
for k, d in self.telechat_docs.iteritems():
|
||||
self.assertTrue(d.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.title in r.content, "%s title not in response" % k)
|
||||
self.assertTrue(d.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.title in unicontent(r), "%s title not in response" % k)
|
||||
|
||||
def test_agenda_txt(self):
|
||||
r = self.client.get(urlreverse("ietf.iesg.views.agenda_txt"))
|
||||
|
@ -303,11 +304,11 @@ class IESGAgendaTests(TestCase):
|
|||
|
||||
for k, d in self.telechat_docs.iteritems():
|
||||
if d.type_id == "charter":
|
||||
self.assertTrue(d.group.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.group.acronym in r.content, "%s acronym not in response" % k)
|
||||
self.assertTrue(d.group.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.group.acronym in unicontent(r), "%s acronym not in response" % k)
|
||||
else:
|
||||
self.assertTrue(d.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.title in r.content, "%s title not in response" % k)
|
||||
self.assertTrue(d.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.title in unicontent(r), "%s title not in response" % k)
|
||||
|
||||
def test_agenda_scribe_template(self):
|
||||
r = self.client.get(urlreverse("ietf.iesg.views.agenda_scribe_template"))
|
||||
|
@ -317,8 +318,8 @@ class IESGAgendaTests(TestCase):
|
|||
if d.type_id == "charter":
|
||||
continue # scribe template doesn't contain chartering info
|
||||
|
||||
self.assertTrue(d.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.title in r.content, "%s title not in response" % k)
|
||||
self.assertTrue(d.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.title in unicontent(r), "%s title not in response" % k)
|
||||
|
||||
def test_agenda_moderator_package(self):
|
||||
url = urlreverse("ietf.iesg.views.agenda_moderator_package")
|
||||
|
@ -328,11 +329,11 @@ class IESGAgendaTests(TestCase):
|
|||
|
||||
for k, d in self.telechat_docs.iteritems():
|
||||
if d.type_id == "charter":
|
||||
self.assertTrue(d.group.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.group.acronym in r.content, "%s acronym not in response" % k)
|
||||
self.assertTrue(d.group.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.group.acronym in unicontent(r), "%s acronym not in response" % k)
|
||||
else:
|
||||
self.assertTrue(d.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.title in r.content, "%s title not in response" % k)
|
||||
self.assertTrue(d.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.title in unicontent(r), "%s title not in response" % k)
|
||||
|
||||
def test_agenda_package(self):
|
||||
url = urlreverse("ietf.iesg.views.agenda_package")
|
||||
|
@ -342,11 +343,11 @@ class IESGAgendaTests(TestCase):
|
|||
|
||||
for k, d in self.telechat_docs.iteritems():
|
||||
if d.type_id == "charter":
|
||||
self.assertTrue(d.group.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.group.acronym in r.content, "%s acronym not in response" % k)
|
||||
self.assertTrue(d.group.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.group.acronym in unicontent(r), "%s acronym not in response" % k)
|
||||
else:
|
||||
self.assertTrue(d.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.title in r.content, "%s title not in response" % k)
|
||||
self.assertTrue(d.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.title in unicontent(r), "%s title not in response" % k)
|
||||
|
||||
def test_agenda_documents_txt(self):
|
||||
url = urlreverse("ietf.iesg.views.agenda_documents_txt")
|
||||
|
@ -354,7 +355,7 @@ class IESGAgendaTests(TestCase):
|
|||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
for k, d in self.telechat_docs.iteritems():
|
||||
self.assertTrue(d.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.name in unicontent(r), "%s not in response" % k)
|
||||
|
||||
def test_agenda_documents(self):
|
||||
url = urlreverse("ietf.iesg.views.agenda_documents")
|
||||
|
@ -362,8 +363,8 @@ class IESGAgendaTests(TestCase):
|
|||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
for k, d in self.telechat_docs.iteritems():
|
||||
self.assertTrue(d.name in r.content, "%s not in response" % k)
|
||||
self.assertTrue(d.title in r.content, "%s title not in response" % k)
|
||||
self.assertTrue(d.name in unicontent(r), "%s not in response" % k)
|
||||
self.assertTrue(d.title in unicontent(r), "%s title not in response" % k)
|
||||
|
||||
def test_agenda_telechat_docs(self):
|
||||
d1 = self.telechat_docs["ietf_draft"]
|
||||
|
@ -402,7 +403,7 @@ class RescheduleOnAgendaTests(TestCase):
|
|||
# add to schedule
|
||||
e = TelechatDocEvent(type="scheduled_for_telechat")
|
||||
e.doc = draft
|
||||
e.by = Person.objects.get(name="Aread Irector")
|
||||
e.by = Person.objects.get(name="Areað Irector")
|
||||
e.telechat_date = TelechatDate.objects.active()[0].date
|
||||
e.returning_item = True
|
||||
e.save()
|
||||
|
|
|
@ -34,7 +34,7 @@ from urlparse import urlsplit
|
|||
|
||||
from django.core.urlresolvers import reverse as urlreverse
|
||||
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
|
||||
from ietf.utils.test_data import make_test_data
|
||||
|
||||
class IetfAuthTests(TestCase):
|
||||
|
@ -75,7 +75,7 @@ class IetfAuthTests(TestCase):
|
|||
# get
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("plain" in r.content)
|
||||
self.assertTrue("plain" in unicontent(r))
|
||||
|
||||
# post
|
||||
# ... fill in
|
||||
|
|
|
@ -14,7 +14,7 @@ from ietf.ipr.models import (IprDisclosureBase,GenericIprDisclosure,HolderIprDis
|
|||
ThirdPartyIprDisclosure,RelatedIpr)
|
||||
from ietf.ipr.utils import get_genitive, get_ipr_summary
|
||||
from ietf.message.models import Message
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.mail import outbox, empty_outbox
|
||||
from ietf.mailtrigger.utils import gather_address_lists
|
||||
|
@ -110,14 +110,14 @@ class IprTests(TestCase):
|
|||
ipr = IprDisclosureBase.objects.get(title='Statement regarding rights')
|
||||
r = self.client.get(urlreverse("ipr_showlist"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ipr.title in r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
def test_show_posted(self):
|
||||
make_test_data()
|
||||
ipr = IprDisclosureBase.objects.get(title='Statement regarding rights')
|
||||
r = self.client.get(urlreverse("ipr_show", kwargs=dict(id=ipr.pk)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ipr.title in r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
def test_show_parked(self):
|
||||
make_test_data()
|
||||
|
@ -146,15 +146,15 @@ class IprTests(TestCase):
|
|||
ipr.set_state('removed')
|
||||
r = self.client.get(urlreverse("ipr_show", kwargs=dict(id=ipr.pk)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue('This IPR disclosure was removed' in r.content)
|
||||
self.assertTrue('This IPR disclosure was removed' in unicontent(r))
|
||||
|
||||
def test_iprs_for_drafts(self):
|
||||
draft = make_test_data()
|
||||
ipr = IprDisclosureBase.objects.get(title='Statement regarding rights')
|
||||
r = self.client.get(urlreverse("ietf.ipr.views.by_draft_txt"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(str(ipr.pk) in r.content)
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
self.assertTrue(str(ipr.pk) in unicontent(r))
|
||||
|
||||
def test_iprs_for_drafts_recursive(self):
|
||||
draft = make_test_data()
|
||||
|
@ -162,15 +162,15 @@ class IprTests(TestCase):
|
|||
ipr = IprDisclosureBase.objects.get(title='Statement regarding rights')
|
||||
r = self.client.get(urlreverse("ietf.ipr.views.by_draft_recursive_txt"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
for alias in replaced:
|
||||
self.assertTrue(alias.name in r.content)
|
||||
self.assertTrue(str(ipr.pk) in r.content)
|
||||
self.assertTrue(alias.name in unicontent(r))
|
||||
self.assertTrue(str(ipr.pk) in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertTrue("File a disclosure" in unicontent(r))
|
||||
|
||||
def test_search(self):
|
||||
draft = make_test_data()
|
||||
|
@ -186,68 +186,68 @@ 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 r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
# find draft
|
||||
r = self.client.get(url + "?submit=draft&draft=%s" % draft.name)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ipr.title in r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
# search + select document
|
||||
r = self.client.get(url + "?submit=draft&draft=draft")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(ipr.title not in r.content)
|
||||
self.assertTrue(draft.name in unicontent(r))
|
||||
self.assertTrue(ipr.title not in unicontent(r))
|
||||
|
||||
DocAlias.objects.create(name="rfc321", document=draft)
|
||||
|
||||
# find RFC
|
||||
r = self.client.get(url + "?submit=rfc&rfc=321")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ipr.title in r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
r = self.client.get(url + "?submit=patent&patent=US12345")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ipr.title in r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
# find by doc title
|
||||
r = self.client.get(url + "?submit=doctitle&doctitle=%s" % urllib.quote(draft.title))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ipr.title in r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
# find by ipr title
|
||||
r = self.client.get(url + "?submit=iprtitle&iprtitle=%s" % urllib.quote(ipr.title))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ipr.title in r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
def test_feed(self):
|
||||
make_test_data()
|
||||
ipr = IprDisclosureBase.objects.get(title='Statement regarding rights')
|
||||
r = self.client.get("/feed/ipr/")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ipr.title in r.content)
|
||||
self.assertTrue(ipr.title in unicontent(r))
|
||||
|
||||
def test_sitemap(self):
|
||||
make_test_data()
|
||||
ipr = IprDisclosureBase.objects.get(title='Statement regarding rights')
|
||||
r = self.client.get("/sitemap-ipr.xml")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("/ipr/%s/" % ipr.pk in r.content)
|
||||
self.assertTrue("/ipr/%s/" % ipr.pk in unicontent(r))
|
||||
|
||||
def test_new_generic(self):
|
||||
"""Add a new generic disclosure. Note: submitter does not need to be logged in.
|
||||
|
@ -275,7 +275,7 @@ class IprTests(TestCase):
|
|||
"notes": "some notes"
|
||||
})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Your IPR disclosure has been submitted" in r.content)
|
||||
self.assertTrue("Your IPR disclosure has been submitted" in unicontent(r))
|
||||
self.assertEqual(len(outbox),1)
|
||||
self.assertTrue('New IPR Submission' in outbox[0]['Subject'])
|
||||
self.assertTrue('ietf-ipr@' in outbox[0]['To'])
|
||||
|
@ -315,7 +315,7 @@ class IprTests(TestCase):
|
|||
})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
# print r.content
|
||||
self.assertTrue("Your IPR disclosure has been submitted" in r.content)
|
||||
self.assertTrue("Your IPR disclosure has been submitted" in unicontent(r))
|
||||
|
||||
iprs = IprDisclosureBase.objects.filter(title__icontains=draft.name)
|
||||
self.assertEqual(len(iprs), 1)
|
||||
|
@ -352,7 +352,7 @@ class IprTests(TestCase):
|
|||
"submitter_email": "test@holder.com",
|
||||
})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Your IPR disclosure has been submitted" in r.content)
|
||||
self.assertTrue("Your IPR disclosure has been submitted" in unicontent(r))
|
||||
|
||||
iprs = IprDisclosureBase.objects.filter(title__icontains="belonging to Test Legal")
|
||||
self.assertEqual(len(iprs), 1)
|
||||
|
@ -391,7 +391,7 @@ class IprTests(TestCase):
|
|||
"submitter_email": "test@holder.com",
|
||||
})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("Your IPR disclosure has been submitted" in r.content)
|
||||
self.assertTrue("Your IPR disclosure has been submitted" in unicontent(r))
|
||||
|
||||
iprs = IprDisclosureBase.objects.filter(title__icontains=draft.name)
|
||||
self.assertEqual(len(iprs), 1)
|
||||
|
@ -422,10 +422,10 @@ 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 r.content)
|
||||
self.assertTrue('Private comment' in unicontent(r))
|
||||
self.client.logout()
|
||||
r = self.client.get(url)
|
||||
self.assertFalse('Private comment' in r.content)
|
||||
self.assertFalse('Private comment' in unicontent(r))
|
||||
|
||||
def test_addemail(self):
|
||||
make_test_data()
|
||||
|
|
|
@ -8,7 +8,7 @@ from django.db.models import Q
|
|||
from StringIO import StringIO
|
||||
from pyquery import PyQuery
|
||||
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
|
||||
from ietf.utils.test_data import make_test_data, create_person
|
||||
from ietf.utils.mail import outbox
|
||||
|
||||
|
@ -113,7 +113,7 @@ class LiaisonTests(TestCase):
|
|||
|
||||
r = self.client.get(urlreverse('ietf.liaisons.views.liaison_list'))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(liaison.title in r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
|
||||
def test_details(self):
|
||||
make_test_data()
|
||||
|
@ -121,7 +121,7 @@ class LiaisonTests(TestCase):
|
|||
|
||||
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 r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
|
||||
def test_feeds(self):
|
||||
make_test_data()
|
||||
|
@ -129,19 +129,19 @@ class LiaisonTests(TestCase):
|
|||
|
||||
r = self.client.get('/feed/liaison/recent/')
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(liaison.title in r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
|
||||
r = self.client.get('/feed/liaison/from/%s/' % liaison.from_groups.first().acronym)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(liaison.title in r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
|
||||
r = self.client.get('/feed/liaison/to/%s/' % liaison.to_groups.first().acronym)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(liaison.title in r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
|
||||
r = self.client.get('/feed/liaison/subject/marsmen/')
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(liaison.title in r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
|
||||
def test_sitemap(self):
|
||||
make_test_data()
|
||||
|
@ -149,7 +149,7 @@ class LiaisonTests(TestCase):
|
|||
|
||||
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 r.content)
|
||||
self.assertTrue(urlreverse("ietf.liaisons.views.liaison_detail", kwargs={ 'object_id': liaison.pk }) in unicontent(r))
|
||||
|
||||
def test_help_pages(self):
|
||||
self.assertEqual(self.client.get('/liaison/help/').status_code, 200)
|
||||
|
@ -381,14 +381,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 r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
|
||||
# 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 r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
q = PyQuery(r.content)
|
||||
self.assertEqual(len(q('form input[name=approved]')), 0)
|
||||
|
||||
|
@ -396,7 +396,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 r.content)
|
||||
self.assertTrue(liaison.title in unicontent(r))
|
||||
q = PyQuery(r.content)
|
||||
from ietf.liaisons.utils import can_edit_liaison
|
||||
user = User.objects.get(username='ulm-liaiman')
|
||||
|
@ -1107,7 +1107,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 r.content)
|
||||
self.assertTrue('As an IETF Liaison Manager you can not send incoming liaison statements' in unicontent(r))
|
||||
|
||||
def test_deadline_field(self):
|
||||
'''Required for action, comment, not info, response'''
|
||||
|
@ -1147,7 +1147,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 r.content)
|
||||
self.assertTrue('You must provide a body or attachment files' in unicontent(r))
|
||||
|
||||
def test_send_sdo_reminder(self):
|
||||
make_test_data()
|
||||
|
|
|
@ -84,7 +84,7 @@ def _find_person_in_emails(liaison, person):
|
|||
|
||||
def contacts_from_roles(roles):
|
||||
'''Returns contact string for given roles'''
|
||||
emails = [ '{} <{}>'.format(r.person.plain_name(),r.email.address) for r in roles ]
|
||||
emails = [ u'{} <{}>'.format(r.person.plain_name(),r.email.address) for r in roles ]
|
||||
return ','.join(emails)
|
||||
|
||||
def get_cc(group):
|
||||
|
@ -104,17 +104,17 @@ def get_cc(group):
|
|||
elif group.type_id == 'area':
|
||||
emails.append(EMAIL_ALIASES['IETFCHAIR'])
|
||||
ad_roles = group.role_set.filter(name='ad')
|
||||
emails.extend([ '{} <{}>'.format(r.person.plain_name(),r.email.address) for r in ad_roles ])
|
||||
emails.extend([ u'{} <{}>'.format(r.person.plain_name(),r.email.address) for r in ad_roles ])
|
||||
elif group.type_id == 'wg':
|
||||
ad_roles = group.parent.role_set.filter(name='ad')
|
||||
emails.extend([ '{} <{}>'.format(r.person.plain_name(),r.email.address) for r in ad_roles ])
|
||||
emails.extend([ u'{} <{}>'.format(r.person.plain_name(),r.email.address) for r in ad_roles ])
|
||||
chair_roles = group.role_set.filter(name='chair')
|
||||
emails.extend([ '{} <{}>'.format(r.person.plain_name(),r.email.address) for r in chair_roles ])
|
||||
emails.extend([ u'{} <{}>'.format(r.person.plain_name(),r.email.address) for r in chair_roles ])
|
||||
if group.list_email:
|
||||
emails.append('{} Discussion List <{}>'.format(group.name,group.list_email))
|
||||
emails.append(u'{} Discussion List <{}>'.format(group.name,group.list_email))
|
||||
elif group.type_id == 'sdo':
|
||||
liaiman_roles = group.role_set.filter(name='liaiman')
|
||||
emails.extend([ '{} <{}>'.format(r.person.plain_name(),r.email.address) for r in liaiman_roles ])
|
||||
emails.extend([ u'{} <{}>'.format(r.person.plain_name(),r.email.address) for r in liaiman_roles ])
|
||||
|
||||
# explicit CCs
|
||||
if group.liaisonstatementgroupcontacts_set.exists() and group.liaisonstatementgroupcontacts_set.first().cc_contacts:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from django.core.urlresolvers import reverse as urlreverse
|
||||
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
from ietf.utils.test_data import make_test_data
|
||||
|
||||
class EventMailTests(TestCase):
|
||||
|
@ -13,22 +13,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 r.content)
|
||||
self.assertTrue('ballot_saved' in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertTrue('ballot_saved' in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertTrue('doc_group_mail_list' in unicontent(r))
|
||||
|
||||
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 r.content)
|
||||
self.assertTrue('doc_group_mail_list' in unicontent(r))
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ from pyquery import PyQuery
|
|||
from ietf.doc.models import Document
|
||||
from ietf.meeting.models import Session, TimeSlot
|
||||
from ietf.meeting.test_data import make_meeting_test_data
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
|
||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
|
||||
|
||||
class MeetingTests(TestCase):
|
||||
def setUp(self):
|
||||
|
@ -97,9 +97,9 @@ 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').external_url in r.content)
|
||||
self.assertTrue(session.materials.filter(type='slides').exclude(states__type__slug='slides',states__slug='deleted').first().external_url in r.content)
|
||||
self.assertFalse(session.materials.filter(type='slides',states__type__slug='slides',states__slug='deleted').first().external_url in r.content)
|
||||
self.assertTrue(session.materials.get(type='agenda').external_url in unicontent(r))
|
||||
self.assertTrue(session.materials.filter(type='slides').exclude(states__type__slug='slides',states__slug='deleted').first().external_url in unicontent(r))
|
||||
self.assertFalse(session.materials.filter(type='slides',states__type__slug='slides',states__slug='deleted').first().external_url in unicontent(r))
|
||||
|
||||
# iCal
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.ical_agenda", kwargs=dict(num=meeting.number))
|
||||
|
@ -112,10 +112,10 @@ class MeetingTests(TestCase):
|
|||
self.assertTrue("BEGIN:VTIMEZONE" in agenda_content)
|
||||
self.assertTrue("END:VTIMEZONE" in agenda_content)
|
||||
|
||||
self.assertTrue(session.agenda().get_absolute_url() in r.content)
|
||||
self.assertTrue(session.materials.filter(type='slides').exclude(states__type__slug='slides',states__slug='deleted').first().get_absolute_url() in r.content)
|
||||
self.assertTrue(session.agenda().get_absolute_url() in unicontent(r))
|
||||
self.assertTrue(session.materials.filter(type='slides').exclude(states__type__slug='slides',states__slug='deleted').first().get_absolute_url() in unicontent(r))
|
||||
# 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 r.content)
|
||||
#self.assertFalse(session.materials.filter(type='slides',states__type__slug='slides',states__slug='deleted').first().get_absolute_url() in unicontent(r))
|
||||
|
||||
# week view
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.week_view", kwargs=dict(num=meeting.number)))
|
||||
|
@ -129,7 +129,7 @@ class MeetingTests(TestCase):
|
|||
url = urlreverse("ietf.meeting.views.agenda_by_room",kwargs=dict(num=meeting.number))
|
||||
login_testing_unauthorized(self,"secretary",url)
|
||||
r = self.client.get(url)
|
||||
self.assertTrue(all([x in r.content for x in ['mars','IESG Breakfast','Test Room','Breakfast Room']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['mars','IESG Breakfast','Test Room','Breakfast Room']]))
|
||||
|
||||
def test_agenda_by_type(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
@ -137,31 +137,31 @@ class MeetingTests(TestCase):
|
|||
url = urlreverse("ietf.meeting.views.agenda_by_type",kwargs=dict(num=meeting.number))
|
||||
login_testing_unauthorized(self,"secretary",url)
|
||||
r = self.client.get(url)
|
||||
self.assertTrue(all([x in r.content for x in ['mars','IESG Breakfast','Test Room','Breakfast Room']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['mars','IESG Breakfast','Test Room','Breakfast Room']]))
|
||||
|
||||
url = urlreverse("ietf.meeting.views.agenda_by_type",kwargs=dict(num=meeting.number,type='session'))
|
||||
r = self.client.get(url)
|
||||
self.assertTrue(all([x in r.content for x in ['mars','Test Room']]))
|
||||
self.assertFalse(any([x in r.content for x in ['IESG Breakfast','Breakfast Room']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['mars','Test Room']]))
|
||||
self.assertFalse(any([x in unicontent(r) for x in ['IESG Breakfast','Breakfast Room']]))
|
||||
|
||||
url = urlreverse("ietf.meeting.views.agenda_by_type",kwargs=dict(num=meeting.number,type='lead'))
|
||||
r = self.client.get(url)
|
||||
self.assertFalse(any([x in r.content for x in ['mars','Test Room']]))
|
||||
self.assertTrue(all([x in r.content for x in ['IESG Breakfast','Breakfast Room']]))
|
||||
self.assertFalse(any([x in unicontent(r) for x in ['mars','Test Room']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['IESG Breakfast','Breakfast Room']]))
|
||||
|
||||
def test_agenda_room_view(self):
|
||||
meeting = make_meeting_test_data()
|
||||
url = urlreverse("ietf.meeting.views.room_view",kwargs=dict(num=meeting.number))
|
||||
login_testing_unauthorized(self,"secretary",url)
|
||||
r = self.client.get(url)
|
||||
self.assertTrue(all([x in r.content for x in ['mars','IESG Breakfast','Test Room','Breakfast Room']]))
|
||||
self.assertTrue(all([x in unicontent(r) for x in ['mars','IESG Breakfast','Test Room','Breakfast Room']]))
|
||||
|
||||
def test_session_details(self):
|
||||
meeting = make_meeting_test_data()
|
||||
url = urlreverse("ietf.meeting.views.session_details", kwargs=dict(num=meeting.number, acronym="mars"))
|
||||
r = self.client.get(url)
|
||||
self.assertTrue(all([x in r.content for x in ('slides','agenda','minutes')]))
|
||||
self.assertFalse('deleted' in r.content)
|
||||
self.assertTrue(all([x in unicontent(r) for x in ('slides','agenda','minutes')]))
|
||||
self.assertFalse('deleted' in unicontent(r))
|
||||
|
||||
def test_materials(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
@ -173,7 +173,7 @@ class MeetingTests(TestCase):
|
|||
r = self.client.get(urlreverse("ietf.meeting.views.session_agenda",
|
||||
kwargs=dict(num=meeting.number, session=session.group.acronym)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("1. WG status" in r.content)
|
||||
self.assertTrue("1. WG status" in unicontent(r))
|
||||
|
||||
# early materials page
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.current_materials"))
|
||||
|
@ -198,8 +198,8 @@ class MeetingTests(TestCase):
|
|||
|
||||
r = self.client.get("/feed/wg-proceedings/")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("agenda" in r.content)
|
||||
self.assertTrue(session.group.acronym in r.content)
|
||||
self.assertTrue("agenda" in unicontent(r))
|
||||
self.assertTrue(session.group.acronym in unicontent(r))
|
||||
|
||||
class EditTests(TestCase):
|
||||
def setUp(self):
|
||||
|
@ -215,7 +215,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 r.content)
|
||||
self.assertTrue("load_assignments" in unicontent(r))
|
||||
|
||||
def test_save_agenda_as_and_read_permissions(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
@ -311,7 +311,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 r.content)
|
||||
self.assertTrue(meeting.room_set.all().first().name in unicontent(r))
|
||||
|
||||
def test_slot_to_the_right(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
|
|
@ -2,7 +2,7 @@ import datetime
|
|||
|
||||
from django.core.urlresolvers import reverse as urlreverse
|
||||
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.mail import outbox
|
||||
|
||||
|
@ -28,10 +28,10 @@ class MessageTests(TestCase):
|
|||
|
||||
r = self.client.get(urlreverse("nomcom_announcement", kwargs=dict(message_id=msg.id)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(msg.subject in r.content)
|
||||
self.assertTrue(msg.to in r.content)
|
||||
self.assertTrue(msg.frm in r.content)
|
||||
self.assertTrue("Hello World!" in r.content)
|
||||
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))
|
||||
|
||||
|
||||
class SendScheduledAnnouncementsTests(TestCase):
|
||||
|
|
|
@ -13,7 +13,7 @@ from django.contrib.auth.models import User
|
|||
|
||||
import debug # pyflakes:ignore
|
||||
|
||||
from ietf.utils.test_utils import login_testing_unauthorized, TestCase
|
||||
from ietf.utils.test_utils import login_testing_unauthorized, TestCase, unicontent
|
||||
from ietf.utils.mail import outbox, empty_outbox
|
||||
|
||||
from ietf.person.models import Email, Person
|
||||
|
@ -449,9 +449,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 r.content)
|
||||
self.assertTrue(nomcom.role_set.filter(name="chair")[0].person.email_address() in r.content)
|
||||
self.assertTrue(msg.subject in r.content)
|
||||
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))
|
||||
|
||||
|
||||
def test_requirements_view(self):
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from django.core.urlresolvers import reverse
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.group.models import Group
|
||||
|
@ -89,7 +90,7 @@ class GroupsTest(TestCase):
|
|||
make_test_data()
|
||||
group = Group.objects.filter(acronym='mars')[0]
|
||||
area = Group.objects.filter(acronym='farfut')[0]
|
||||
ad = Person.objects.get(name='Aread Irector')
|
||||
ad = Person.objects.get(name='Areað Irector')
|
||||
url = reverse('groups_edit', kwargs={'acronym':group.acronym})
|
||||
target = reverse('groups_view', kwargs={'acronym':group.acronym})
|
||||
post_data = {'acronym':group.acronym,
|
||||
|
@ -120,7 +121,7 @@ class GroupsTest(TestCase):
|
|||
|
||||
def test_people_add(self):
|
||||
make_test_data()
|
||||
person = Person.objects.get(name='Aread Irector')
|
||||
person = Person.objects.get(name='Areað Irector')
|
||||
group = Group.objects.filter(acronym='mars')[0]
|
||||
url = reverse('groups_people', kwargs={'acronym':group.acronym})
|
||||
post_data = {'name':'chair',
|
||||
|
|
|
@ -12,7 +12,7 @@ from ietf.group.models import Group
|
|||
from ietf.meeting.models import Meeting, Session
|
||||
from ietf.meeting.test_data import make_meeting_test_data
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
|
||||
from ietf.name.models import SessionStatusName
|
||||
from ietf.secr.utils.meeting import get_proceedings_path
|
||||
|
@ -90,12 +90,12 @@ class BluesheetTestCase(TestCase):
|
|||
dict(acronym='mars',meeting_id=meeting.id,material_type='bluesheets',file=upfile),follow=True)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
doc = Document.objects.get(type='bluesheets')
|
||||
self.failUnless(doc.external_url in r.content)
|
||||
self.failUnless(doc.external_url in unicontent(r))
|
||||
self.failUnless(os.path.exists(os.path.join(doc.get_file_path(),doc.external_url)))
|
||||
# test that proceedings has bluesheets on it
|
||||
path = get_proceedings_path(meeting,group)
|
||||
self.failUnless(os.path.exists(path))
|
||||
with open(path) as f:
|
||||
data = f.read()
|
||||
self.failUnless(doc.external_url in data)
|
||||
self.failUnless(doc.external_url.encode('utf-8') in data)
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from django.core.urlresolvers import reverse
|
||||
from ietf.utils.test_utils import TestCase
|
||||
|
||||
|
@ -37,7 +38,7 @@ class MainTestCase(TestCase):
|
|||
def test_roles_add(self):
|
||||
make_test_data()
|
||||
augment_data()
|
||||
person = Person.objects.get(name='Aread Irector')
|
||||
person = Person.objects.get(name='Areað Irector')
|
||||
group = Group.objects.filter(acronym='mars')[0]
|
||||
url = reverse('roles')
|
||||
target = reverse('roles') + '?group=%s' % group.acronym
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from django.core.urlresolvers import reverse
|
||||
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.test_utils import TestCase, unicontent
|
||||
from ietf.group.models import Group
|
||||
#from ietf.meeting.models import Session
|
||||
#from ietf.utils.test_data import make_test_data
|
||||
|
@ -67,7 +67,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 r.content)
|
||||
self.assertTrue('You must enter a length for all sessions' in unicontent(r))
|
||||
|
||||
class LockAppTestCase(TestCase):
|
||||
def test_edit_request(self):
|
||||
|
@ -136,11 +136,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 r.content)
|
||||
self.assertTrue('A message was sent to notify not having a session' in unicontent(r))
|
||||
|
||||
r = self.client.get(url,follow=True)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue('is already marked as not meeting' in r.content)
|
||||
self.assertTrue('is already marked as not meeting' in unicontent(r))
|
||||
|
||||
self.assertEqual(len(outbox),1)
|
||||
self.assertTrue('Not having a session' in outbox[0]['Subject'])
|
||||
|
|
|
@ -11,7 +11,7 @@ from pyquery import PyQuery
|
|||
|
||||
import debug # pyflakes:ignore
|
||||
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
from ietf.utils.test_utils import login_testing_unauthorized, unicontent
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.mail import outbox
|
||||
from ietf.utils.test_utils import TestCase
|
||||
|
@ -279,7 +279,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 r.content)
|
||||
self.assertTrue("The submission is pending approval by the authors" in unicontent(r))
|
||||
|
||||
self.assertEqual(len(outbox), mailbox_before + 1)
|
||||
confirm_email = outbox[-1]
|
||||
|
@ -361,7 +361,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 r.content)
|
||||
self.assertTrue("The submission is pending email authentication" in unicontent(r))
|
||||
|
||||
self.assertEqual(len(outbox), mailbox_before + 1)
|
||||
confirm_email = outbox[-1]
|
||||
|
@ -408,16 +408,16 @@ class SubmitTests(TestCase):
|
|||
replaced_alias = draft.docalias_set.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 r.content)
|
||||
self.assertTrue('cannot replace itself' in unicontent(r))
|
||||
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 r.content)
|
||||
self.assertTrue('cannot replace an RFC' in unicontent(r))
|
||||
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 r.content)
|
||||
self.assertTrue('approved by the IESG and cannot' in unicontent(r))
|
||||
r = self.supply_extra_metadata(name, status_url, "Submitter Name", "author@example.com", replaces='')
|
||||
self.assertEqual(r.status_code, 302)
|
||||
status_url = r["Location"]
|
||||
|
@ -587,7 +587,7 @@ class SubmitTests(TestCase):
|
|||
# search status page
|
||||
r = self.client.get(urlreverse("submit_search_submission"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("submission status" in r.content)
|
||||
self.assertTrue("submission status" in unicontent(r))
|
||||
|
||||
# search
|
||||
r = self.client.post(urlreverse("submit_search_submission"), dict(name=name))
|
||||
|
@ -597,7 +597,7 @@ class SubmitTests(TestCase):
|
|||
# status page as unpriviliged => no edit button
|
||||
r = self.client.get(unprivileged_status_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(("submission status of %s" % name) in r.content.lower())
|
||||
self.assertTrue(("submission status of %s" % name) in unicontent(r).lower())
|
||||
q = PyQuery(r.content)
|
||||
adjust_button = q('[type=submit]:contains("Adjust")')
|
||||
self.assertEqual(len(adjust_button), 0)
|
||||
|
|
|
@ -14,7 +14,7 @@ from ietf.person.models import Person
|
|||
from ietf.sync import iana, rfceditor
|
||||
from ietf.utils.mail import outbox, empty_outbox
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
from ietf.utils.test_utils import login_testing_unauthorized, unicontent
|
||||
from ietf.utils.test_utils import TestCase
|
||||
|
||||
|
||||
|
@ -202,7 +202,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 r.content)
|
||||
self.assertTrue("new changes at" in unicontent(r))
|
||||
|
||||
# we don't actually try posting as that would trigger a real run
|
||||
|
||||
|
@ -427,7 +427,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 r.content)
|
||||
self.assertTrue(doc.name in unicontent(r))
|
||||
|
||||
# draft with IANA state "In Progress" but RFC Editor state not IANA
|
||||
doc = Document.objects.create(name="draft-ietf-test2", type_id="draft")
|
||||
|
@ -436,7 +436,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 r.content)
|
||||
self.assertTrue(doc.name in unicontent(r))
|
||||
|
||||
# draft with IANA state "Waiting on RFC Editor" or "RFC-Ed-Ack"
|
||||
# but RFC Editor state is IANA
|
||||
|
@ -446,7 +446,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 r.content)
|
||||
self.assertTrue(doc.name in unicontent(r))
|
||||
|
||||
# draft with state other than "RFC Ed Queue" or "RFC Published"
|
||||
# that are in RFC Editor or IANA queues
|
||||
|
@ -455,7 +455,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 r.content)
|
||||
self.assertTrue(doc.name in unicontent(r))
|
||||
|
||||
class RFCEditorUndoTests(TestCase):
|
||||
def test_rfceditor_undo(self):
|
||||
|
@ -477,7 +477,7 @@ class RFCEditorUndoTests(TestCase):
|
|||
# get
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(e2.doc_id in r.content)
|
||||
self.assertTrue(e2.doc_id in unicontent(r))
|
||||
|
||||
# delete e2
|
||||
deleted_before = DeletedEvent.objects.count()
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
|
||||
from django.conf import settings
|
||||
|
@ -75,7 +76,7 @@ def make_immutable_base_data():
|
|||
create_person(iepg, "chair")
|
||||
|
||||
iana = create_group(name="IANA", acronym="iana", type_id="ietf")
|
||||
create_person(iana, "auth", name="Ina Iana", username="iana", email_address="iana@ia.na")
|
||||
create_person(iana, "auth", name="Iña Iana", username="iana", email_address="iana@ia.na")
|
||||
|
||||
rfc_editor = create_group(name="RFC Editor", acronym="rfceditor", type_id="rfcedtyp")
|
||||
create_person(rfc_editor, "auth", name="Rfc Editor", username="rfc", email_address="rfc@edit.or")
|
||||
|
@ -86,7 +87,7 @@ def make_immutable_base_data():
|
|||
|
||||
# one area
|
||||
area = create_group(name="Far Future", acronym="farfut", type_id="area", parent=ietf)
|
||||
create_person(area, "ad", name="Aread Irector", username="ad", email_address="aread@ietf.org")
|
||||
create_person(area, "ad", name="Areað Irector", username="ad", email_address="aread@ietf.org")
|
||||
|
||||
# create a bunch of ads for swarm tests
|
||||
for i in range(1, 10):
|
||||
|
@ -173,13 +174,13 @@ def make_test_data():
|
|||
email = Email.objects.create(address="plain@example.com", person=plainman)
|
||||
|
||||
# group personnel
|
||||
create_person(mars_wg, "chair", name="WG Chair Man", username="marschairman")
|
||||
create_person(mars_wg, "delegate", name="WG Delegate", username="marsdelegate")
|
||||
create_person(mars_wg, "chair", name="WG Cháir Man", username="marschairman")
|
||||
create_person(mars_wg, "delegate", name="WG Dèlegate", username="marsdelegate")
|
||||
mars_wg.role_set.get_or_create(name_id='ad',person=ad,email=ad.role_email('ad'))
|
||||
mars_wg.save()
|
||||
|
||||
create_person(ames_wg, "chair", name="WG Chair Man", username="ameschairman")
|
||||
create_person(ames_wg, "delegate", name="WG Delegate", username="amesdelegate")
|
||||
create_person(ames_wg, "chair", name="WG Cháir Man", username="ameschairman")
|
||||
create_person(ames_wg, "delegate", name="WG Dèlegate", username="amesdelegate")
|
||||
ames_wg.role_set.get_or_create(name_id='ad',person=ad,email=ad.role_email('ad'))
|
||||
ames_wg.save()
|
||||
|
||||
|
|
|
@ -262,6 +262,16 @@ def login_testing_unauthorized(test_case, username, url, password=None):
|
|||
password = username + "+password"
|
||||
return test_case.client.login(username=username, password=password)
|
||||
|
||||
def unicontent(r):
|
||||
"Return a HttpResponse object's content as unicode"
|
||||
content_type = r._headers.get("content-type", "text/html; charset=utf-8")
|
||||
if 'charset=' in content_type:
|
||||
mediatype, charset = content_type.split(';')
|
||||
encoding = charset.split('=')[1].strip()
|
||||
else:
|
||||
encoding = 'utf-8'
|
||||
return r.content.decode(encoding)
|
||||
|
||||
class ReverseLazyTest(django.test.TestCase):
|
||||
def test_redirect_with_lazy_reverse(self):
|
||||
response = self.client.get('/ipr/update/')
|
||||
|
|
Loading…
Reference in a new issue