Drop the group/person/role global fixtures, the fixture loader in
Django 1.6 refuses to load them because they have dangling foreign keys, and in rewriting them it turns out it is easier to do so in code - so refactor the test data generation code to have a separate function with the unchanging base data and call that from the global fixture setup - Legacy-Id: 6917
This commit is contained in:
parent
81e5ced4ee
commit
7f25469c6b
|
@ -1,12 +0,0 @@
|
|||
[
|
||||
{"pk": 1, "model": "group.group", "fields": {"charter": null, "unused_states": [], "ad": null, "parent": null, "list_email": "", "acronym": "ietf", "comments": "", "list_subscribe": "", "state": "active", "time": "2012-02-26 00:21:36", "unused_tags": [], "list_archive": "", "type": "ietf", "name": "IETF"}},
|
||||
{"pk": 2, "model": "group.group", "fields": {"charter": "charter-ietf-iesg", "unused_states": [], "ad": 5376, "parent": 1, "list_email": "iesg@ietf.org", "acronym": "iesg", "comments": "", "list_subscribe": "", "state": "active", "time": "2011-12-09 12:00:00", "unused_tags": [], "list_archive": "", "type": "ietf", "name": "Internet Engineering Steering Group"}},
|
||||
{"pk": 3, "model": "group.group", "fields": {"charter": null, "unused_states": [81, 82, 83, 84, 85, 86, 87, 88, 1, 2, 3, 4, 5, 6, 16, 13, 21, 14, 15, 19, 20, 12, 18, 9, 10, 17, 7, 22, 23, 11, 8, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 80, 77, 78], "ad": null, "parent": null, "list_email": "", "acronym": "irtf", "comments": "", "list_subscribe": "", "state": "active", "time": "2012-02-26 00:21:36", "unused_tags": ["app-min", "errata", "iesg-com", "missref", "need-sh", "ref", "rfc-rev", "via-rfc", "w-dep", "need-ed", "point", "w-expert", "ad-f-up", "w-extern", "w-part", "extpty", "w-merge", "w-review", "need-aut", "sh-f-up", "need-rev", "w-refdoc", "w-refing", "rev-wglc", "rev-ad", "rev-iesg", "sheph-u", "other"], "list_archive": "", "type": "irtf", "name": "IRTF"}},
|
||||
{"pk": 4, "model": "group.group", "fields": {"charter": null, "unused_states": [], "ad": null, "parent": null, "list_email": "", "acronym": "secretariat", "comments": "", "list_subscribe": "", "state": "active", "time": "2012-02-26 00:21:36", "unused_tags": [], "list_archive": "", "type": "ietf", "name": "IETF Secretariat"}},
|
||||
{"pk": 5, "model": "group.group", "fields": {"charter": null, "unused_states": [], "ad": null, "parent": null, "list_email": "", "acronym": "ise", "comments": "", "list_subscribe": "", "state": "active", "time": "2012-02-26 00:21:36", "unused_tags": [], "list_archive": "", "type": "ietf", "name": "Independent Submission Editor"}},
|
||||
{"pk": 6, "model": "group.group", "fields": {"charter": null, "unused_states": [], "ad": null, "parent": null, "list_email": "", "acronym": "rsoc", "comments": "", "list_subscribe": "", "state": "active", "time": "2012-02-26 00:21:36", "unused_tags": [], "list_archive": "", "type": "ietf", "name": "RFC Series Oversight Committee"}},
|
||||
{"pk": 7, "model": "group.group", "fields": {"charter": "charter-ietf-iab", "unused_states": [], "ad": 5376, "parent": 1, "list_email": "iab@iab.org", "acronym": "iab", "comments": "1st meeting at 35th IETF - Los Angeles, CA - March 1996", "list_subscribe": "", "state": "active", "time": "2011-12-09 12:00:00", "unused_tags": [], "list_archive": "", "type": "ietf", "name": "Internet Architecture Board"}},
|
||||
{"pk": 9, "model": "group.group", "fields": {"charter": null, "unused_states": [], "ad": null, "parent": null, "list_email": "", "acronym": "iepg", "comments": "", "list_subscribe": "", "state": "active", "time": "2012-02-26 00:21:36", "unused_tags": [], "list_archive": "", "type": "ietf", "name": "IEPG"}},
|
||||
{"pk": 1027, "model": "group.group", "fields": {"charter": null, "unused_states": [], "ad": 5376, "parent": 1008, "list_email": "", "acronym": "none", "comments": "This is here so that 'none' can be entered in, for example, idform.", "list_subscribe": "", "state": "active", "time": "2011-12-09 12:00:00", "unused_tags": [], "list_archive": "", "type": "individ", "name": "Individual Submissions"}}
|
||||
|
||||
]
|
|
@ -1,10 +0,0 @@
|
|||
[
|
||||
{"pk": 314, "model": "group.role", "fields": {"person": 5376, "group": 2, "name": "chair", "email": "housley@vigilsec.com"}},
|
||||
{"pk": 75, "model": "group.role", "fields": {"person": 5376, "group": 1, "name": "chair", "email": "chair@ietf.org"}},
|
||||
{"pk": 76, "model": "group.role", "fields": {"person": 12620, "group": 7, "name": "chair", "email": "Bernard_Aboba@hotmail.com"}},
|
||||
{"pk": 78, "model": "group.role", "fields": {"person": 112773, "group": 3, "name": "chair", "email": "lars@netapp.com"}},
|
||||
{"pk": 79, "model": "group.role", "fields": {"person": 14966, "group": 1, "name": "admdir", "email": "iad@ietf.org"}},
|
||||
{"pk": 80, "model": "group.role", "fields": {"person": 2853, "group": 6, "name": "chair", "email": "rsoc-chair@iab.org"}},
|
||||
{"pk": 81, "model": "group.role", "fields": {"person": 6766, "group": 5, "name": "chair", "email": "rfc-ise@rfc-editor.org"}},
|
||||
{"pk": 1614, "model": "group.role", "fields": {"person": 108757, "group": 4, "name": "secr", "email": "wlo@amsl.com"}}
|
||||
]
|
|
@ -1,45 +0,0 @@
|
|||
[
|
||||
{"pk":314, "model": "group.role", "fields": { "name": "chair", "group": 2, "person": 5376, "email": "housley@vigilsec.com"}},
|
||||
{"pk":1614, "model": "group.role", "fields": { "name": "secr", "group": 4, "person": 108757, "email": "wlo@amsl.com"}},
|
||||
{"pk":1623, "model": "group.role", "fields": { "name": "ad", "group": 1260, "person": 19177, "email": "stephen.farrell@cs.tcd.ie"}},
|
||||
{"pk":1634, "model": "group.role", "fields": { "name": "ad", "group": 1008, "person": 5376, "email": "housley@vigilsec.com"}},
|
||||
|
||||
{"pk": 5376, "model": "person.person", "fields": { "name": "Russ Housley", "time": "2012-02-26 00:04:18", "affiliation": "Vigil Security, LLC", "user": 432, "address": "", "ascii": "Russ Housley"}},
|
||||
{"pk": 6766, "model": "person.person", "fields": {"name": "Nevil Brownlee", "ascii_short": "", "time": "2012-02-26 00:04:03", "affiliation": "The University of Auckland", "user": 1464, "address": "", "ascii": "Nevil Brownlee"}},
|
||||
{"pk": 8669, "model": "person.person", "fields": {"name": "Jeff T. Johnson", "ascii_short": null, "time": "2012-02-26 00:04:37", "affiliation": "RedBack Networks", "user": null, "address": "", "ascii": "Jeff T. Johnson"}},
|
||||
{"pk": 14966, "model": "person.person", "fields": {"name": "Ray Pelletier", "ascii_short": null, "time": "2012-02-26 00:04:23", "affiliation": "", "user": 2208, "address": "", "ascii": "Ray Pelletier"}},
|
||||
{"pk": 18321, "model": "person.person", "fields": {"name": "Pete Resnick", "ascii_short": "", "time": "2012-02-26 00:04:04", "affiliation": "QTI, a Qualcomm company", "user": 2513, "address": "", "ascii": "Pete Resnick"}},
|
||||
{"pk": 19177, "model": "person.person", "fields": { "name": "Stephen Farrell", "time": "2012-02-26 00:04:11", "affiliation": "Trinity College Dublin", "user": 491, "ascii": "Stephen Farrell"}},
|
||||
{"pk": 19483, "model": "person.person", "fields": { "name": "Sean Turner", "time": "2012-02-26 00:04:11", "affiliation": "IECA", "user": 492, "ascii": "Sean Turner"}},
|
||||
{"pk": 21072, "model": "person.person", "fields": {"name": "Jari Arkko", "ascii_short": null, "time": "2012-02-26 00:04:23", "affiliation": "Ericsson", "user": 430, "address": "", "ascii": "Jari Arkko"}},
|
||||
{"pk": 21684, "model": "person.person", "fields": {"name": "Barry Leiba", "ascii_short": "", "time": "2012-02-26 00:03:53", "affiliation": "Huawei Technologies", "user": 500, "address": "", "ascii": "Barry Leiba"}},
|
||||
{"pk": 99871, "model": "person.person", "fields": { "name": "Joe Blow", "user": 99870, "address": "", "ascii": "Joe Blow"}},
|
||||
{"pk": 101568, "model": "person.person", "fields": {"name": "Ron Bonica", "ascii_short": "", "time": "2012-02-26 00:04:23", "affiliation": "Juniper Networks", "user": 507, "address": "241 West Meadowland Lane\r\nSterling, Virginia 20164-1147", "ascii": "Ron Bonica"}},
|
||||
{"pk": 102900, "model": "person.person", "fields": {"name": "Al C. Morton", "ascii_short": null, "time": "2012-02-26 00:03:52", "affiliation": "AT&T Labs", "user": 551, "address": "", "ascii": "Al C. Morton"}},
|
||||
{"pk": 105682, "model": "person.person", "fields": {"name": "Benoit Claise", "ascii_short": "", "time": "2012-02-26 00:03:53", "affiliation": "Cisco", "user": 740, "address": "", "ascii": "Benoit Claise"}},
|
||||
{"pk": 108757, "model": "person.person", "fields": {"name": "Wanda Lo", "ascii_short": null, "time": "2012-02-26 00:04:12", "affiliation": "", "user": 509, "address": "", "ascii": "Wanda Lo"}},
|
||||
{"pk": 112773, "model": "person.person", "fields": {"name": "Lars Eggert", "ascii_short": "Lars Eggert", "time": "2012-02-26 00:03:59", "affiliation": "NetApp", "user": 1575, "address": "", "ascii": "Lars Eggert"}},
|
||||
|
||||
{"pk": "chair@ietf.org", "model": "person.email", "fields": {"active": true, "person": null, "time": "2012-02-26 00:22:27"}},
|
||||
{"pk": "iab-chair@ietf.org", "model": "person.email", "fields": {"active": true, "person": null, "time": "2012-02-26 00:22:27"}},
|
||||
{"pk": "nomcom-chair@ietf.org", "model": "person.email", "fields": {"active": true, "person": null, "time": "2012-02-26 00:22:42"}},
|
||||
{"pk": "iad@ietf.org", "model": "person.email", "fields": {"active": true, "person": null, "time": "2012-02-26 00:22:27"}},
|
||||
{"pk": "acmorton@att.com", "model": "person.email", "fields": {"active": true, "person": 102900, "time": "1970-01-01 23:59:59"}},
|
||||
{"pk": "kaj@research.telcordia.com", "model": "person.email", "fields": {"active": true, "person": 3798, "time": "1970-01-01 23:59:59"}},
|
||||
{"pk": "jeff@redbacknetworks.com", "model": "person.email", "fields": {"active": true, "person": 8669, "time": "1970-01-01 23:59:59"}},
|
||||
|
||||
{"pk": 430, "model": "auth.user", "fields": {"username": "jari.arkko@ericsson.com", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-09-26 03:32:16", "groups": [], "user_permissions": [], "password": "sha1$229f8$5b7f80e3c40995887a57d4ee8ad3094e99789dc1", "email": "", "date_joined": "2010-01-15 00:39:01"}},
|
||||
{"pk": 432, "model": "auth.user", "fields": {"username": "rhousley", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-09-26 11:05:15", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2010-01-16 14:45:18"}},
|
||||
{"pk": 491, "model": "auth.user", "fields": {"username": "stephen.farrell@cs.tcd.ie", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-09-27 12:10:15", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2010-08-16 17:12:35"}},
|
||||
{"pk": 492, "model": "auth.user", "fields": {"username": "tlyu@mit.edu", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2012-04-26 14:08:12", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2010-08-16 20:15:05"}},
|
||||
{"pk": 500, "model": "auth.user", "fields": {"username": "barryleiba@computer.org", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-09-28 11:15:05", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2010-10-31 20:54:03"}},
|
||||
{"pk": 507, "model": "auth.user", "fields": {"username": "rbonica@juniper.net", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-03-14 19:50:11", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2010-12-01 09:03:30"}},
|
||||
{"pk": 509, "model": "auth.user", "fields": {"username": "wnl", "first_name": "", "last_name": "", "is_active": true, "is_superuser": true, "is_staff": true, "last_login": "2012-10-08 09:24:38", "groups": [], "user_permissions": [], "password": "sha1$e794c$18ae7fe83e0fa2a16350568818e5a9ef3a29930b", "email": "wlo@amsl.com", "date_joined": "2010-12-02 10:52:33"}},
|
||||
{"pk": 740, "model": "auth.user", "fields": {"username": "bclaise@cisco.com", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-09-27 01:07:42", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2011-09-19 08:21:30"}},
|
||||
{"pk": 1464, "model": "auth.user", "fields": {"username": "n.brownlee@auckland.ac.nz", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-09-25 20:27:21", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2012-02-22 12:14:53"}},
|
||||
{"pk": 1521, "model": "auth.user", "fields": {"username": "wlo@amsl.com", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2012-05-10 14:02:52", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2012-02-22 12:14:58"}},
|
||||
{"pk": 1575, "model": "auth.user", "fields": {"username": "lars@netapp.com", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-09-23 06:23:57", "groups": [], "user_permissions": [], "password": "", "email": "", "date_joined": "2012-02-22 12:15:08"}},
|
||||
{"pk": 2513, "model": "auth.user", "fields": {"username": "presnick@qti.qualcomm.com", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": "2013-09-28 07:42:11", "groups": [], "user_permissions": [], "password": "sha1$58c2a$eceb1b40b4adc79f53a5c04ac552db056a93bed3", "email": "presnick@qti.qualcomm.com", "date_joined": "2012-09-24 10:16:39"}},
|
||||
{"pk": 99870, "model": "auth.user", "fields": { "username": "joeblow", "is_staff": 0, "is_active": 1, "is_superuser":0}}
|
||||
|
||||
]
|
|
@ -220,7 +220,7 @@ SERVER_MODE = 'development'
|
|||
TEST_RUNNER = 'ietf.utils.test_runner.IetfTestRunner'
|
||||
|
||||
# Fixtures which will be loaded before testing starts
|
||||
GLOBAL_TEST_FIXTURES = [ 'names','groups','persons', 'roles']
|
||||
GLOBAL_TEST_FIXTURES = [ 'names','ietf.utils.test_data.make_immutable_base_data' ]
|
||||
|
||||
TEST_DIFF_FAILURE_DIR = "/tmp/test/failure/"
|
||||
|
||||
|
|
|
@ -12,7 +12,29 @@ from ietf.person.models import *
|
|||
|
||||
import debug
|
||||
|
||||
def make_test_data():
|
||||
def create_person(group, role_name, name=None, username=None, email_address=None):
|
||||
"""Add person/user/email and role."""
|
||||
if not name:
|
||||
name = group.acronym.capitalize() + " " + role_name.capitalize()
|
||||
if not username:
|
||||
username = group.acronym + "-" + role_name
|
||||
if not email_address:
|
||||
email_address = username + "@ietf.org"
|
||||
|
||||
user = User.objects.create(username=username)
|
||||
person = Person.objects.create(name=name, ascii=name, user=user)
|
||||
Alias.objects.create(name=name, person=person)
|
||||
email = Email.objects.create(address=email_address, person=person)
|
||||
Role.objects.create(group=group, name_id=role_name, person=person, email=email)
|
||||
|
||||
def create_group(**kwargs):
|
||||
return Group.objects.create(state_id="active", **kwargs)
|
||||
|
||||
def make_immutable_base_data():
|
||||
"""Some base data (groups, etc.) that doesn't need to be modified by
|
||||
tests and is thus safe to load once and for all at the start of
|
||||
all tests in a run."""
|
||||
|
||||
# telechat dates
|
||||
t = datetime.date.today()
|
||||
old = TelechatDate.objects.create(date=t - datetime.timedelta(days=14)).date
|
||||
|
@ -21,52 +43,79 @@ def make_test_data():
|
|||
date3 = TelechatDate.objects.create(date=t + datetime.timedelta(days=14 * 2)).date
|
||||
date4 = TelechatDate.objects.create(date=t + datetime.timedelta(days=14 * 3)).date
|
||||
|
||||
# groups
|
||||
secretariat, created = Group.objects.get_or_create(
|
||||
name="IETF Secretariat",
|
||||
acronym="secretariat",
|
||||
state_id="active",
|
||||
type_id="ietf",
|
||||
parent=None)
|
||||
ietf, created = Group.objects.get_or_create(
|
||||
name="IETF",
|
||||
acronym="ietf",
|
||||
state_id="active",
|
||||
type_id="ietf",
|
||||
parent=None)
|
||||
# system
|
||||
system_person = Person.objects.create(name="(System)", ascii="(System)", address="")
|
||||
Alias.objects.create(person=system_person, name=system_person.name)
|
||||
Email.objects.create(address="", person=system_person)
|
||||
|
||||
# XXX As given below, the group objects created doesn't match what's in the
|
||||
# fixtures, so if both are used, things blow up. The code below should
|
||||
# probably be updated to match what's in the fixtures, making the fixtures
|
||||
# unnecessary for a number of test cases.
|
||||
# high-level groups
|
||||
ietf = create_group(name="IETF", acronym="ietf", type_id="ietf")
|
||||
create_person(ietf, "chair")
|
||||
create_person(ietf, "iad")
|
||||
|
||||
irtf = create_group(name="IRTF", acronym="irtf", type_id="irtf")
|
||||
create_person(irtf, "chair")
|
||||
|
||||
secretariat = create_group(name="IETF Secretariat", acronym="secretariat", type_id="ietf")
|
||||
create_person(secretariat, "secr", name="Sec Retary", username="secretary")
|
||||
|
||||
iab = create_group(name="Internet Architecture Board", acronym="iab", type_id="ietf", parent=ietf)
|
||||
create_person(iab, "chair")
|
||||
|
||||
ise = create_group(name="Independent Submission Editor", acronym="ise", type_id="ietf")
|
||||
create_person(ise, "chair")
|
||||
|
||||
rsoc = create_group(name="RFC Series Oversight Committee", acronym="rsoc", type_id="ietf")
|
||||
create_person(rsoc, "chair")
|
||||
|
||||
iepg = create_group(name="IEPG", acronym="iepg", type_id="ietf")
|
||||
create_person(iepg, "chair")
|
||||
|
||||
iana = create_group(name="IANA", acronym="iana", type_id="ietf")
|
||||
create_person(iana, "auth", name="Ina Iana", username="iana", email_address="iana@ia.na")
|
||||
|
||||
rfc_editor = create_group(name="RFC Editor", acronym="rfceditor", type_id="rfcedtyp")
|
||||
create_person(rfc_editor, "auth", name="Rfc Editor", username="rfc", email_address="rfc@edit.or")
|
||||
|
||||
iesg = create_group(name="Internet Engineering Steering Group", acronym="iesg", type_id="ietf", parent=ietf)
|
||||
|
||||
individ = create_group(name="Individual submissions", acronym="none", type_id="individ")
|
||||
|
||||
# one area
|
||||
area = create_group(name="Far Future", acronym="farfut", type_id="area", parent=ietf)
|
||||
create_person(area, "ad", name="Aread Irector", username="ad", email_address="aread@ietf.org")
|
||||
|
||||
# create a bunch of ads for swarm tests
|
||||
for i in range(1, 10):
|
||||
u = User.objects.create(username="ad%s" % i)
|
||||
p = Person.objects.create(name="Ad No%s" % i, ascii="Ad No%s" % i, user=u)
|
||||
Alias.objects.create(name=p.name, person=p)
|
||||
email = Email.objects.create(address="ad%s@ietf.org" % i, person=p)
|
||||
if i < 6:
|
||||
# active
|
||||
Role.objects.create(name_id="ad", group=area, person=p, email=email)
|
||||
else:
|
||||
# inactive
|
||||
areahist = GroupHistory.objects.create(
|
||||
group=area,
|
||||
name=area.name,
|
||||
acronym=area.acronym,
|
||||
type_id=area.type_id,
|
||||
state_id=area.state_id,
|
||||
parent=area.parent
|
||||
)
|
||||
RoleHistory.objects.create(
|
||||
name_id="ad",
|
||||
group=areahist,
|
||||
person=p,
|
||||
email=email)
|
||||
|
||||
def make_test_data():
|
||||
area = Group.objects.get(acronym="farfut")
|
||||
ad = Person.objects.get(user__username="ad")
|
||||
|
||||
# irtf, created = Group.objects.get_or_create(
|
||||
# name="IRTF",
|
||||
# acronym="irtf",
|
||||
# state_id="active",
|
||||
# type_id="irtf",
|
||||
# parent=None)
|
||||
# for g,t,n,p in [("iab","ietf", "Internet Architecture Board",1), ("ise","ietf", "Independent Submission Editor", None), ("iesg","ietf", "Internet Engineering Steering Group", 1), ]:
|
||||
# Group.objects.get_or_create(
|
||||
# name=n,
|
||||
# acronym=g,
|
||||
# state_id="active",
|
||||
# type_id=t,
|
||||
# parent_id=p)
|
||||
area = Group.objects.create(
|
||||
name="Far Future",
|
||||
acronym="farfut",
|
||||
state_id="active",
|
||||
type_id="area",
|
||||
parent=ietf)
|
||||
# individ, created = Group.objects.get_or_create(
|
||||
# name="Individual submissions",
|
||||
# acronym="none",
|
||||
# state_id="active",
|
||||
# type_id="individ",
|
||||
# parent=None)
|
||||
# mars WG
|
||||
group = Group.objects.create(
|
||||
group = Group.objects.create(
|
||||
name="Martian Special Interest Group",
|
||||
acronym="mars",
|
||||
state_id="active",
|
||||
|
@ -113,40 +162,6 @@ def make_test_data():
|
|||
group.charter = charter
|
||||
group.save()
|
||||
|
||||
# persons
|
||||
|
||||
# system
|
||||
system_person, created = Person.objects.get_or_create(
|
||||
# id=0, # special value
|
||||
name="(System)",
|
||||
ascii="(System)",
|
||||
address="",
|
||||
)
|
||||
system_person.save()
|
||||
|
||||
# IANA and RFC Editor groups
|
||||
iana, created = Group.objects.get_or_create(
|
||||
name="IANA",
|
||||
acronym="iana",
|
||||
state_id="active",
|
||||
type_id="ietf",
|
||||
parent=None,
|
||||
)
|
||||
rfc_editor, created = Group.objects.get_or_create(
|
||||
name="RFC Editor",
|
||||
acronym="rfceditor",
|
||||
state_id="active",
|
||||
type_id="rfcedtyp",
|
||||
parent=None,
|
||||
)
|
||||
|
||||
# if system_person.id != 0: # work around bug in Django
|
||||
# Person.objects.filter(id=system_person.id).update(id=0)
|
||||
# system_person = Person.objects.get(id=0)
|
||||
|
||||
Alias.objects.get_or_create(person=system_person, name=system_person.name)
|
||||
Email.objects.get_or_create(address="", person=system_person)
|
||||
|
||||
# plain IETF'er
|
||||
u, created = User.objects.get_or_create(username="plain")
|
||||
plainman, created = Person.objects.get_or_create(
|
||||
|
@ -157,75 +172,9 @@ def make_test_data():
|
|||
address="plain@example.com",
|
||||
person=plainman)
|
||||
|
||||
# ad
|
||||
u = User.objects.create(username="ad")
|
||||
ad = p = Person.objects.create(
|
||||
name="Aread Irector",
|
||||
ascii="Aread Irector",
|
||||
user=u)
|
||||
email = Email.objects.create(
|
||||
address="aread@ietf.org",
|
||||
person=p)
|
||||
Role.objects.create(
|
||||
name_id="ad",
|
||||
group=area,
|
||||
person=p,
|
||||
email=email)
|
||||
|
||||
mars_wg.ad = ad
|
||||
mars_wg.save()
|
||||
|
||||
# create a bunch of ads for swarm tests
|
||||
for i in range(1, 10):
|
||||
u = User.objects.create(username="ad%s" % i)
|
||||
p = Person.objects.create(
|
||||
name="Ad No%s" % i,
|
||||
ascii="Ad No%s" % i,
|
||||
user=u)
|
||||
email = Email.objects.create(
|
||||
address="ad%s@ietf.org" % i,
|
||||
person=p)
|
||||
if i < 6:
|
||||
# active
|
||||
Role.objects.create(
|
||||
name_id="ad",
|
||||
group=area,
|
||||
person=p,
|
||||
email=email)
|
||||
else:
|
||||
areahist = GroupHistory.objects.create(
|
||||
group=area,
|
||||
name=area.name,
|
||||
acronym=area.acronym,
|
||||
type_id=area.type_id,
|
||||
state_id=area.state_id,
|
||||
parent=area.parent
|
||||
)
|
||||
RoleHistory.objects.create(
|
||||
name_id="ad",
|
||||
group=areahist,
|
||||
person=p,
|
||||
email=email)
|
||||
|
||||
# stream chairs
|
||||
for stream in ['ietf','irtf','iab','iesg']:
|
||||
u = User.objects.create( username= ("%schair"%stream) )
|
||||
p = Person.objects.create(
|
||||
name="%s chair"%stream,
|
||||
ascii="%s chair"%stream,
|
||||
user = u,
|
||||
)
|
||||
chairmail = Email.objects.create(
|
||||
address="%schair@ietf.org"%stream,
|
||||
person = p,
|
||||
)
|
||||
Role.objects.create(
|
||||
name_id = "chair",
|
||||
group = Group.objects.get(acronym=stream),
|
||||
person = p,
|
||||
email = chairmail,
|
||||
)
|
||||
|
||||
# group chair
|
||||
u = User.objects.create(username="marschairman")
|
||||
p = Person.objects.create(
|
||||
|
@ -260,73 +209,6 @@ def make_test_data():
|
|||
email=email,
|
||||
)
|
||||
|
||||
# secretary
|
||||
u = User.objects.create(username="secretary")
|
||||
p = Person.objects.create(
|
||||
name="Sec Retary",
|
||||
ascii="Sec Retary",
|
||||
user=u)
|
||||
email = Email.objects.create(
|
||||
address="sec.retary@ietf.org",
|
||||
person=p)
|
||||
Role.objects.create(
|
||||
name_id="secr",
|
||||
group=secretariat,
|
||||
person=p,
|
||||
email=email,
|
||||
)
|
||||
|
||||
# IANA user
|
||||
u = User.objects.create(username="iana")
|
||||
p = Person.objects.create(
|
||||
name="Ina Iana",
|
||||
ascii="Ina Iana",
|
||||
user=u)
|
||||
Alias.objects.create(
|
||||
name=p.name,
|
||||
person=p)
|
||||
email = Email.objects.create(
|
||||
address="iana@ia.na",
|
||||
person=p)
|
||||
Role.objects.create(
|
||||
name_id="auth",
|
||||
group=iana,
|
||||
email=email,
|
||||
person=p,
|
||||
)
|
||||
|
||||
# RFC Editor user
|
||||
u = User.objects.create(username="rfc")
|
||||
p = Person.objects.create(
|
||||
name="Rfc Editor",
|
||||
ascii="Rfc Editor",
|
||||
user=u)
|
||||
email = Email.objects.create(
|
||||
address="rfc@edit.or",
|
||||
person=p)
|
||||
Role.objects.create(
|
||||
name_id="auth",
|
||||
group=rfc_editor,
|
||||
email=email,
|
||||
person=p,
|
||||
)
|
||||
|
||||
# Secretariat user
|
||||
u, created = User.objects.get_or_create(id=509, username="wnl")
|
||||
p, created = Person.objects.get_or_create(
|
||||
name="Wanda Lo",
|
||||
ascii="Wanda Lo",
|
||||
user=u)
|
||||
email, created = Email.objects.get_or_create(
|
||||
address="wnl@amsl.com",
|
||||
person=p)
|
||||
Role.objects.get_or_create(
|
||||
name_id="auth",
|
||||
group=secretariat,
|
||||
email=email,
|
||||
person=p,
|
||||
)
|
||||
|
||||
# draft
|
||||
draft = Document.objects.create(
|
||||
name="draft-ietf-mars-test",
|
||||
|
|
Loading…
Reference in a new issue