Ejemplo n.º 1
0
class TestMaxSizeImapTransport(TestImapTransport):

    @override_settings(DJANGO_MAILBOX_MAX_MESSAGE_SIZE=5807)
    def setUp(self):
        super(TestMaxSizeImapTransport, self).setUp()

        self.transport = ImapTransport(
            self.arbitrary_hostname,
            self.arbitrary_port,
            self.ssl,
        )
        self.transport.server = self.imap_server

    def test_size_limit(self):
        all_message_ids = self.transport._get_all_message_ids()
        small_message_ids = self.transport._get_small_message_ids(
            all_message_ids,
        )
        self.assertEqual(len(small_message_ids), 1)

    def test_get_email_message(self):
        actual_messages = list(self.transport.get_message())
        self.assertEqual(len(actual_messages), 1)
        actual_message = actual_messages[0]
        expected_message = self._get_email_object('generic_message.eml')
        self.assertEqual(expected_message, actual_message)
Ejemplo n.º 2
0
 def setUp(self):
     self.arbitrary_hostname = 'one.two.three'
     self.arbitrary_port = 100
     self.ssl = False
     self.transport = ImapTransport(self.arbitrary_hostname,
                                    self.arbitrary_port, self.ssl)
     self.transport.server = None
     super(TestImapTransport, self).setUp()
Ejemplo n.º 3
0
    def setUp(self):
        super(TestMaxSizeImapTransport, self).setUp()

        self.transport = ImapTransport(
            self.arbitrary_hostname,
            self.arbitrary_port,
            self.ssl,
        )
        self.transport.server = self.imap_server
Ejemplo n.º 4
0
class TestImapTransport(EmailMessageTestCase):
    def setUp(self):
        self.arbitrary_hostname = 'one.two.three'
        self.arbitrary_port = 100
        self.ssl = False
        self.transport = ImapTransport(self.arbitrary_hostname,
                                       self.arbitrary_port, self.ssl)
        self.transport.server = None
        super(TestImapTransport, self).setUp()

    def test_get_email_message(self):
        with mock.patch.object(self.transport, 'server') as server:
            server.search.return_value = (
                'OK',
                [
                    'One',  # This is totally arbitrary
                ])
            server.fetch.return_value = (
                'OK',
                [
                    [
                        '1 (RFC822 {8190}',  # Wat?
                        self._get_email_as_text('generic_message.eml')
                    ],
                    ')',
                ])

            actual_messages = list(self.transport.get_message())

        self.assertEqual(len(actual_messages), 1)

        actual_message = actual_messages[0]
        expected_message = self._get_email_object('generic_message.eml')

        self.assertEqual(expected_message, actual_message)
Ejemplo n.º 5
0
 def setUp(self):
     super(TestImapArchivedTransport, self).setUp()
     self.archive = 'Archive'
     self.transport = ImapTransport(self.arbitrary_hostname,
                                    self.arbitrary_port, self.ssl,
                                    self.archive)
     self.transport.server = self.imap_server
Ejemplo n.º 6
0
 def setUp(self):
     super(TestImapTransport, self).setUp()
     self.arbitrary_hostname = "one.two.three"
     self.arbitrary_port = 100
     self.ssl = False
     self.transport = ImapTransport(self.arbitrary_hostname, self.arbitrary_port, self.ssl)
     self.transport.server = self.imap_server
Ejemplo n.º 7
0
    def setUp(self):
        super(TestMaxSizeImapTransport, self).setUp()

        self.transport = ImapTransport(
            self.arbitrary_hostname,
            self.arbitrary_port,
            self.ssl,
        )
        self.transport.server = self.imap_server
Ejemplo n.º 8
0
class TestImapTransport(EmailMessageTestCase):
    def setUp(self):
        self.arbitrary_hostname = 'one.two.three'
        self.arbitrary_port = 100
        self.ssl = False
        self.archive = 'Archive'
        self.transport = ImapTransport(
            self.arbitrary_hostname,
            self.arbitrary_port,
            self.ssl,
            self.archive
        )
        self.transport.server = None
        super(TestImapTransport, self).setUp()

    def test_get_email_message(self):
        with mock.patch.object(self.transport, 'server') as server:
            server.search.return_value = (
                'OK',
                [
                    'One',  # This is totally arbitrary
                ]
            )
            server.fetch.return_value = (
                'OK',
                [
                    [
                        '1 (RFC822 {8190}',  # Wat?
                        self._get_email_as_text('generic_message.eml')
                    ],
                    ')',
                ]
            )
            server.list.return_value = (
                'OK',
                [
                    '(\\HasNoChildren) "/" "Archive"'
                ]
            )
            server.copy.return_value = (
                'OK',
                [
                    '[COPYUID 1 2 2] (Success)'
                ]
            )
            actual_messages = list(self.transport.get_message())

        self.assertEqual(len(actual_messages), 1)

        actual_message = actual_messages[0]
        expected_message = self._get_email_object('generic_message.eml')

        self.assertEqual(expected_message, actual_message)
