def test_message_writer_unicode(self):
     from zope.sendmail.maildir import MaildirMessageWriter
     filename1 = '/path/to/maildir/tmp/1234500002.4242.myhostname'
     filename2 = '/path/to/maildir/new/1234500002.4242.myhostname'
     fd = FakeFile(filename1, 'w')
     writer = MaildirMessageWriter(fd, filename1, filename2)
     self.assertEqual(writer._fd._filename, filename1)
     self.assertEqual(writer._fd._mode, 'w')  # TODO or 'wb'?
     print(u'fe\xe8', end='', file=writer)
     writer.write(u' fi\xe8')
     writer.writelines([u' fo\xe8', u' fo\xf2'])
     self.assertEqual(writer._fd._written,
                       b'fe\xc3\xa8 fi\xc3\xa8 fo\xc3\xa8 fo\xc3\xb2')
Exemple #2
0
    def test_message_writer_and_abort(self):
        from zope.sendmail.maildir import MaildirMessageWriter
        filename1 = '/path/to/maildir/tmp/1234500002.4242.myhostname'
        filename2 = '/path/to/maildir/new/1234500002.4242.myhostname'
        fd = FakeFile(filename1, 'w')
        writer = MaildirMessageWriter(fd, filename1, filename2)
        self.assertEquals(writer._fd._filename, filename1)
        self.assertEquals(writer._fd._mode, 'w')  # TODO or 'wb'?
        print >> writer, 'fee',
        writer.write(' fie')
        writer.writelines([' foe', ' foo'])
        self.assertEquals(writer._fd._written, 'fee fie foe foo')

        writer.abort()
        self.assertEquals(writer._fd._closed, True)
        self.assert_(filename1 in self.fake_os_module._removed_files)
        # Once aborted, abort does nothing
        self.fake_os_module._removed_files = ()
        writer.abort()
        writer.abort()
        self.assertEquals(self.fake_os_module._removed_files, ())
        # Once aborted, commit fails
        self.assertRaises(RuntimeError, writer.commit)
Exemple #3
0
 def test_message_writer_commit(self):
     from zope.sendmail.maildir import MaildirMessageWriter
     filename1 = '/path/to/maildir/tmp/1234500002.4242.myhostname'
     filename2 = '/path/to/maildir/new/1234500002.4242.myhostname'
     fd = FakeFile(filename1, 'w')
     writer = MaildirMessageWriter(fd, filename1, filename2)
     writer.commit()
     self.assertEquals(writer._fd._closed, True)
     self.assert_((filename1,
                   filename2) in self.fake_os_module._renamed_files)
     # Once commited, commit does nothing
     self.fake_os_module._renamed_files = ()
     writer.commit()
     writer.commit()
     self.assertEquals(self.fake_os_module._renamed_files, ())
     # Once commited, abort does nothing
     writer.abort()
     writer.abort()
     self.assertEquals(self.fake_os_module._renamed_files, ())
    def test_message_writer_and_abort(self):
        from zope.sendmail.maildir import MaildirMessageWriter
        filename1 = '/path/to/maildir/tmp/1234500002.4242.myhostname'
        filename2 = '/path/to/maildir/new/1234500002.4242.myhostname'
        fd = FakeFile(filename1, 'w')
        writer = MaildirMessageWriter(fd, filename1, filename2)
        self.assertEqual(writer._fd._filename, filename1)
        self.assertEqual(writer._fd._mode, 'w')  # TODO or 'wb'?
        print('fee', end='', file=writer)
        writer.write(' fie')
        writer.writelines([' foe', ' foo'])
        self.assertEqual(writer._fd._written, b'fee fie foe foo')

        writer.abort()
        self.assertEqual(writer._fd._closed, True)
        self.assertTrue(filename1 in self.fake_os_module._removed_files)
        # Once aborted, abort does nothing
        self.fake_os_module._removed_files = ()
        writer.abort()
        writer.abort()
        self.assertEqual(self.fake_os_module._removed_files, ())
        # Once aborted, commit fails
        self.assertRaises(RuntimeError, writer.commit)
Exemple #5
0
 def test_message_writer_unicode(self):
     from zope.sendmail.maildir import MaildirMessageWriter
     filename1 = '/path/to/maildir/tmp/1234500002.4242.myhostname'
     filename2 = '/path/to/maildir/new/1234500002.4242.myhostname'
     fd = FakeFile(filename1, 'w')
     writer = MaildirMessageWriter(fd, filename1, filename2)
     self.assertEquals(writer._fd._filename, filename1)
     self.assertEquals(writer._fd._mode, 'w')  # TODO or 'wb'?
     print >> writer, u'fe\xe8',
     writer.write(u' fi\xe8')
     writer.writelines([u' fo\xe8', u' fo\xf2'])
     self.assertEquals(writer._fd._written,
                       'fe\xc3\xa8 fi\xc3\xa8 fo\xc3\xa8 fo\xc3\xb2')
 def test_message_writer_commit(self):
     from zope.sendmail.maildir import MaildirMessageWriter
     filename1 = '/path/to/maildir/tmp/1234500002.4242.myhostname'
     filename2 = '/path/to/maildir/new/1234500002.4242.myhostname'
     fd = FakeFile(filename1, 'w')
     writer = MaildirMessageWriter(fd, filename1, filename2)
     writer.commit()
     self.assertEqual(writer._fd._closed, True)
     self.assertTrue((filename1, filename2)
                    in self.fake_os_module._renamed_files)
     # Once commited, commit does nothing
     self.fake_os_module._renamed_files = ()
     writer.commit()
     writer.commit()
     self.assertEqual(self.fake_os_module._renamed_files, ())
     # Once commited, abort does nothing
     writer.abort()
     writer.abort()
     self.assertEqual(self.fake_os_module._renamed_files, ())