1
0
Fork 0

Skip integration tests if there are missing environment variables.

This should allow Pull Requests to properly run all non-integration tests.

Squashed commit of the following:

commit a03e2a6592234e089d1fe9adc360b1e33a0c4b57
Author: Adam Coddington <me@adamcoddington.net>
Date:   Tue Jul 21 22:57:27 2015 -0700

    Removing a dummy empty variable.

commit cd5964ab59
Author: Adam Coddington <me@adamcoddington.net>
Date:   Tue Jul 21 22:52:52 2015 -0700

    Removing unused import.

commit 39b67b8562
Author: Adam Coddington <me@adamcoddington.net>
Date:   Tue Jul 21 22:52:35 2015 -0700

    Use TestCase.skipTest.

commit 63d6dad73e
Author: Adam Coddington <me@adamcoddington.net>
Date:   Tue Jul 21 22:44:16 2015 -0700

    Testing something out to make sure integration tests will fail.

commit 51f0cf44bf
Author: Adam Coddington <me@adamcoddington.net>
Date:   Tue Jul 21 22:38:50 2015 -0700

    Adding unittest2 to requirements so we can skip tests on Python 2.6.

commit 3cc035f58b
Author: Adam Coddington <me@adamcoddington.net>
Date:   Tue Jul 21 20:56:04 2015 -0700

    Try skipping integration tests if not all environment variables are available.
This commit is contained in:
Adam Coddington 2015-07-21 22:57:41 -07:00
parent 498f38c461
commit f706cacd27
3 changed files with 22 additions and 4 deletions

View file

@ -40,9 +40,9 @@ class EmailMessageTestCase(TestCase):
self.mailbox = Mailbox.objects.create(from_email='from@example.com')
self.test_account = os.environ['EMAIL_ACCOUNT']
self.test_password = os.environ['EMAIL_PASSWORD']
self.test_smtp_server = os.environ['EMAIL_SMTP_SERVER']
self.test_account = os.environ.get('EMAIL_ACCOUNT')
self.test_password = os.environ.get('EMAIL_PASSWORD')
self.test_smtp_server = os.environ.get('EMAIL_SMTP_SERVER')
self.test_from_email = 'nobody@nowhere.com'
self.maximum_wait_seconds = 60 * 5

View file

@ -15,9 +15,26 @@ __all__ = ['TestImap']
class TestImap(EmailMessageTestCase):
def setUp(self):
super(TestImap, self).setUp()
self.test_imap_server = (
os.environ['EMAIL_IMAP_SERVER']
os.environ.get('EMAIL_IMAP_SERVER')
)
required_settings = [
self.test_imap_server,
self.test_account,
self.test_password,
self.test_smtp_server,
self.test_from_email,
]
if not all(required_settings):
self.skipTest(
"Integration tests are not available without having "
"the the following environment variables set: "
"EMAIL_ACCOUNT, EMAIL_PASSWORD, EMAIL_SMTP_SERVER, "
"EMAIL_IMAP_SERVER."
)
self.mailbox = Mailbox.objects.create(
name='Integration Test Imap',
uri=self.get_connection_string()

View file

@ -5,6 +5,7 @@ from django_mailbox import __version__ as version_string
tests_require = [
'django',
'mock',
'unittest2',
]
gmail_oauth2_require = [