Rewrite NomCom test data generation slightly based on the rewritten
base test data, fix problem with form previews - Legacy-Id: 6918
This commit is contained in:
parent
7f25469c6b
commit
652a5ca17a
|
@ -6,20 +6,19 @@ from django.core.files import File
|
|||
from django.conf import settings
|
||||
|
||||
from ietf.utils.pipe import pipe
|
||||
from ietf.utils.test_data import create_person
|
||||
from ietf.group.models import Group, Role, ChangeStateGroupEvent
|
||||
from ietf.person.models import Email, Person
|
||||
from ietf.name.models import RoleName
|
||||
from ietf.nomcom.models import NomCom, Position, Nominee
|
||||
|
||||
COMMUNITY_USER = 'plain'
|
||||
CHAIR_USER = 'chair'
|
||||
MEMBER_USER = 'member'
|
||||
SECRETARIAT_USER = 'secretariat'
|
||||
CHAIR_USER = 'nomcomchair'
|
||||
MEMBER_USER = 'nomcommember'
|
||||
SECRETARIAT_USER = 'secretary'
|
||||
EMAIL_DOMAIN = '@example.com'
|
||||
NOMCOM_YEAR = "2013"
|
||||
|
||||
USERS = [COMMUNITY_USER, CHAIR_USER, MEMBER_USER, SECRETARIAT_USER]
|
||||
|
||||
POSITIONS = {
|
||||
"GEN": "IETF Chair/Gen AD",
|
||||
"APP": "APP Area Director",
|
||||
|
@ -94,7 +93,6 @@ def check_comments(encryped, plain, privatekey_file):
|
|||
|
||||
return decrypted_comments == plain
|
||||
|
||||
|
||||
def nomcom_test_data():
|
||||
# groups
|
||||
group, created = Group.objects.get_or_create(name='IAB/IESG Nominating Committee 2013/2014',
|
||||
|
@ -107,51 +105,15 @@ def nomcom_test_data():
|
|||
cert_file, privatekey_file = generate_cert()
|
||||
nomcom.public_key.save('cert', File(open(cert_file.name, 'r')))
|
||||
|
||||
try:
|
||||
secretariat = Group.objects.get(acronym="secretariat")
|
||||
secretariat.name = u'Secretariat'
|
||||
secretariat.save()
|
||||
except Group.DoesNotExist:
|
||||
secretariat, created = Group.objects.get_or_create(name=u'Secretariat',
|
||||
acronym="secretariat",
|
||||
state_id="active",
|
||||
type_id="ietf",
|
||||
parent=None)
|
||||
# users
|
||||
for user in USERS:
|
||||
u, created = User.objects.get_or_create(username=user)
|
||||
if created:
|
||||
u.set_password(user)
|
||||
u.save()
|
||||
person, created = Person.objects.get_or_create(
|
||||
name=user,
|
||||
ascii=user,
|
||||
user=u)
|
||||
email, created = Email.objects.get_or_create(
|
||||
address="%s%s" % (user, EMAIL_DOMAIN),
|
||||
person=person)
|
||||
# chair and member
|
||||
create_person(group, "chair", username=CHAIR_USER)
|
||||
create_person(group, "member", username=MEMBER_USER)
|
||||
|
||||
if user == CHAIR_USER:
|
||||
role, created = RoleName.objects.get_or_create(slug="chair")
|
||||
Role.objects.get_or_create(name=role,
|
||||
group=group,
|
||||
person=person,
|
||||
email=email)
|
||||
if user == MEMBER_USER:
|
||||
role, created = RoleName.objects.get_or_create(slug="member")
|
||||
Role.objects.get_or_create(name=role,
|
||||
group=group,
|
||||
person=person,
|
||||
email=email)
|
||||
if user == SECRETARIAT_USER:
|
||||
role, created = RoleName.objects.get_or_create(slug="secr")
|
||||
Role.objects.create(name=role,
|
||||
group=secretariat,
|
||||
person=person,
|
||||
email=email)
|
||||
# nominee
|
||||
email = Email.objects.get(person__name=COMMUNITY_USER)
|
||||
nominee, created = Nominee.objects.get_or_create(email=email, nomcom=nomcom)
|
||||
u, _ = User.objects.get_or_create(username=COMMUNITY_USER)
|
||||
plainman, _ = Person.objects.get_or_create(name="Plain Man", ascii="Plain Man", user=u)
|
||||
email, _ = Email.objects.get_or_create(address="plain@example.com", person=plainman)
|
||||
nominee, _ = Nominee.objects.get_or_create(email=email, nomcom=nomcom)
|
||||
|
||||
# positions
|
||||
for name, description in POSITIONS.iteritems():
|
||||
|
|
|
@ -23,7 +23,7 @@ from ietf.nomcom.test_data import nomcom_test_data, generate_cert, check_comment
|
|||
from ietf.nomcom.models import NomineePosition, Position, Nominee, \
|
||||
NomineePositionState, Feedback, FeedbackType, \
|
||||
Nomination
|
||||
from ietf.nomcom.forms import EditChairForm, EditMembersForm
|
||||
from ietf.nomcom.forms import EditChairForm, EditChairFormPreview, EditMembersForm
|
||||
from ietf.nomcom.utils import get_nomcom_by_year, get_or_create_nominee
|
||||
from ietf.nomcom.management.commands.send_reminders import Command, is_time_to_send
|
||||
|
||||
|
@ -285,7 +285,7 @@ class NomcomViewsTest(TestCase):
|
|||
# preview
|
||||
self.client.post(self.edit_members_url, test_data)
|
||||
|
||||
hash = EditChairFormPreview().security_hash(None, EditMembersForm(test_data))
|
||||
hash = EditChairFormPreview(EditChairForm).security_hash(None, EditMembersForm(test_data))
|
||||
test_data.update({'hash': hash, 'stage': 2})
|
||||
|
||||
# submit
|
||||
|
@ -314,7 +314,7 @@ class NomcomViewsTest(TestCase):
|
|||
# preview
|
||||
self.client.post(self.edit_chair_url, test_data)
|
||||
|
||||
hash = EditChairFormPreview().security_hash(None, EditChairForm(test_data))
|
||||
hash = EditChairFormPreview(EditChairForm).security_hash(None, EditChairForm(test_data))
|
||||
test_data.update({'hash': hash, 'stage': 2})
|
||||
|
||||
# submit
|
||||
|
@ -344,7 +344,7 @@ class NomcomViewsTest(TestCase):
|
|||
f.close()
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
nominee = Nominee.objects.get(email__person__name=COMMUNITY_USER)
|
||||
nominee = Nominee.objects.get(email__person__user__username=COMMUNITY_USER)
|
||||
position = Position.objects.get(name='OAM')
|
||||
|
||||
comments = u'Plain text. Comments with accents äöåÄÖÅ éáíóú âêîôû ü àèìòù.'
|
||||
|
@ -619,7 +619,7 @@ class NomineePositionStateSaveTest(TestCase):
|
|||
|
||||
def setUp(self):
|
||||
nomcom_test_data()
|
||||
self.nominee = Nominee.objects.get(email__person__name=COMMUNITY_USER)
|
||||
self.nominee = Nominee.objects.get(email__person__user__username=COMMUNITY_USER)
|
||||
|
||||
def test_state_autoset(self):
|
||||
"""Verify state is autoset correctly"""
|
||||
|
@ -655,7 +655,7 @@ class FeedbackTest(TestCase):
|
|||
|
||||
def test_encrypted_comments(self):
|
||||
|
||||
nominee = Nominee.objects.get(email__person__name=COMMUNITY_USER)
|
||||
nominee = Nominee.objects.get(email__person__user__username=COMMUNITY_USER)
|
||||
position = Position.objects.get(name='OAM')
|
||||
nomcom = position.nomcom
|
||||
|
||||
|
|
Loading…
Reference in a new issue