]> granicus.if.org Git - python/commitdiff
fix test_smtplib/test_smtpd collision through pre-loaded reply data in mock_socket
authorRichard Jones <richard@commonground.com.au>
Wed, 4 Aug 2010 12:27:36 +0000 (12:27 +0000)
committerRichard Jones <richard@commonground.com.au>
Wed, 4 Aug 2010 12:27:36 +0000 (12:27 +0000)
Lib/test/mock_socket.py
Lib/test/test_smtpd.py
Lib/test/test_smtplib.py

index 1512642d0c2852f533a51f6883c55b3c02e2a55a..803693283b3a627913d80615089d099156a50b41 100644 (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
 
index 04cac9a8c66e7d5c6555f25d6ee9d1521c2b474b..9d168c7604c21625971720d8ad5d58f9010db0dc 100644 (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')
index 57faf6ef0b95f42094614f8ea9d287a0abbdd2f2..831f2d78650faf936156c10d4280ca264ec8320c 100644 (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()