#!/usr/bin/env python import unittest from test import test_support import imaplib class ImapTest(unittest.TestCase): testServer = 'cyrus.andrew.cmu.edu' remotePort = 143 remoteUser = 'anonymous' remotePass = 'pass' def setUp(self): self.server = imaplib.IMAP4(self.testServer, self.remotePort) def tearDown(self): rs = self.server.logout() self.assertEqual (rs[0], 'BYE') def test_logincapa(self): self.assertTrue ('LOGINDISABLED' in self.server.capabilities) def test_anonlogin(self): self.assertTrue ('AUTH=ANONYMOUS' in self.server.capabilities) rs = self.server.login(self.remoteUser, self.remotePass) self.assertEqual(rs[0], 'OK') class ImapStartTlsTest(ImapTest): def setUp(self): self.server = imaplib.IMAP4(self.testServer, self.remotePort) rs = self.server.starttls() self.assertEqual(rs[0], 'OK') def test_logincapa(self): self.assertFalse ('LOGINDISABLED' in self.server.capabilities) self.assertTrue ('AUTH=PLAIN' in self.server.capabilities) class ImapSSLTest(ImapStartTlsTest): remotePort = 993 def setUp(self): self.server = imaplib.IMAP4_SSL(self.testServer, self.remotePort) def test_main(): test_support.requires("network") test_support.run_unittest(ImapTest, ImapStartTlsTest, ImapSSLTest ) if __name__ == "__main__": test_main()