fix test_smtplib/test_smtpd collision through pre-loaded reply data in mock_socket

This commit is contained in:
Richard Jones 2010-08-04 12:27:36 +00:00
parent 62f68ed31f
commit 6a9e6bbf1a
3 changed files with 10 additions and 4 deletions

View File

@ -36,6 +36,7 @@ class MockSocket:
self.lines = []
if _reply_data:
self.lines.append(_reply_data)
_reply_data = None
self.conn = None
self.timeout = None

View File

@ -189,8 +189,8 @@ class SMTPDChannelTest(TestCase):
self.write_line(b'RCPT To:ham@example')
self.write_line(b'DATA')
self.write_line(b'data\r\n.')
self.assertEqual(self.server.messages[-1],
('peer', 'eggs@example', ['spam@example','ham@example'], 'data'))
self.assertEqual(self.server.messages,
[('peer', 'eggs@example', ['spam@example','ham@example'], 'data')])
def test_manual_status(self):
# checks that the Channel is able to return a custom status message
@ -209,8 +209,8 @@ class SMTPDChannelTest(TestCase):
self.write_line(b'RCPT To:eggs@example')
self.write_line(b'DATA')
self.write_line(b'data\r\n.')
self.assertEqual(self.server.messages[0],
('peer', 'foo@example', ['eggs@example'], 'data'))
self.assertEqual(self.server.messages,
[('peer', 'foo@example', ['eggs@example'], 'data')])
def test_RSET_syntax(self):
self.write_line(b'RSET hi')

View File

@ -64,17 +64,20 @@ class GeneralTests(unittest.TestCase):
smtp.close()
def testBasic2(self):
mock_socket.reply_with(b"220 Hola mundo")
# connects, include port in host name
smtp = smtplib.SMTP("%s:%s" % (HOST, self.port))
smtp.close()
def testLocalHostName(self):
mock_socket.reply_with(b"220 Hola mundo")
# check that supplied local_hostname is used
smtp = smtplib.SMTP(HOST, self.port, local_hostname="testhost")
self.assertEqual(smtp.local_hostname, "testhost")
smtp.close()
def testTimeoutDefault(self):
mock_socket.reply_with(b"220 Hola mundo")
self.assertTrue(mock_socket.getdefaulttimeout() is None)
mock_socket.setdefaulttimeout(30)
self.assertEqual(mock_socket.getdefaulttimeout(), 30)
@ -86,6 +89,7 @@ class GeneralTests(unittest.TestCase):
smtp.close()
def testTimeoutNone(self):
mock_socket.reply_with(b"220 Hola mundo")
self.assertTrue(socket.getdefaulttimeout() is None)
socket.setdefaulttimeout(30)
try:
@ -96,6 +100,7 @@ class GeneralTests(unittest.TestCase):
smtp.close()
def testTimeoutValue(self):
mock_socket.reply_with(b"220 Hola mundo")
smtp = smtplib.SMTP(HOST, self.port, timeout=30)
self.assertEqual(smtp.sock.gettimeout(), 30)
smtp.close()