Skip to content

Commit db7aa73

Browse files
committed
Merged in [10418] from henrik@levkowetz.com:
Modified the test data to use some AD and WG chair names that contain non-ascii characters, and fixed test issues found. - Legacy-Id: 10420 Note: SVN reference [10418] has been migrated to Git commit cf7d794
2 parents eb76e21 + cf7d794 commit db7aa73

29 files changed

Lines changed: 370 additions & 317 deletions

changelog

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
ietfdb (6.8.0) ietf; urgency=medium
2+
3+
* Merged in [10414] from rjsparks@nostrum.com:
4+
Put possibly replaces sections in the right columns. Fixes #1802.
5+
6+
* Keep draft aliases for 2 years rather than 1 year from posting.
7+
8+
* Merged in [10405] from rjsparks@nostrum.com:
9+
Addresses an issue where the WG document page would show the same document
10+
in more than one section. Fixes #1827.
11+
12+
* Merged in [10384] from rjsparks@nostrum.com:
13+
When a group gives a document a new group state (particularly for the
14+
first time), send a message that says what happened instead of simply
15+
\'Adopted\'. Fixes #1830.
16+
17+
* Merged in [10383] and [10413] from rcross@amsl.com:
18+
Updated proceedings permissions.
19+
20+
* Merged in [10379] from rjsparks@nostrum.com:
21+
Change the acronym link on the html agenda page to go to the group's
22+
charter page rather than the charter's document page.
23+
24+
* Merged in [10378] from rjsparks@nostrum.com:
25+
Make the internal review message reflect whether this is a new chartering
26+
effort or a recharter. Fixes #1814.
27+
28+
* Fixed a unicode issue with rendering of contact names.
29+
30+
-- Henrik Levkowetz <henrik@levkowetz.com> 03 Nov 2015 23:44:55 -0800
31+
32+
133
ietfdb (6.8.0) ietf; urgency=medium
234

335
**IETF 94 Code Sprint**

debug.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ def info(name):
190190
if debug:
191191
frame = inspect.stack()[1][0]
192192
value = eval(name, frame.f_globals, frame.f_locals)
193+
vtype = eval("type(%s)"%name, frame.f_globals, frame.f_locals)
193194
indent = ' ' * (_report_indent[0])
194-
sys.stderr.write("%s%s: %s %s\n" % (indent, name, value, type(value)))
195+
sys.stderr.write("%s%s: '%s' (%s)\n" % (indent, name, value, vtype))
195196

ietf/doc/tests.py

Lines changed: 71 additions & 71 deletions
Large diffs are not rendered by default.

ietf/doc/tests_ballot.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# -*- coding: utf-8 -*-
12
import datetime
23
from pyquery import PyQuery
34

@@ -11,7 +12,7 @@
1112
from ietf.name.models import BallotPositionName
1213
from ietf.iesg.models import TelechatDate
1314
from ietf.person.models import Person
14-
from ietf.utils.test_utils import TestCase
15+
from ietf.utils.test_utils import TestCase, unicontent
1516
from ietf.utils.mail import outbox, empty_outbox
1617
from ietf.utils.test_data import make_test_data
1718
from ietf.utils.test_utils import login_testing_unauthorized
@@ -24,7 +25,7 @@ def test_edit_position(self):
2425
ballot_id=draft.latest_event(BallotDocEvent, type="created_ballot").pk))
2526
login_testing_unauthorized(self, "ad", url)
2627

27-
ad = Person.objects.get(name="Aread Irector")
28+
ad = Person.objects.get(name="Areað Irector")
2829

2930
# normal get
3031
r = self.client.get(url)
@@ -84,7 +85,7 @@ def test_edit_position_as_secretary(self):
8485
draft = make_test_data()
8586
url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name,
8687
ballot_id=draft.latest_event(BallotDocEvent, type="created_ballot").pk))
87-
ad = Person.objects.get(name="Aread Irector")
88+
ad = Person.objects.get(name="Areað Irector")
8889
url += "?ad=%s" % ad.pk
8990
login_testing_unauthorized(self, "secretary", url)
9091