Ejemplo n.º 9
0
 def setUp(self):
     self.arbitrary_hostname = 'one.two.three'
     self.arbitrary_port = 100
     self.ssl = False
     self.archive = 'Archive'
     self.transport = ImapTransport(
         self.arbitrary_hostname,
         self.arbitrary_port,
         self.ssl,
         self.archive
     )
     self.transport.server = None
     super(TestImapTransport, self).setUp()
Ejemplo n.º 10
0
class TestMaxSizeImapTransport(TestImapTransport):
    @override_settings(DJANGO_MAILBOX_MAX_MESSAGE_SIZE=5807)
    def setUp(self):
        super(TestMaxSizeImapTransport, self).setUp()

        self.transport = ImapTransport(
            self.arbitrary_hostname,
            self.arbitrary_port,
            self.ssl,
        )
        self.transport.server = self.imap_server

    def test_size_limit(self):
        all_message_ids = self.transport._get_all_message_ids()
        small_message_ids = self.transport._get_small_message_ids(
            all_message_ids)
        self.assertEqual(len(small_message_ids), 1)

    def test_get_email_message(self):
        actual_messages = list(self.transport.get_message())
        self.assertEqual(len(actual_messages), 1)
        actual_message = actual_messages[0]
        expected_message = self._get_email_object('generic_message.eml')
        self.assertEqual(expected_message, actual_message)
Ejemplo n.º 11
0
class TestImapTransport(IMAPTestCase):
    def setUp(self):
        super(TestImapTransport, self).setUp()
        self.arbitrary_hostname = "one.two.three"
        self.arbitrary_port = 100
        self.ssl = False
        self.transport = ImapTransport(self.arbitrary_hostname, self.arbitrary_port, self.ssl)
        self.transport.server = self.imap_server

    def test_get_email_message(self):
        actual_messages = list(self.transport.get_message())
        self.assertEqual(len(actual_messages), 27)
        actual_message = actual_messages[0]
        expected_message = self._get_email_object("generic_message.eml")
        self.assertEqual(expected_message, actual_message)
Ejemplo n.º 12
0
class TestImapTransport(IMAPTestCase):
    def setUp(self):
        super(TestImapTransport, self).setUp()
        self.arbitrary_hostname = 'one.two.three'
        self.arbitrary_port = 100
        self.ssl = False
        self.transport = ImapTransport(self.arbitrary_hostname,
                                       self.arbitrary_port, self.ssl)
        self.transport.server = self.imap_server

    def test_get_email_message(self):
        actual_messages = list(self.transport.get_message())
        self.assertEqual(len(actual_messages), 27)
        actual_message = actual_messages[0]
        expected_message = self._get_email_object('generic_message.eml')
        self.assertEqual(expected_message, actual_message)
Ejemplo n.º 13
0
    def get_connection(self):
        """Returns the transport instance for this mailbox.

        These will always be instances of
        `django_mailbox.transports.base.EmailTransport`.

        """
        if not self.uri:
            return None
        elif self.type == 'imap':
            conn = ImapTransport(
                self.location,
                port=self.port if self.port else None,
                ssl=self.use_ssl,
                tls=self.use_tls,
                archive=self.archive,
                folder=self.folder
            )
            conn.connect(self.username, self.password)
        elif self.type == 'gmail':
            conn = GmailImapTransport(
                self.location,
                port=self.port if self.port else None,
                ssl=True,
                archive=self.archive
            )
            conn.connect(self.username, self.password)
        elif self.type == 'pop3':
            conn = Pop3Transport(
                self.location,
                port=self.port if self.port else None,
                ssl=self.use_ssl
            )
            conn.connect(self.username, self.password)
        elif self.type == 'maildir':
            conn = MaildirTransport(self.location)
        elif self.type == 'mbox':
            conn = MboxTransport(self.location)
        elif self.type == 'babyl':
            conn = BabylTransport(self.location)
        elif self.type == 'mh':
            conn = MHTransport(self.location)
        elif self.type == 'mmdf':
            conn = MMDFTransport(self.location)
        return conn
Ejemplo n.º 14
0
 def get_connection(self):
     if not self.uri:
         return None
     elif self.type == 'imap':
         conn = ImapTransport(
             self.location,
             port=self.port if self.port else None,
             ssl=self.use_ssl
         )
         conn.connect(self.username, self.password)
     elif self.type == 'pop3':
         conn = Pop3Transport(
             self.location,
             port=self.port if self.port else None,
             ssl=self.use_ssl
         )
         conn.connect(self.username, self.password)
     elif self.type == 'maildir':
         conn = MaildirTransport(self.location)
     elif self.type == 'mbox':
         conn = MboxTransport(self.location)
     elif self.type == 'babyl':
         conn = BabylTransport(self.location)
     elif self.type == 'mh':
         conn = MHTransport(self.location)
     elif self.type == 'mmdf':
         conn = MMDFTransport(self.location)
     return conn