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
commite546500a17c6a8eb2c66657c12958248203c60dc (patch)
treea169c45a45974e7b37298c6114bd0c697c1c9522
parentae1a4647f0ab67953cea88eee45fc4d1eabc2dbc (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--mail/src/leap/mail/adaptors/models.py2
-rw-r--r--mail/src/leap/mail/adaptors/tests/test_soledad_adaptor.py1
2 files changed, 2 insertions, 1 deletions
diff --git a/mail/src/leap/mail/adaptors/models.py b/mail/src/leap/mail/adaptors/models.py
index 2bf9e601..49460f74 100644
--- a/mail/src/leap/mail/adaptors/models.py
+++ b/mail/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/mail/src/leap/mail/adaptors/tests/test_soledad_adaptor.py b/mail/src/leap/mail/adaptors/tests/test_soledad_adaptor.py
index 0ddea30c..499c2b18 100644
--- a/mail/src/leap/mail/adaptors/tests/test_soledad_adaptor.py
+++ b/mail/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):