Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6a9e6bb

Browse files
author
Richard Jones
committed
fix test_smtplib/test_smtpd collision through pre-loaded reply data in mock_socket
1 parent 62f68ed commit 6a9e6bb

3 files changed

Lines changed: 10 additions & 4 deletions

File tree

Lib/test/mock_socket.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def __init__(self):
3636
self.lines = []
3737
if _reply_data:
3838
self.lines.append(_reply_data)
39+
_reply_data = None
3940
self.conn = None
4041
self.timeout = None
4142

Lib/test/test_smtpd.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@ def test_multiple_RCPT(self):
189189
self.write_line(b'RCPT To:ham@example')
190190
self.write_line(b'DATA')
191191
self.write_line(b'data\r\n.')
192-
self.assertEqual(self.server.messages[-1],
193-
('peer', 'eggs@example', ['spam@example','ham@example'], 'data'))
192+
self.assertEqual(self.server.messages,
193+
[('peer', 'eggs@example', ['spam@example','ham@example'], 'data')])
194194

195195
def test_manual_status(self):
196196
# checks that the Channel is able to return a custom status message
@@ -209,8 +209,8 @@ def test_RSET(self):
209209
self.write_line(b'RCPT To:eggs@example')
210210
self.write_line(b'DATA')
211211
self.write_line(b'data\r\n.')
212-
self.assertEqual(self.server.messages[0],
213-
('peer', 'foo@example', ['eggs@example'], 'data'))
212+
self.assertEqual(self.server.messages,
213+
[('peer', 'foo@example', ['eggs@example'], 'data')])
214214

215215
def test_RSET_syntax(self):
216216
self.write_line(b'RSET hi')

Lib/test/test_smtplib.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,20 @@ def testBasic1(self):
6464
smtp.close()
6565

6666
def testBasic2(self):
67+
mock_socket.reply_with(b"220 Hola mundo")
6768
# connects, include port in host name
6869
smtp = smtplib.SMTP("%s:%s" % (HOST, self.port))
6970
smtp.close()
7071

7172
def testLocalHostName(self):
73+
mock_socket.reply_with(b"220 Hola mundo")
7274
# check that supplied local_hostname is used
7375
smtp = smtplib.SMTP(HOST, self.port, local_hostname="testhost")
7476
self.assertEqual(smtp.local_hostname, "testhost")
7577
smtp.close()
7678

7779
def testTimeoutDefault(self):
80+
mock_socket.reply_with(b"220 Hola mundo")
7881
self.assertTrue(mock_socket.getdefaulttimeout() is None)
7982
mock_socket.setdefaulttimeout(30)
8083
self.assertEqual(mock_socket.getdefaulttimeout(), 30)
@@ -86,6 +89,7 @@ def testTimeoutDefault(self):
8689
smtp.close()
8790

8891
def testTimeoutNone(self):
92+
mock_socket.reply_with(b"220 Hola mundo")
8993
self.assertTrue(socket.getdefaulttimeout() is None)
9094
socket.setdefaulttimeout(30)
9195
try:
@@ -96,6 +100,7 @@ def testTimeoutNone(self):
96100
smtp.close()
97101

98102
def testTimeoutValue(self):
103+
mock_socket.reply_with(b"220 Hola mundo")
99104
smtp = smtplib.SMTP(HOST, self.port, timeout=30)
100105
self.assertEqual(smtp.sock.gettimeout(), 30)
101106
smtp.close()

0 commit comments

Comments
 (0)