summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 13:42:24 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 13:42:24 +0200
commit490effb589ad94f2f6f520b385399864b08def91 (patch)
tree851b72f12ed027b5f09a2ac05c3ac5b5271630b4
parent68fdc62d4c2792fb7fdea90f1117cf6c6f1c5ffc (diff)
[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.
-rw-r--r--src/leap/mail/adaptors/models.py2
-rw-r--r--src/leap/mail/adaptors/tests/test_soledad_adaptor.py1
2 files changed, 2 insertions, 1 deletions
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):