Beispiel #1
0
 def test_simple_utf8_file(self):
     mail = email.message_from_binary_file(
         open('tests/static/mail/utf8.eml', 'rb'),
         _class=email.message.EmailMessage)
     actual = utils.extract_body(mail)
     expected = "Liebe Grüße!\n"
     self.assertEqual(actual, expected)
Beispiel #2
0
    def test_prefer_html(self):
        expected = (
            '<!DOCTYPE html><html><body>This is an html email</body></html>')
        mail = self._make_mixed_plain_html()
        actual = utils.extract_body(mail)

        self.assertEqual(actual, expected)
Beispiel #3
0
    def test_types_provided(self):
        # This should not return html, even though html is set to preferred
        # since a types variable is passed
        expected = 'This is an email'
        mail = self._make_mixed_plain_html()
        actual = utils.extract_body(mail, types=['text/plain'])

        self.assertEqual(actual, expected)
Beispiel #4
0
    def test_single_text_plain(self):
        mail = email.mime.text.MIMEText('This is an email')
        self._set_basic_headers(mail)
        actual = utils.extract_body(mail)

        expected = 'This is an email'

        self.assertEqual(actual, expected)
Beispiel #5
0
    def test_single_text_plain(self):
        mail = EmailMessage()
        self._set_basic_headers(mail)
        mail.set_content('This is an email')
        actual = utils.extract_body(mail)

        expected = 'This is an email\n'

        self.assertEqual(actual, expected)
Beispiel #6
0
    def test_text_plain_with_attachment_text(self):
        mail = EmailMessage()
        self._set_basic_headers(mail)
        mail.set_content('This is an email')
        mail.add_attachment('this shouldnt be displayed')

        actual = utils.extract_body(mail)
        expected = 'This is an email\n'

        self.assertEqual(actual, expected)
Beispiel #7
0
    def test_two_text_plain(self):
        mail = email.mime.multipart.MIMEMultipart()
        self._set_basic_headers(mail)
        mail.attach(email.mime.text.MIMEText('This is an email'))
        mail.attach(email.mime.text.MIMEText('This is a second part'))

        actual = utils.extract_body(mail)
        expected = 'This is an email\n\nThis is a second part'

        self.assertEqual(actual, expected)
Beispiel #8
0
    def test_text_plain_and_other(self):
        mail = email.mime.multipart.MIMEMultipart()
        self._set_basic_headers(mail)
        mail.attach(email.mime.text.MIMEText('This is an email'))
        mail.attach(email.mime.application.MIMEApplication(b'1'))

        actual = utils.extract_body(mail)
        expected = 'This is an email'

        self.assertEqual(actual, expected)
Beispiel #9
0
    def test_require_mailcap_file(self):
        mail = email.mime.multipart.MIMEMultipart()
        self._set_basic_headers(mail)
        mail.attach(email.mime.text.MIMEText(
            '<!DOCTYPE html><html><body>This is an html email</body></html>',
            'html'))
        actual = utils.extract_body(mail)
        expected = (
            '<!DOCTYPE html><html><body>This is an html email</body></html>')

        self.assertEqual(actual, expected)
Beispiel #10
0
    def test_text_plain_with_attachment_text(self):
        mail = email.mime.multipart.MIMEMultipart()
        self._set_basic_headers(mail)
        mail.attach(email.mime.text.MIMEText('This is an email'))
        attachment = email.mime.text.MIMEText('this shouldnt be displayed')
        attachment['Content-Disposition'] = 'attachment'
        mail.attach(attachment)

        actual = utils.extract_body(mail)
        expected = 'This is an email'

        self.assertEqual(actual, expected)
Beispiel #11
0
    def test_plaintext_mailcap(self):
        expected = 'This was an email\n'
        mail = self._make_mixed_plain_html()
        actual = utils.extract_body(mail)

        self.assertEqual(actual, expected)
Beispiel #12
0
    def test_prefer_html_only(self):
        expected = '<!DOCTYPE html><html><body>This is an html email</body></html>\n'
        mail = self._make_html_only()
        actual = utils.extract_body(mail)

        self.assertEqual(actual, expected)
Beispiel #13
0
    def test_prefer_plaintext(self):
        expected = 'This is an email'
        mail = self._make_mixed_plain_html()
        actual = utils.extract_body(mail)

        self.assertEqual(actual, expected)