@@ -127,7 +128,7 @@ def test_send_ballot_comment(self):
127128
draft.notify = "somebody@example.com"
128129
draft.save()
129130

130-
ad = Person.objects.get(name="Aread Irector")
131+
ad = Person.objects.get(name="Areað Irector")
131132

132133
ballot = draft.latest_event(BallotDocEvent, type="created_ballot")
133134

@@ -263,7 +264,7 @@ def test_edit_ballot_writeup(self):
263264
q = PyQuery(r.content)
264265
self.assertEqual(len(q('textarea[name=ballot_writeup]')), 1)
265266
self.assertTrue(q('[type=submit]:contains("Save")'))
266-
self.assertTrue("IANA does not" in r.content)
267+
self.assertTrue("IANA does not" in unicontent(r))
267268

268269
# save
269270
r = self.client.post(url, dict(
@@ -455,7 +456,7 @@ def helper_test_defer(self,name):
455456

456457
e = TelechatDocEvent(type="scheduled_for_telechat",
457458
doc = doc,
458-
by = Person.objects.get(name="Aread Irector"),
459+
by = Person.objects.get(name="Areað Irector"),
459460
telechat_date = first_date,
460461
returning_item = False,
461462
)
@@ -511,7 +512,7 @@ def helper_test_undefer(self,name):
511512

512513
e = TelechatDocEvent(type="scheduled_for_telechat",
513514
doc = doc,
514-
by = Person.objects.get(name="Aread Irector"),
515+
by = Person.objects.get(name="Areað Irector"),
515516
telechat_date = second_date,
516517
returning_item = True,
517518
)

ietf/doc/tests_charter.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# -*- coding: utf-8 -*-
12
# Copyright The IETF Trust 2011, All Rights Reserved
23

34
import os, shutil, datetime
@@ -13,7 +14,7 @@
1314
from ietf.group.models import Group, GroupMilestone
1415
from ietf.iesg.models import TelechatDate
1516
from ietf.person.models import Person
16-
from ietf.utils.test_utils import TestCase
17+
from ietf.utils.test_utils import TestCase, unicontent
1718
from ietf.utils.mail import outbox, empty_outbox
1819
from ietf.utils.test_data import make_test_data
1920
from ietf.utils.test_utils import login_testing_unauthorized
@@ -102,7 +103,7 @@ def find_event(t):
102103
if slug=="intrev":
103104
self.assertTrue("Internal WG Review" in outbox[-3]['Subject'])
104105
self.assertTrue(all([x in outbox[-3]['To'] for x in ['iab@','iesg@']]))
105-
self.assertTrue("A new IETF working" in unicode(outbox[-3]))
106+
self.assertTrue("A new IETF working" in outbox[-3].get_payload())
106107

107108
self.assertTrue("state changed" in outbox[-2]['Subject'].lower())
108109
self.assertTrue("iesg-secretary@" in outbox[-2]['To'])
@@ -117,7 +118,7 @@ def find_event(t):
117118
empty_outbox()
118119
r = self.client.post(url, dict(charter_state=str(State.objects.get(used=True,type="charter",slug="intrev").pk), message="test"))
119120
self.assertEqual(r.status_code, 302)
120-
self.assertTrue("A new charter" in unicode(outbox[-3]))
121+
self.assertTrue("A new charter" in outbox[-3].get_payload())
121122

122123
def test_edit_telechat_date(self):
123124
make_test_data()
@@ -262,7 +263,7 @@ def test_submit_charter(self):
262263

263264
r = self.client.post(url, dict(txt=test_file))
264265
self.assertEqual(r.status_code, 200)
265-
self.assertTrue("does not appear to be a text file" in r.content)
266+
self.assertTrue("does not appear to be a text file" in unicontent(r))
266267

267268
# post
268269
prev_rev = charter.rev
@@ -430,7 +431,7 @@ def test_approve(self):
430431
with open(os.path.join(self.charter_dir, "%s-%s.txt" % (charter.canonical_name(), charter.rev)), "w") as f:
431432
f.write("This is a charter.")
432433

433-
p = Person.objects.get(name="Aread Irector")
434+
p = Person.objects.get(name="Areað Irector")
434435

435436
BallotDocEvent.objects.create(
436437
type="created_ballot",
@@ -514,4 +515,4 @@ def test_charter_with_milestones(self):
514515
url = urlreverse('charter_with_milestones_txt', kwargs=dict(name=charter.name, rev=charter.rev))
515516
r = self.client.get(url)
516517
self.assertEqual(r.status_code, 200)
517-
self.assertTrue(m.desc in r.content)
518+
self.assertTrue(m.desc in unicontent(r))

ietf/doc/tests_conflict_review.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# -*- coding: utf-8 -*-
12
import os
23
import shutil
34

@@ -14,7 +15,7 @@
1415
from ietf.group.models import Person
1516
from ietf.iesg.models import TelechatDate
1617
from ietf.name.models import StreamName
17-
from ietf.utils.test_utils import TestCase
18+
from ietf.utils.test_utils import TestCase, unicontent
1819
from ietf.utils.mail import outbox, empty_outbox
1920
from ietf.utils.test_data import make_test_data
2021
from ietf.utils.test_utils import login_testing_unauthorized
@@ -55,14 +56,14 @@ def test_start_review_as_secretary(self):
5556
self.assertEqual(Document.objects.filter(name='conflict-review-imaginary-independent-submission').count() , 0)
5657

5758
# successful review start
58-
ad_strpk = str(Person.objects.get(name='Aread Irector').pk)
59+
ad_strpk = str(Person.objects.get(name='Areað Irector').pk)
5960
state_strpk = str(State.objects.get(used=True, slug='needshep',type__slug='conflrev').pk)
6061
r = self.client.post(url,dict(ad=ad_strpk,create_in_state=state_strpk,notify='ipu@ietf.org'))
6162
self.assertEqual(r.status_code, 302)
6263
review_doc = Document.objects.get(name='conflict-review-imaginary-independent-submission')
6364
self.assertEqual(review_doc.get_state('conflrev').slug,'needshep')
6465
self.assertEqual(review_doc.rev,u'00')
65-
self.assertEqual(review_doc.ad.name,u'Aread Irector')
66+
self.assertEqual(review_doc.ad.name,u'Areað Irector')
6667
self.assertEqual(review_doc.notify,u'ipu@ietf.org')
6768
doc = Document.objects.get(name='draft-imaginary-independent-submission')
6869
self.assertTrue(doc in [x.target.document for x in review_doc.relateddocument_set.filter(relationship__slug='conflrev')])
@@ -72,7 +73,7 @@ def test_start_review_as_secretary(self):
7273
self.assertTrue('Conflict Review requested' in outbox[-1]['Subject'])
7374

7475
# verify you can't start a review when a review is already in progress
75-
r = self.client.post(url,dict(ad="Aread Irector",create_in_state="Needs Shepherd",notify='ipu@ietf.org'))
76+
r = self.client.post(url,dict(ad="Areað Irector",create_in_state="Needs Shepherd",notify='ipu@ietf.org'))
7677
self.assertEqual(r.status_code, 404)
7778

7879

@@ -365,7 +366,7 @@ def test_subsequent_submission(self):
365366
test_file.name = "unnamed"
366367
r = self.client.post(url, dict(txt=test_file,submit_response="1"))
367368
self.assertEqual(r.status_code, 200)
368-
self.assertTrue("does not appear to be a text file" in r.content)
369+
self.assertTrue("does not appear to be a text file" in unicontent(r))
369370

370371
# sane post uploading a file
371372
test_file = StringIO("This is a new proposal.")

ietf/doc/tests_draft.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# -*- coding: utf-8 -*-
12
import os
23
import shutil
34
import datetime
@@ -18,7 +19,7 @@
1819
from ietf.person.models import Person, Email
1920
from ietf.meeting.models import Meeting, MeetingTypeName
2021
from ietf.iesg.models import TelechatDate
21-
from ietf.utils.test_utils import login_testing_unauthorized
22+
from ietf.utils.test_utils import login_testing_unauthorized, unicontent
2223
from ietf.utils.test_data import make_test_data
2324
from ietf.utils.mail import outbox, empty_outbox
2425
from ietf.utils.test_utils import TestCase
@@ -158,7 +159,7 @@ def test_request_last_call(self):
158159

159160
self.assertTrue(not draft.latest_event(type="changed_ballot_writeup_text"))
160161
r = self.client.post(url, dict(state=State.objects.get(used=True, type="draft-iesg", slug="lc-req").pk))
161-
self.assertTrue("Your request to issue" in r.content)
162+
self.assertTrue("Your request to issue" in unicontent(r))
162163

163164
# last call text
164165
e = draft.latest_event(WriteupDocEvent, type="changed_last_call_text")
@@ -353,7 +354,7 @@ def test_start_iesg_process_on_draft(self):
353354
events_before = draft.docevent_set.count()
354355
mailbox_before = len(outbox)
355356

356-
ad = Person.objects.get(name="Aread Irector")
357+
ad = Person.objects.get(name="Areað Irector")
357358

358359
r = self.client.post(url,
359360
dict(intended_std_level=str(draft.intended_std_level_id),
@@ -446,7 +447,7 @@ def test_request_resurrect(self):
446447
self.assertEqual(draft.docevent_set.count(), events_before + 1)
447448
e = draft.latest_event(type="requested_resurrect")
448449
self.assertTrue(e)
449-
self.assertEqual(e.by, Person.objects.get(name="Aread Irector"))
450+
self.assertEqual(e.by, Person.objects.get(name="Areað Irector"))
450451
self.assertTrue("Resurrection" in e.desc)
451452
self.assertEqual(len(outbox), mailbox_before + 1)
452453
self.assertTrue("Resurrection" in outbox[-1]['Subject'])
@@ -458,7 +459,7 @@ def test_resurrect(self):
458459

459460
DocEvent.objects.create(doc=draft,
460461
type="requested_resurrect",
461-
by=Person.objects.get(name="Aread Irector"))
462+
by=Person.objects.get(name="Areað Irector"))
462463

463464
url = urlreverse('doc_resurrect', kwargs=dict(name=draft.name))
464465

@@ -905,7 +906,7 @@ def test_doc_change_shepherd(self):
905906
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')]))
906907

907908
# test buggy change
908-
ad = Person.objects.get(name='Aread Irector')
909+
ad = Person.objects.get(name='Areað Irector')
909910
two_answers = "%s,%s" % (plain_email, ad.email_set.all()[0])
910911
r = self.client.post(url, dict(shepherd=two_answers))
911912
self.assertEqual(r.status_code, 200)

ietf/doc/tests_material.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from ietf.meeting.models import Meeting, Session, SessionPresentation
1616
from ietf.name.models import SessionStatusName
1717
from ietf.person.models import Person
18-
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
18+
from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent
1919
from ietf.utils.test_data import make_test_data
2020

2121
from ietf.meeting.test_data import make_meeting_test_data
@@ -59,7 +59,7 @@ def test_choose_material_type(self):
5959
# normal get
6060
r = self.client.get(url)
6161
self.assertEqual(r.status_code, 200)
62-
self.assertTrue("Slides" in r.content)
62+
self.assertTrue("Slides" in unicontent(r))
6363

6464
url = urlreverse('ietf.doc.views_material.choose_material_type', kwargs=dict(acronym='mars'))
6565
r = self.client.get(url)

ietf/doc/tests_status_change.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# -*- coding: utf-8 -*-
12
import os
23
import shutil
34

@@ -14,7 +15,7 @@
1415
from ietf.doc.views_status_change import default_approval_text
1516
from ietf.group.models import Person
1617
from ietf.iesg.models import TelechatDate
17-
from ietf.utils.test_utils import TestCase
18+
from ietf.utils.test_utils import TestCase, unicontent
1819
from ietf.utils.mail import outbox
1920
from ietf.utils.test_data import make_test_data
2021
from ietf.utils.test_utils import login_testing_unauthorized
@@ -32,7 +33,7 @@ def test_start_review(self):
3233
q = PyQuery(r.content)
3334
self.assertEqual(len(q('form select[name=create_in_state]')),1)
3435

35-
ad_strpk = str(Person.objects.get(name='Aread Irector').pk)
36+
ad_strpk = str(Person.objects.get(name='Areað Irector').pk)
3637
state_strpk = str(State.objects.get(slug='adrev',type__slug='statchg').pk)
3738

3839
# faulty posts
@@ -69,7 +70,7 @@ def test_start_review(self):
6970
status_change = Document.objects.get(name='status-change-imaginary-new')
7071
self.assertEqual(status_change.get_state('statchg').slug,'adrev')
7172
self.assertEqual(status_change.rev,u'00')
72-
self.assertEqual(status_change.ad.name,u'Aread Irector')
73+
self.assertEqual(status_change.ad.name,u'Areað Irector')
7374
self.assertEqual(status_change.notify,u'ipu@ietf.org')
7475
self.assertTrue(status_change.relateddocument_set.filter(relationship__slug='tois',target__document__name='draft-ietf-random-thing'))
7576

@@ -451,7 +452,7 @@ def test_subsequent_submission(self):
451452
test_file.name = "unnamed"
452453
r = self.client.post(url, dict(txt=test_file,submit_response="1"))
453454
self.assertEqual(r.status_code, 200)
454-
self.assertTrue("does not appear to be a text file" in r.content)
455+
self.assertTrue("does not appear to be a text file" in unicontent(r))
455456

456457
# sane post uploading a file
457458
test_file = StringIO("This is a new proposal.")
@@ -476,7 +477,7 @@ def test_subsequent_submission(self):
476477
url = urlreverse('doc_view',kwargs=dict(name=doc.name,rev='00'))
477478
r = self.client.get(url)
478479
self.assertEqual(r.status_code,200)
479-
self.assertTrue("This is the old proposal." in r.content)
480+
self.assertTrue("This is the old proposal." in unicontent(r))
480481

481482
def setUp(self):
482483
make_test_data()

ietf/doc/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
url(r'^(?P<name>[A-Za-z0-9\._\+\-]+)$', views_search.search_for_name, name="doc_search_for_name"),
4343
url(r'^search/$', views_search.search, name="doc_search"),
4444
url(r'^in-last-call/$', views_search.drafts_in_last_call, name="drafts_in_last_call"),
45-
url(r'^ad/(?P<name>[A-Za-z0-9.-]+)/$', views_search.docs_for_ad, name="docs_for_ad"),
46-
(r'^ad2/(?P<name>[A-Za-z0-9.-]+)/$', RedirectView.as_view(url='/doc/ad/%(name)s/', permanent=True)),
45+
url(r'^ad/(?P<name>[\w.-]+)/$(?u)', views_search.docs_for_ad, name="docs_for_ad"),
46+
(r'^ad2/(?P<name>[\w.-]+)/$(?u)', RedirectView.as_view(url='/doc/ad/%(name)s/', permanent=True)),
4747
url(r'^rfc-status-changes/$', views_status_change.rfc_status_changes, name='rfc_status_changes'),
4848
url(r'^start-rfc-status-change/(?P<name>[A-Za-z0-9._+-]*)$', views_status_change.start_rfc_status_change, name='start_rfc_status_change'),
4949
url(r'^iesg/(?P<last_call_only>[A-Za-z0-9.-]+/)?$', views_search.drafts_in_iesg_process, name="drafts_in_iesg_process"),

0 commit comments

Comments
 (0)