From 490effb589ad94f2f6f520b385399864b08def91 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Tue, 11 Aug 2015 13:42:24 +0200 Subject: [bug] Fix missing _normailize_dict in DocumentWrapper constructor. In the constructor values already is normalized (i.e. with underscores), while kwargs contains items that are not normalized (i.e. with dashes). Joining the dicts resulted in two entries that only differed by dash or underscores. The setattr then set the value that occurred later in items, thereby sometimes overriding the correct value with the default one. --- src/leap/mail/adaptors/models.py | 2 +- src/leap/mail/adaptors/tests/test_soledad_adaptor.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/leap/mail/adaptors/models.py b/src/leap/mail/adaptors/models.py index 2bf9e60..49460f7 100644 --- a/src/leap/mail/adaptors/models.py +++ b/src/leap/mail/adaptors/models.py @@ -76,7 +76,7 @@ class DocumentWrapper(object): if kwargs: values = copy.deepcopy(defaults) - values.update(kwargs) + values.update(_normalize_dict(kwargs)) else: values = defaults diff --git a/src/leap/mail/adaptors/tests/test_soledad_adaptor.py b/src/leap/mail/adaptors/tests/test_soledad_adaptor.py index 0ddea30..499c2b1 100644 --- a/src/leap/mail/adaptors/tests/test_soledad_adaptor.py +++ b/src/leap/mail/adaptors/tests/test_soledad_adaptor.py @@ -342,6 +342,7 @@ class SoledadMailAdaptorTestCase(SoledadTestMixin): msg = adaptor.get_msg_from_string(TestMessageClass, msg.as_string()) self.assertEqual('base64', msg.wrapper.cdocs[1].content_transfer_encoding) + self.assertEqual('text/plain; charset="utf-8"', msg.wrapper.cdocs[1].content_type) self.assertEqual('YSB1dGY4IG1lc3NhZ2U=\n', msg.wrapper.cdocs[1].raw) def test_get_msg_from_docs(self): -- cgit v1.2.3