Пример #1
0
 def setUp(self):
     self.tnx = Transaction(None)
Пример #2
0
class TransactionTestCase(TestCase):

    def setUp(self):
        self.tnx = Transaction(None)

    def test_add_recipient_as_string(self):
        address = Address('*****@*****.**')
        self.tnx.add_recipient('*****@*****.**')
        self.assertEqual(address, self.tnx.recipients[0])

    def test_add_recipient_as_address(self):
        address = Address('*****@*****.**')
        self.tnx.add_recipient(address)
        self.assertEqual(address, self.tnx.recipients[0])

    def test_remove_recipient_as_string(self):
        address = Address('*****@*****.**')
        self.tnx.add_recipient(address)

        self.tnx.remove_recipient('*****@*****.**')
        self.assertEqual(self.tnx.recipients, [])

    def test_remove_recipient_as_address(self):
        address = Address('*****@*****.**')
        self.tnx.add_recipient(address)

        self.tnx.remove_recipient(address)
        self.assertEqual(self.tnx.recipients, [])

    def test_setting_sender_as_string(self):
        address = Address('*****@*****.**')
        self.tnx.sender = '*****@*****.**'
        self.assertEqual(self.tnx.sender, address)

    def test_setting_sender_as_address(self):
        address = Address('*****@*****.**')
        self.tnx.sender = address
        self.assertEqual(self.tnx.sender, address)

    def test_body_flush(self):
        self.tnx.body.write('Subject: blah blah\r\n')
        self.tnx.body.write('From: John Smith <*****@*****.**>\r\n')
        self.tnx.body.write('To: Joe Bloggs <*****@*****.**>\r\n')
        self.tnx.body.write('Date: Fri, 25 Mar 2011 13:35:33 -0000\r\n')
        self.tnx.body.write('\r\n')
        self.tnx.body.write('This is testing writing an email\r\n')
        old_tell = self.tnx.body.tell()

        self.tnx.flush()
        self.assertNotEqual(self.tnx.body_filename, None)
        self.assertEqual(old_tell, self.tnx.body.tell())

    def test_body_flush_twice(self):
        self.tnx.body.write('Subject: blah blah\r\n')
        self.tnx.body.write('From: John Smith <*****@*****.**>\r\n')
        self.tnx.body.write('To: Joe Bloggs <*****@*****.**>\r\n')
        self.tnx.body.write('Date: Fri, 25 Mar 2011 13:35:33 -0000\r\n')
        self.tnx.body.write('\r\n')
        self.tnx.body.write('This is testing writing an email\r\n')
        self.tnx.flush()
        self.assertNotEqual(self.tnx.body_filename, None)

        filename = self.tnx.body_filename
        self.tnx.flush()
        self.assertEqual(self.tnx.body_filename, filename)

    def test_body_write(self):
        msg = """Subject: blah blah
From: John Smith <*****@*****.**>
To: Joe Bloggs <*****@*****.**>
Date: Fri, 25 Mar 2011 13:35:33 -0000

This is testing writing an email"""
        self.tnx.body.write(msg)
        self.assertEqual(self.tnx.body.name, None)
        self.assertEqual(self.tnx.body.getvalue(), msg)

    def test_body_write_flush(self):
        self.assertEqual(self.tnx.body.name, None)
        self.tnx.body.write(' ' * (1024 * 512))
        self.assertNotEqual(self.tnx.body.name, None)

    def test_end_headers(self):
        self.tnx.body.write('Subject: blah blah\r\n')
        self.tnx.body.write('From: John Smith <*****@*****.**>\r\n')
        self.tnx.body.write('To: Joe Bloggs <*****@*****.**>\r\n')
        self.tnx.body.write('Date: Fri, 25 Mar 2011 13:35:33 -0000\r\n')
        self.tnx.body.write('\r\n')
        self.tnx.end_headers()
        self.assertTrue(self.tnx.body.body_start > 0)
        self.assertEqual(self.tnx.body.body_start, 132)

    def test_body_property(self):
        self.assertNotEqual(self.tnx.body, None)

    def test_body_filename_flush(self):
        self.assertNotEqual(self.tnx.body_filename, None)

    def test_connection_property(self):
        self.assertEqual(self.tnx.connection, self.tnx._connection)

    def test_body_insert_header(self):
        self.tnx.body.write('Subject: blah blah\r\n')
        self.tnx.body.write('From: John Smith <*****@*****.**>\r\n')
        self.tnx.body.write('To: Joe Bloggs <*****@*****.**>\r\n')
        self.tnx.body.write('Date: Fri, 25 Mar 2011 13:35:33 -0000\r\n')
        self.tnx.body.write('\r\n')
        self.tnx.end_headers()

        self.tnx.headers.insert_header(0, 'Received', 'By me')
        self.assertTrue(self.tnx.headers.has_key('Received'))
        self.assertEqual(self.tnx.headers.keys()[0], 'Received')

        self.tnx.headers.insert_header(5, 'X-Test', 'vsmtpd')
        self.assertTrue(self.tnx.headers.has_key('X-Test'))
        self.assertEqual(self.tnx.headers.keys()[5], 'X-Test')

    def tearDown(self):
        self.tnx.close()