Skip to content

Commit ddbb8c1

Browse files
committed
Updated the nomcom tests to use temporary test directories for data, instead of the regular values in settings.py
- Legacy-Id: 9248
1 parent f94b490 commit ddbb8c1

2 files changed

Lines changed: 42 additions & 1 deletion

File tree

ietf/nomcom/test_data.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33

44
from django.contrib.auth.models import User
55
from django.core.files import File
6+
from django.core.files.storage import FileSystemStorage
67
from django.conf import settings
78

9+
import debug # pyflakes:ignore
10+
811
from ietf.group.models import Group, ChangeStateGroupEvent
912
from ietf.nomcom.models import NomCom, Position, Nominee
1013
from ietf.person.models import Email, Person
@@ -106,6 +109,8 @@ def nomcom_test_data():
106109
global nomcom_test_cert_file
107110
if not nomcom_test_cert_file:
108111
nomcom_test_cert_file, privatekey_file = generate_cert()
112+
113+
nomcom.public_key.storage = storage=FileSystemStorage(location=settings.NOMCOM_PUBLIC_KEYS_DIR)
109114
nomcom.public_key.save('cert', File(open(nomcom_test_cert_file.name, 'r')))
110115

111116
# chair and member

ietf/nomcom/tests.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
# -*- coding: UTF-8-No-BOM -*-
22
import tempfile
33
import datetime
4+
import os
5+
import shutil
6+
from pyquery import PyQuery
47

58
from django.db import IntegrityError
9+
from django.conf import settings
610
from django.core.urlresolvers import reverse
711
from django.core.files import File
812
from django.contrib.auth.models import User
913

10-
from pyquery import PyQuery
14+
import debug # pyflakes:ignore
1115

1216
from ietf.utils.test_utils import login_testing_unauthorized, TestCase
1317
from ietf.utils.mail import outbox
@@ -46,6 +50,11 @@ def check_url_status(self, url, status):
4650
return response
4751

4852
def setUp(self):
53+
self.nomcom_public_keys_dir = os.path.abspath("tmp-nomcom-public-keys-dir")
54+
if not os.path.exists(self.nomcom_public_keys_dir):
55+
os.mkdir(self.nomcom_public_keys_dir)
56+
settings.NOMCOM_PUBLIC_KEYS_DIR = self.nomcom_public_keys_dir
57+
4958
nomcom_test_data()
5059
self.cert_file, self.privatekey_file = get_cert_files()
5160
self.year = NOMCOM_YEAR
@@ -67,6 +76,9 @@ def setUp(self):
6776
self.public_feedback_url = reverse('nomcom_public_feedback', kwargs={'year': self.year})
6877
self.public_nominate_url = reverse('nomcom_public_nominate', kwargs={'year': self.year})
6978

79+
def tearDown(self):
80+
shutil.rmtree(self.nomcom_public_keys_dir)
81+
7082
def access_member_url(self, url):
7183
login_testing_unauthorized(self, COMMUNITY_USER, url)
7284
login_testing_unauthorized(self, CHAIR_USER, url)
@@ -633,9 +645,17 @@ class NomineePositionStateSaveTest(TestCase):
633645
perma_fixtures = ['nomcom_templates']
634646

635647
def setUp(self):
648+
self.nomcom_public_keys_dir = os.path.abspath("tmp-nomcom-public-keys-dir")
649+
if not os.path.exists(self.nomcom_public_keys_dir):
650+
os.mkdir(self.nomcom_public_keys_dir)
651+
settings.NOMCOM_PUBLIC_KEYS_DIR = self.nomcom_public_keys_dir
652+
636653
nomcom_test_data()
637654
self.nominee = Nominee.objects.get(email__person__user__username=COMMUNITY_USER)
638655

656+
def tearDown(self):
657+
shutil.rmtree(self.nomcom_public_keys_dir)
658+
639659
def test_state_autoset(self):
640660
"""Verify state is autoset correctly"""
641661
position = Position.objects.get(name='APP')
@@ -665,9 +685,17 @@ class FeedbackTest(TestCase):
665685
perma_fixtures = ['nomcom_templates']
666686

667687
def setUp(self):
688+
self.nomcom_public_keys_dir = os.path.abspath("tmp-nomcom-public-keys-dir")
689+
if not os.path.exists(self.nomcom_public_keys_dir):
690+
os.mkdir(self.nomcom_public_keys_dir)
691+
settings.NOMCOM_PUBLIC_KEYS_DIR = self.nomcom_public_keys_dir
692+
668693
nomcom_test_data()
669694
self.cert_file, self.privatekey_file = get_cert_files()
670695

696+
def tearDown(self):
697+
shutil.rmtree(self.nomcom_public_keys_dir)
698+
671699
def test_encrypted_comments(self):
672700

673701
nominee = Nominee.objects.get(email__person__user__username=COMMUNITY_USER)
@@ -694,6 +722,11 @@ class ReminderTest(TestCase):
694722
perma_fixtures = ['nomcom_templates']
695723

696724
def setUp(self):
725+
self.nomcom_public_keys_dir = os.path.abspath("tmp-nomcom-public-keys-dir")
726+
if not os.path.exists(self.nomcom_public_keys_dir):
727+
os.mkdir(self.nomcom_public_keys_dir)
728+
settings.NOMCOM_PUBLIC_KEYS_DIR = self.nomcom_public_keys_dir
729+
697730
nomcom_test_data()
698731
self.nomcom = get_nomcom_by_year(NOMCOM_YEAR)
699732
self.cert_file, self.privatekey_file = get_cert_files()
@@ -732,6 +765,9 @@ def setUp(self):
732765
feedback.positions.add(gen)
733766
feedback.nominees.add(n)
734767

768+
def tearDown(self):
769+
shutil.rmtree(self.nomcom_public_keys_dir)
770+
735771
def test_is_time_to_send(self):
736772
self.nomcom.reminder_interval = 4
737773
today = datetime.date.today()

0 commit comments

Comments
 (0)