Make extra sure Django's setup test environment is run.
authorDiane Trout <diane@caltech.edu>
Wed, 28 Nov 2012 19:19:58 +0000 (11:19 -0800)
committerDiane Trout <diane@caltech.edu>
Wed, 28 Nov 2012 19:19:58 +0000 (11:19 -0800)
When running under unit2 discover, the mail test was using
a real mail server as it didn't know to run Django's
setup_test_environment. This rather heavy handedly runs
the django setup/teardown functions for the TestEmailNotify module.

htsworkflow/frontend/experiments/test_experiments.py

index 631fb1b6ab8ca1fde67246f97f6a3c2836346970..8eb998343b7409350554a169c5a9cbc1748b96f6 100644 (file)
@@ -14,6 +14,7 @@ from django.conf import settings
 from django.core import mail
 from django.core.exceptions import ObjectDoesNotExist
 from django.test import TestCase
+from django.test.utils import setup_test_environment, teardown_test_environment
 from htsworkflow.frontend.experiments import models
 from htsworkflow.frontend.experiments import experiments
 from htsworkflow.frontend.auth import apidata
@@ -536,6 +537,17 @@ class TestFileType(TestCase):
 class TestEmailNotify(TestCase):
     fixtures = ['test_flowcells.json']
 
+    @classmethod
+    def setUpClass(self):
+        # isolate django mail when running under unittest2
+        setup_test_environment()
+
+    @classmethod
+    def tearDownClass(self):
+        # isolate django mail when running under unittest2
+        teardown_test_environment()
+
+
     def test_started_email_not_logged_in(self):
         response = self.client.get('/experiments/started/153/')
         self.assertEqual(response.status_code, 302)