Updated the nomcom tests to use temporary test directories for data, instead of the regular values in settings.py

- Legacy-Id: 9248
This commit is contained in:
Henrik Levkowetz 2015-03-19 17:52:31 +00:00
parent f94b49036a
commit ddbb8c18a5
2 changed files with 42 additions and 1 deletions

View file

@ -3,8 +3,11 @@ import os
from django.contrib.auth.models import User
from django.core.files import File
from django.core.files.storage import FileSystemStorage
from django.conf import settings
import debug # pyflakes:ignore
from ietf.group.models import Group, ChangeStateGroupEvent
from ietf.nomcom.models import NomCom, Position, Nominee
from ietf.person.models import Email, Person
@ -106,6 +109,8 @@ def nomcom_test_data():
global nomcom_test_cert_file
if not nomcom_test_cert_file:
nomcom_test_cert_file, privatekey_file = generate_cert()
nomcom.public_key.storage = storage=FileSystemStorage(location=settings.NOMCOM_PUBLIC_KEYS_DIR)
nomcom.public_key.save('cert', File(open(nomcom_test_cert_file.name, 'r')))
# chair and member

View file

@ -1,13 +1,17 @@
# -*- coding: UTF-8-No-BOM -*-
import tempfile
import datetime
import os
import shutil
from pyquery import PyQuery
from django.db import IntegrityError
from django.conf import settings
from django.core.urlresolvers import reverse
from django.core.files import File
from django.contrib.auth.models import User
from pyquery import PyQuery
import debug # pyflakes:ignore
from ietf.utils.test_utils import login_testing_unauthorized, TestCase
from ietf.utils.mail import outbox
@ -46,6 +50,11 @@ class NomcomViewsTest(TestCase):
return response
def setUp(self):
self.nomcom_public_keys_dir = os.path.abspath("tmp-nomcom-public-keys-dir")
if not os.path.exists(self.nomcom_public_keys_dir):
os.mkdir(self.nomcom_public_keys_dir)
settings.NOMCOM_PUBLIC_KEYS_DIR = self.nomcom_public_keys_dir
nomcom_test_data()
self.cert_file, self.privatekey_file = get_cert_files()
self.year = NOMCOM_YEAR
@ -67,6 +76,9 @@ class NomcomViewsTest(TestCase):
self.public_feedback_url = reverse('nomcom_public_feedback', kwargs={'year': self.year})
self.public_nominate_url = reverse('nomcom_public_nominate', kwargs={'year': self.year})
def tearDown(self):
shutil.rmtree(self.nomcom_public_keys_dir)
def access_member_url(self, url):
login_testing_unauthorized(self, COMMUNITY_USER, url)
login_testing_unauthorized(self, CHAIR_USER, url)
@ -633,9 +645,17 @@ class NomineePositionStateSaveTest(TestCase):
perma_fixtures = ['nomcom_templates']
def setUp(self):
self.nomcom_public_keys_dir = os.path.abspath("tmp-nomcom-public-keys-dir")
if not os.path.exists(self.nomcom_public_keys_dir):
os.mkdir(self.nomcom_public_keys_dir)
settings.NOMCOM_PUBLIC_KEYS_DIR = self.nomcom_public_keys_dir
nomcom_test_data()
self.nominee = Nominee.objects.get(email__person__user__username=COMMUNITY_USER)
def tearDown(self):
shutil.rmtree(self.nomcom_public_keys_dir)
def test_state_autoset(self):
"""Verify state is autoset correctly"""
position = Position.objects.get(name='APP')
@ -665,9 +685,17 @@ class FeedbackTest(TestCase):
perma_fixtures = ['nomcom_templates']
def setUp(self):
self.nomcom_public_keys_dir = os.path.abspath("tmp-nomcom-public-keys-dir")
if not os.path.exists(self.nomcom_public_keys_dir):
os.mkdir(self.nomcom_public_keys_dir)
settings.NOMCOM_PUBLIC_KEYS_DIR = self.nomcom_public_keys_dir
nomcom_test_data()
self.cert_file, self.privatekey_file = get_cert_files()
def tearDown(self):
shutil.rmtree(self.nomcom_public_keys_dir)
def test_encrypted_comments(self):
nominee = Nominee.objects.get(email__person__user__username=COMMUNITY_USER)
@ -694,6 +722,11 @@ class ReminderTest(TestCase):
perma_fixtures = ['nomcom_templates']
def setUp(self):
self.nomcom_public_keys_dir = os.path.abspath("tmp-nomcom-public-keys-dir")
if not os.path.exists(self.nomcom_public_keys_dir):
os.mkdir(self.nomcom_public_keys_dir)
settings.NOMCOM_PUBLIC_KEYS_DIR = self.nomcom_public_keys_dir
nomcom_test_data()
self.nomcom = get_nomcom_by_year(NOMCOM_YEAR)
self.cert_file, self.privatekey_file = get_cert_files()
@ -732,6 +765,9 @@ class ReminderTest(TestCase):
feedback.positions.add(gen)
feedback.nominees.add(n)
def tearDown(self):
shutil.rmtree(self.nomcom_public_keys_dir)
def test_is_time_to_send(self):
self.nomcom.reminder_interval = 4
today = datetime.date.today()