68 lines
2.5 KiB
Python
68 lines
2.5 KiB
Python
from django.db import connection
|
|
from django.urls import reverse
|
|
|
|
from pyquery import PyQuery
|
|
|
|
from ietf.utils.test_utils import TestCase
|
|
from ietf.person.models import Person
|
|
from ietf.utils.test_data import make_test_data
|
|
|
|
|
|
SECR_USER='secretary'
|
|
WG_USER=''
|
|
AD_USER=''
|
|
|
|
class SecrAnnouncementTestCase(TestCase):
|
|
# ------- Test View -------- #
|
|
def test_main(self):
|
|
"Main Test"
|
|
make_test_data()
|
|
url = reverse('ietf.secr.announcement.views.main')
|
|
self.client.login(username="secretary", password="secretary+password")
|
|
r = self.client.get(url)
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
class DummyCase(TestCase):
|
|
name = connection.settings_dict['NAME']
|
|
|
|
class UnauthorizedAnnouncementCase(TestCase):
|
|
def test_unauthorized(self):
|
|
"Unauthorized Test"
|
|
make_test_data()
|
|
url = reverse('ietf.secr.announcement.views.main')
|
|
person = Person.objects.filter(role__group__acronym='mars')[0]
|
|
self.client.login(username=person.user.username, password=person.user.username+"+password")
|
|
r = self.client.get(url)
|
|
self.assertEqual(r.status_code, 403)
|
|
|
|
class SubmitAnnouncementCase(TestCase):
|
|
def test_invalid_submit(self):
|
|
"Invalid Submit"
|
|
make_test_data()
|
|
url = reverse('ietf.secr.announcement.views.main')
|
|
post_data = {'id_subject':''}
|
|
#self.client.login(username='rcross', password='rcross+password")
|
|
self.client.login(username="secretary", password="secretary+password")
|
|
r = self.client.post(url,post_data)
|
|
self.assertEqual(r.status_code, 200)
|
|
q = PyQuery(r.content)
|
|
self.assertTrue(len(q('form ul.errorlist')) > 0)
|
|
|
|
def test_valid_submit(self):
|
|
"Valid Submit"
|
|
make_test_data()
|
|
#ietf.utils.mail.test_mode = True
|
|
url = reverse('ietf.secr.announcement.views.main')
|
|
redirect = reverse('ietf.secr.announcement.views.confirm')
|
|
post_data = {'to':'Other...',
|
|
'to_custom':'rcross@amsl.com',
|
|
'frm':'IETF Secretariat <ietf-secretariat@ietf.org>',
|
|
'subject':'Test Subject',
|
|
'body':'This is a test.'}
|
|
self.client.login(username="secretary", password="secretary+password")
|
|
r = self.client.post(url,post_data,follow=True)
|
|
self.assertRedirects(r, redirect)
|
|
# good enough if we get to confirm page
|
|
#self.assertEqual(len(outbox), 1)
|
|
#self.assertTrue(len(outbox) > mailbox_before)
|