def test_connect(self, mock_imaplib): mock_conn = Mock(spec=imaplib.IMAP4) mock_imaplib.IMAP4_SSL.return_value = mock_conn mock_conn.login.return_value = ('OK', []) mock_conn.capability.return_value = ('OK', ["A B C"]) from tinymail.imap_worker import ImapWorker worker = ImapWorker() worker.connect('test_host', 'test_login', 'test_pass') mock_imaplib.IMAP4_SSL.assert_called_once_with('test_host') mock_conn.login.assert_called_once_with('test_login', 'test_pass') self.assertEqual(worker.capabilities, ["A", "B", "C"])
def worker_with_fake_imap(): from tinymail.imap_worker import ImapWorker, ConnectionErrorWrapper worker = ImapWorker() imap_conn = Mock(spec=imaplib.IMAP4) worker.conn = ConnectionErrorWrapper(imap_conn) return worker, imap_conn