Added a test case for invalid yang in a draft submission.

- Legacy-Id: 13633
This commit is contained in:
Henrik Levkowetz 2017-06-15 19:22:36 +00:00
parent 7205512362
commit 207ea51723
2 changed files with 44 additions and 2 deletions

View file

@ -24,6 +24,7 @@ from ietf.person.factories import UserFactory, PersonFactory
from ietf.submit.models import Submission, Preapproval
from ietf.submit.mail import add_submission_email, process_response_email
from ietf.utils.mail import outbox, empty_outbox
from ietf.utils.models import VersionInfo
from ietf.utils.test_data import make_test_data
from ietf.utils.test_utils import login_testing_unauthorized, unicontent, TestCase
@ -273,6 +274,15 @@ class SubmitTests(TestCase):
self.assertTrue("ames-chairs@" in outbox[-1]["To"].lower())
self.assertTrue("mars-chairs@" in outbox[-1]["To"].lower())
# fetch the document page
url = urlreverse('ietf.doc.views_doc.document_main', kwargs={'name':name})
r = self.client.get(url)
self.assertContains(r, name)
self.assertContains(r, 'Active Internet-Draft')
self.assertContains(r, 'mars WG')
self.assertContains(r, 'Yang Validation')
self.assertContains(r, 'WG Document')
def test_submit_new_wg_txt(self):
self.submit_new_wg(["txt"])
@ -950,6 +960,38 @@ class SubmitTests(TestCase):
self.assertIn('The idnits check returned 1 error', m)
def test_submit_invalid_yang(self):
make_test_data()
name = "draft-yang-testing-invalid"
rev = "00"
group = None
# get
url = urlreverse('ietf.submit.views.upload_submission')
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
# submit
files = {"txt": submission_file(name, rev, group, "txt", "test_submission_invalid_yang.txt") }
r = self.client.post(url, files)
self.assertEqual(r.status_code, 302)
status_url = r["Location"]
r = self.client.get(status_url)
q = PyQuery(r.content)
#
self.assertContains(r, u'The yang validation returned 1 error')
#
m = q('#yang-validation-message').text()
for command in ['xym', 'pyang', 'yanglint']:
version = VersionInfo.objects.get(command=command).version
self.assertIn(version, m)
self.assertIn("draft-yang-testing-invalid-00.txt", m)
self.assertIn("error: syntax error: illegal keyword: ;", m)
self.assertIn("No validation errors", m)
class ApprovalsTestCase(TestCase):
def test_approvals(self):

View file

@ -67,9 +67,9 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="nitslabel">{{ check.checker|title }} for {{ submission.name }}-{{ submission.rev }}</h4>
<h4 class="modal-title" id="{{check.checker|slugify}}-label">{{ check.checker|title }} for {{ submission.name }}-{{ submission.rev }}</h4>
</div>
<div class="modal-body">
<div class="modal-body" id="{{check.checker|slugify}}-message">
<pre>{{ check.message }}</pre>
</div>
<div class="modal-footer">