Skip to content

Commit c16b7c5

Browse files
committed
Merged in [9307] from rcross@amsl.com:
Improve test coverage of secr.drafts. - Legacy-Id: 9312 Note: SVN reference [9307] has been migrated to Git commit 34a1648
2 parents 31fb872 + 9c9ac7e commit c16b7c5

5 files changed

Lines changed: 127 additions & 28 deletions

File tree

hold-for-merge

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# -*- conf-mode -*-
22

3-
personal/rcross/v5.12.4.dev0@9307 # Failed pyflakes, fixed in 9308
43
personal/rcross/v5.7.3-dev0@8640 # Rework: make the check_permissions() decorator handle the case where the user isn't logged in
54
personal/rcross/v5.6.3-dev0@8237 # Includes other merges; merge personal/rcross/v5.6.2-dev0@8216 instead
65
personal/liudapeng/v5.5.1-dev0@7925 # alternative resolution desired

ietf/secr/drafts/tests.py

Lines changed: 0 additions & 26 deletions
This file was deleted.

ietf/secr/drafts/tests_views.py

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
import os
2+
import shutil
3+
4+
from StringIO import StringIO
5+
from django.conf import settings
6+
from django.core.urlresolvers import reverse as urlreverse
7+
8+
from ietf.utils.test_utils import TestCase
9+
from ietf.person.models import Person
10+
from ietf.submit.models import Preapproval
11+
from ietf.utils.test_data import make_test_data
12+
13+
#from pyquery import PyQuery
14+
15+
SECR_USER='secretary'
16+
17+
class MainTestCase(TestCase):
18+
def setUp(self):
19+
self.repository_dir = os.path.abspath("tmp-submit-repository-dir")
20+
os.mkdir(self.repository_dir)
21+
settings.INTERNET_DRAFT_PATH = self.repository_dir
22+
23+
self.archive_dir = os.path.abspath("tmp-submit-archive-dir")
24+
os.mkdir(self.archive_dir)
25+
settings.INTERNET_DRAFT_ARCHIVE_DIR = self.archive_dir
26+
27+
def tearDown(self):
28+
shutil.rmtree(self.repository_dir)
29+
shutil.rmtree(self.archive_dir)
30+
31+
def test_abstract(self):
32+
draft = make_test_data()
33+
url = urlreverse('drafts_abstract', kwargs={'id':draft.name})
34+
self.client.login(username="secretary", password="secretary+password")
35+
response = self.client.get(url)
36+
self.assertEqual(response.status_code, 200)
37+
38+
def test_add(self):
39+
draft = make_test_data()
40+
url = urlreverse('drafts_add')
41+
self.client.login(username="secretary", password="secretary+password")
42+
response = self.client.get(url)
43+
self.assertEqual(response.status_code, 200)
44+
45+
# dummy upload file
46+
txt_file = StringIO('This is a simple text file.')
47+
txt_file.name = "draft-dummy-00.txt"
48+
49+
post = dict(title='A test draft',
50+
group=draft.group.pk,
51+
start_date='2015-01-01',
52+
pages='10',
53+
txt=txt_file
54+
)
55+
response = self.client.post(url,post)
56+
self.assertEqual(response.status_code, 302)
57+
58+
def test_announce(self):
59+
draft = make_test_data()
60+
url = urlreverse('drafts_announce', kwargs={'id':draft.name})
61+
self.client.login(username="secretary", password="secretary+password")
62+
response = self.client.get(url)
63+
self.assertEqual(response.status_code, 302)
64+
65+
def test_approvals(self):
66+
make_test_data()
67+
Preapproval.objects.create(name='draft-dummy',
68+
by=Person.objects.get(name="(System)"))
69+
url = urlreverse('drafts_approvals')
70+
self.client.login(username="secretary", password="secretary+password")
71+
response = self.client.get(url)
72+
self.assertEqual(response.status_code, 200)
73+
self.assertTrue('draft-dummy' in response.content)
74+
75+
def test_edit(self):
76+
draft = make_test_data()
77+
url = urlreverse('drafts_edit', kwargs={'id':draft.name})
78+
self.client.login(username="secretary", password="secretary+password")
79+
response = self.client.get(url)
80+
self.assertEqual(response.status_code, 200)
81+
82+
def test_email(self):
83+
# can't test this directly, test via drafts actions
84+
pass
85+
86+
def test_makerfc(self):
87+
draft = make_test_data()
88+
url = urlreverse('drafts_edit', kwargs={'id':draft.name})
89+
self.client.login(username="secretary", password="secretary+password")
90+
response = self.client.get(url)
91+
self.assertEqual(response.status_code, 200)
92+
self.assertTrue(draft.intended_std_level)
93+
94+
def test_search(self):
95+
draft = make_test_data()
96+
url = urlreverse('drafts')
97+
self.client.login(username="secretary", password="secretary+password")
98+
response = self.client.get(url)
99+
self.assertEqual(response.status_code, 200)
100+
101+
post = dict(filename='draft',state=1,submit='submit')
102+
response = self.client.post(url,post)
103+
self.assertEqual(response.status_code, 200)
104+
self.assertTrue(draft.name in response.content)
105+
106+
def test_update(self):
107+
draft = make_test_data()
108+
url = urlreverse('drafts_update', kwargs={'id':draft.name})
109+
self.client.login(username="secretary", password="secretary+password")
110+
response = self.client.get(url)
111+
self.assertEqual(response.status_code, 200)
112+
113+
def test_view(self):
114+
draft = make_test_data()
115+
url = urlreverse('drafts_view', kwargs={'id':draft.name})
116+
self.client.login(username="secretary", password="secretary+password")
117+
response = self.client.get(url)
118+
self.assertEqual(response.status_code, 200)
119+

ietf/secr/templates/drafts/makerfc.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ <h2>Draft - Make RFC</h2>
5353
<h2>Author(s)</h2>
5454
<table>
5555
{% for author in draft.authors.all %}
56-
<tr><td><a href="{% url "sec.rolodex.views.view" id=author.person.pk %}">{{ author.person.name }}</a></td></tr>
56+
<tr><td><a href="{% url "ietf.secr.rolodex.views.view" id=author.person.pk %}">{{ author.person.name }}</a></td></tr>
5757
{% endfor %}
5858
</table>
5959
</div> <!-- inline-related -->

ietf/utils/test_data.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,13 @@ def make_test_data():
221221
desc="Started IESG process",
222222
)
223223

224+
DocEvent.objects.create(
225+
type="new_revision",
226+
by=ad,
227+
doc=draft,
228+
desc="New revision available",
229+
)
230+
224231
BallotDocEvent.objects.create(
225232
type="created_ballot",
226233
ballot_type=BallotType.objects.get(doc_type="draft", slug="approve"),

0 commit comments

Comments
 (0)