summaryrefslogtreecommitdiff
path: root/src/leap/email/smtp/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/email/smtp/tests')
-rw-r--r--src/leap/email/smtp/tests/__init__.py4
-rw-r--r--src/leap/email/smtp/tests/test_smtprelay.py61
2 files changed, 33 insertions, 32 deletions
diff --git a/src/leap/email/smtp/tests/__init__.py b/src/leap/email/smtp/tests/__init__.py
index ef5fd062..022968e1 100644
--- a/src/leap/email/smtp/tests/__init__.py
+++ b/src/leap/email/smtp/tests/__init__.py
@@ -5,6 +5,7 @@ from leap.email.smtp.smtprelay import GPGWrapper
from twisted.trial import unittest
from leap.testing.basetest import BaseLeapTest
+
class OpenPGPTestCase(unittest.TestCase, BaseLeapTest):
def setUp(self):
@@ -24,7 +25,7 @@ class OpenPGPTestCase(unittest.TestCase, BaseLeapTest):
os.mkdir(self.gnupg_home)
self.email = 'leap@leap.se'
self._gpg = GPGWrapper(gpghome=self.gnupg_home)
-
+
self.assertEqual(self._gpg.import_keys(PUBLIC_KEY).summary(),
'1 imported', "error importing public key")
self.assertEqual(self._gpg.import_keys(PRIVATE_KEY).summary(),
@@ -48,7 +49,6 @@ class OpenPGPTestCase(unittest.TestCase, BaseLeapTest):
self.assertNotEqual(text, encrypted, "failed encrypting text")
decrypted = str(self._gpg.decrypt(encrypted))
self.assertEqual(text, decrypted, "failed decrypting text")
-
# Key material for testing
diff --git a/src/leap/email/smtp/tests/test_smtprelay.py b/src/leap/email/smtp/tests/test_smtprelay.py
index 54aa6dea..109e253b 100644
--- a/src/leap/email/smtp/tests/test_smtprelay.py
+++ b/src/leap/email/smtp/tests/test_smtprelay.py
@@ -11,47 +11,50 @@ from twisted.mail.smtp import User
# some regexps
-IP_REGEX = "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])";
-HOSTNAME_REGEX = "(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])";
+IP_REGEX = "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}" + \
+ "([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])"
+HOSTNAME_REGEX = "(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*" + \
+ "([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])"
IP_OR_HOST_REGEX = '(' + IP_REGEX + '|' + HOSTNAME_REGEX + ')'
-class TestSmtpRelay(tests.OpenPGPTestCase):
-
- EMAIL_DATA = [ 'HELO relay.leap.se',
- 'MAIL FROM: <user@leap.se>',
- 'RCPT TO: <leap@leap.se>',
- 'DATA',
- 'From: User <user@leap.se>',
- 'To: Leap <leap@leap.se>',
- 'Date: ' + datetime.now().strftime('%c'),
- 'Subject: test message',
- '',
- 'This is a secret message.',
- 'Yours,',
- 'A.',
- '',
- '.',
- 'QUIT' ]
+class TestSmtpRelay(tests.OpenPGPTestCase):
+ EMAIL_DATA = ['HELO relay.leap.se',
+ 'MAIL FROM: <user@leap.se>',
+ 'RCPT TO: <leap@leap.se>',
+ 'DATA',
+ 'From: User <user@leap.se>',
+ 'To: Leap <leap@leap.se>',
+ 'Date: ' + datetime.now().strftime('%c'),
+ 'Subject: test message',
+ '',
+ 'This is a secret message.',
+ 'Yours,',
+ 'A.',
+ '',
+ '.',
+ 'QUIT']
def assertMatch(self, string, pattern, msg=None):
if not re.match(pattern, string):
msg = self._formatMessage(msg, '"%s" does not match pattern "%s".'
- % (string, pattern))
+ % (string, pattern))
raise self.failureException(msg)
-
def test_relay_accepts_valid_email(self):
"""
Test if SMTP server responds correctly for valid interaction.
"""
- SMTP_ANSWERS = [ '220 ' + IP_OR_HOST_REGEX + ' NO UCE NO UBE NO RELAY PROBES',
- '250 ' + IP_OR_HOST_REGEX + ' Hello ' + IP_OR_HOST_REGEX + ', nice to meet you',
- '250 Sender address accepted',
- '250 Recipient address accepted',
- '354 Continue' ]
- proto = SMTPFactory(self._gpg).buildProtocol(('127.0.0.1',0))
+
+ SMTP_ANSWERS = ['220 ' + IP_OR_HOST_REGEX +
+ ' NO UCE NO UBE NO RELAY PROBES',
+ '250 ' + IP_OR_HOST_REGEX + ' Hello ' +
+ IP_OR_HOST_REGEX + ', nice to meet you',
+ '250 Sender address accepted',
+ '250 Recipient address accepted',
+ '354 Continue']
+ proto = SMTPFactory(self._gpg).buildProtocol(('127.0.0.1', 0))
transport = proto_helpers.StringTransport()
proto.makeConnection(transport)
for i, line in enumerate(self.EMAIL_DATA):
@@ -60,9 +63,8 @@ class TestSmtpRelay(tests.OpenPGPTestCase):
'\r\n'.join(SMTP_ANSWERS[0:i+1]))
proto.setTimeout(None)
-
def test_message_encrypt(self):
- proto = SMTPFactory(self._gpg).buildProtocol(('127.0.0.1',0))
+ proto = SMTPFactory(self._gpg).buildProtocol(('127.0.0.1', 0))
user = User('leap@leap.se', 'relay.leap.se', proto, 'leap@leap.se')
m = EncryptedMessage(user, self._gpg)
for line in self.EMAIL_DATA[4:12]:
@@ -71,4 +73,3 @@ class TestSmtpRelay(tests.OpenPGPTestCase):
m.encrypt()
decrypted = str(self._gpg.decrypt(m.cyphertext))
self.assertEqual('\n'.join(self.EMAIL_DATA[9:12]), decrypted)
-