This commit is contained in:
Serghei Mihai 2016-09-02 11:07:18 +02:00
parent 63852abd34
commit 19e04b00b4
2 changed files with 11 additions and 5 deletions

View File

@ -38,9 +38,9 @@ def parse_header(header_text):
def parse_attachment(data):
if data.get('Content-type').startswith('multipart/'):
if data.get('Content-type', '').startswith('multipart/'):
return None
if data.get('Content-type').startswith('text/plain') and not (
if data.get('Content-type', '').startswith('text/plain') and not (
data.get('Content-Disposition', '').startswith('attachment')):
return None
file_data = data.get_payload(decode=True)

View File

@ -21,7 +21,9 @@ def test_parsing_subjects(dump):
assert subject
assert isinstance(subject, unicode)
assert subject in (u'Pour paiement immédiat', u'Facture Infopole à régler',
u'Тест на русском', u'test', u'Un ticket à tester')
u'Тест на русском', u'test', u'Un ticket à tester',
u'[Fwd: A nouveau du code reçu]',
u'[Châteauroux] Pas de visu des demandes à traiter pour un utilisateur donné')
@pytest.mark.parametrize('mail_dump', ('mail_dumps/3515ed61-bb12-4f41-ac25-81d468d2c80f.mail',
'mail_dumps/711d5ffc-b153-46e1-ba21-30c6a1b45444.mail'))
@ -36,7 +38,7 @@ def test_parsing_attachments(mail_dump):
assert 'filename' in attachment
assert isinstance(attachment['filename'], unicode)
attachments.append(attachment)
assert len(attachments) == 1
assert attachments
@pytest.mark.parametrize('message', ('mail_dumps/1461591292.25165_17.dor-lomin_2.mail',))
def test_mail_with_two_attachments(message):
@ -69,6 +71,10 @@ def test_ticket_creation(mocked_redmine, mocked_sendmail, dump):
issue = mock.Mock()
user = mock.Mock()
user.filter.return_value = [mock.Mock(login='foo@example.com')]
user.id.return_value = 42
member = mock.Mock(user=user, roles=mock.Mock(get=lambda r: True))
membership = mock.Mock(filter=lambda project_id: [member])
issue.create.return_value = mock.Mock(id='3', url='ticket 3 url')
mocked_redmine.return_value = mock.Mock(issue=issue, user=user)
mocked_redmine.return_value = mock.Mock(issue=issue, user=user,
project_membership=membership)
mail2redmine.create_ticket(dump.read())